From d6749a06860026b21037393ca06f8e1b63e6af4f Mon Sep 17 00:00:00 2001 From: vedhavyas Date: Wed, 16 Oct 2024 11:23:36 +0530 Subject: [PATCH 01/12] uplift to stable2407 --- Cargo.lock | 3467 ++++++++--------- Cargo.toml | 310 +- .../src/parachain/fake_runtime_api.rs | 4 + bin/collator/src/parachain/service.rs | 3 +- bin/collator/src/parachain/shell_upgrade.rs | 2 +- chain-extensions/pallet-assets/src/mock.rs | 1 + pallets/vesting-mbm/src/tests.rs | 12 +- pallets/xc-asset-config/src/tests.rs | 3 +- runtime/astar/Cargo.toml | 6 +- runtime/astar/src/lib.rs | 11 +- runtime/local/src/lib.rs | 19 +- runtime/shibuya/Cargo.toml | 6 +- runtime/shibuya/src/lib.rs | 25 +- runtime/shiden/Cargo.toml | 6 +- runtime/shiden/src/lib.rs | 11 +- tests/integration/Cargo.toml | 4 +- tests/xcm-simulator/src/mocks/parachain.rs | 1 + 17 files changed, 1832 insertions(+), 2059 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2f873d0f1..d75f85be6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -78,7 +78,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", - "getrandom 0.2.15", + "getrandom", "once_cell", "version_check", "zerocopy", @@ -218,18 +218,6 @@ dependencies = [ "ark-std", ] -[[package]] -name = "ark-bls12-377-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20c7021f180a0cbea0380eba97c2af3c57074cdaffe0eef7e840e1c9f2841e55" -dependencies = [ - "ark-bls12-377", - "ark-ec", - "ark-models-ext", - "ark-std", -] - [[package]] name = "ark-bls12-381" version = "0.4.0" @@ -242,45 +230,6 @@ dependencies = [ "ark-std", ] -[[package]] -name = "ark-bls12-381-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1dc4b3d08f19e8ec06e949712f95b8361e43f1391d94f65e4234df03480631c" -dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ff", - "ark-models-ext", - "ark-serialize", - "ark-std", -] - -[[package]] -name = "ark-bw6-761" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e0605daf0cc5aa2034b78d008aaf159f56901d92a52ee4f6ecdfdac4f426700" -dependencies = [ - "ark-bls12-377", - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-bw6-761-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccee5fba47266f460067588ee1bf070a9c760bf2050c1c509982c5719aadb4f2" -dependencies = [ - "ark-bw6-761", - "ark-ec", - "ark-ff", - "ark-models-ext", - "ark-std", -] - [[package]] name = "ark-ec" version = "0.4.2" @@ -295,60 +244,9 @@ dependencies = [ "hashbrown 0.13.2", "itertools 0.10.5", "num-traits", - "rayon", "zeroize", ] -[[package]] -name = "ark-ed-on-bls12-377" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10d901b9ac4b38f9c32beacedfadcdd64e46f8d7f8e88c1ae1060022cf6f6c6" -dependencies = [ - "ark-bls12-377", - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-ed-on-bls12-377-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524a4fb7540df2e1a8c2e67a83ba1d1e6c3947f4f9342cc2359fc2e789ad731d" -dependencies = [ - "ark-ec", - "ark-ed-on-bls12-377", - "ark-ff", - "ark-models-ext", - "ark-std", -] - -[[package]] -name = "ark-ed-on-bls12-381-bandersnatch" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cde0f2aa063a2a5c28d39b47761aa102bda7c13c84fc118a61b87c7b2f785c" -dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-ed-on-bls12-381-bandersnatch-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d15185f1acb49a07ff8cbe5f11a1adc5a93b19e211e325d826ae98e98e124346" -dependencies = [ - "ark-ec", - "ark-ed-on-bls12-381-bandersnatch", - "ark-ff", - "ark-models-ext", - "ark-std", -] - [[package]] name = "ark-ff" version = "0.4.2" @@ -392,19 +290,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "ark-models-ext" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e9eab5d4b5ff2f228b763d38442adc9b084b0a465409b059fac5c2308835ec2" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", - "derivative", -] - [[package]] name = "ark-poly" version = "0.4.2" @@ -418,35 +303,6 @@ dependencies = [ "hashbrown 0.13.2", ] -[[package]] -name = "ark-scale" -version = "0.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f69c00b3b529be29528a6f2fd5fa7b1790f8bed81b9cdca17e326538545a179" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", - "parity-scale-codec", - "scale-info", -] - -[[package]] -name = "ark-secret-scalar" -version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-serialize", - "ark-std", - "ark-transcript 0.0.2 (git+https://github.com/w3f/ring-vrf?rev=e9782f9)", - "digest 0.10.7", - "getrandom_or_panic", - "zeroize", -] - [[package]] name = "ark-serialize" version = "0.4.2" @@ -477,34 +333,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" dependencies = [ "num-traits", - "rand 0.8.5", - "rayon", -] - -[[package]] -name = "ark-transcript" -version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" -dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", - "digest 0.10.7", - "rand_core 0.6.4", - "sha3", -] - -[[package]] -name = "ark-transcript" -version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf#0fef8266d851932ad25d6b41bc4b34d834d1e11d" -dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", - "digest 0.10.7", - "rand_core 0.6.4", - "sha3", + "rand", ] [[package]] @@ -540,8 +369,24 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" dependencies = [ - "asn1-rs-derive", - "asn1-rs-impl", + "asn1-rs-derive 0.4.0", + "asn1-rs-impl 0.1.0", + "displaydoc", + "nom", + "num-traits", + "rusticata-macros", + "thiserror", + "time", +] + +[[package]] +name = "asn1-rs" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5493c3bedbacf7fd7382c6346bbd66687d12bbaad3a89a2d2c303ee6cf20b048" +dependencies = [ + "asn1-rs-derive 0.5.1", + "asn1-rs-impl 0.2.0", "displaydoc", "nom", "num-traits", @@ -562,6 +407,18 @@ dependencies = [ "synstructure 0.12.6", ] +[[package]] +name = "asn1-rs-derive" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", + "synstructure 0.13.1", +] + [[package]] name = "asn1-rs-impl" version = "0.1.0" @@ -573,6 +430,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "asn1-rs-impl" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "assert_matches" version = "1.5.0" @@ -692,7 +560,7 @@ dependencies = [ "sp-offchain", "sp-runtime", "sp-session", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-timestamp", "sp-transaction-pool", "sp-trie", @@ -733,7 +601,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -835,9 +703,9 @@ dependencies = [ "sp-io", "sp-offchain", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", "sp-session", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-transaction-pool", "sp-version", "staging-parachain-info", @@ -845,7 +713,7 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", - "xcm-fee-payment-runtime-api", + "xcm-runtime-apis", ] [[package]] @@ -879,7 +747,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -905,7 +773,7 @@ dependencies = [ "concurrent-queue", "event-listener-strategy", "futures-core", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -989,7 +857,7 @@ checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ "event-listener 5.3.1", "event-listener-strategy", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -1076,7 +944,7 @@ dependencies = [ "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -1091,6 +959,17 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" +[[package]] +name = "attohttpc" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d9a9bf8b79a749ee0b911b91b671cc2b6c670bdbc7e3dfd537576ddc94bb2a2" +dependencies = [ + "http 0.2.12", + "log", + "url", +] + [[package]] name = "atty" version = "0.2.14" @@ -1134,29 +1013,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "bandersnatch_vrfs" -version = "0.0.4" -source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" -dependencies = [ - "ark-bls12-381", - "ark-ec", - "ark-ed-on-bls12-381-bandersnatch", - "ark-ff", - "ark-serialize", - "ark-std", - "dleq_vrf", - "fflonk", - "merlin", - "rand_chacha 0.3.1", - "rand_core 0.6.4", - "ring 0.1.0", - "sha2 0.10.8", - "sp-ark-bls12-381", - "sp-ark-ed-on-bls12-381-bandersnatch", - "zeroize", -] - [[package]] name = "base-x" version = "0.2.11" @@ -1210,8 +1066,8 @@ dependencies = [ [[package]] name = "binary-merkle-tree" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "hash-db", "log", @@ -1423,8 +1279,8 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub-router" -version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.14.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "scale-info", @@ -1591,6 +1447,12 @@ dependencies = [ "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cexpr" version = "0.6.0" @@ -1679,7 +1541,7 @@ dependencies = [ "multibase", "multihash 0.17.0", "serde", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] @@ -1692,7 +1554,7 @@ dependencies = [ "multibase", "multihash 0.18.1", "serde", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] @@ -1815,7 +1677,7 @@ dependencies = [ "hmac 0.12.1", "once_cell", "pbkdf2 0.12.2", - "rand 0.8.5", + "rand", "sha2 0.10.8", "thiserror", ] @@ -1867,21 +1729,6 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "common" -version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof#31658d1f5b88e106c969557c36c821aff46b2236" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "fflonk", - "getrandom_or_panic", - "rand_core 0.6.4", -] - [[package]] name = "common-path" version = "1.0.0" @@ -1944,7 +1791,7 @@ version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" dependencies = [ - "getrandom 0.2.15", + "getrandom", "once_cell", "tiny-keccak", ] @@ -2195,7 +2042,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array 0.14.7", - "rand_core 0.6.4", + "rand_core", "subtle 2.6.1", "zeroize", ] @@ -2207,7 +2054,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array 0.14.7", - "rand_core 0.6.4", + "rand_core", "typenum", ] @@ -2242,8 +2089,8 @@ dependencies = [ [[package]] name = "cumulus-client-cli" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "clap", "parity-scale-codec", @@ -2259,8 +2106,8 @@ dependencies = [ [[package]] name = "cumulus-client-collator" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -2282,8 +2129,8 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "cumulus-client-collator", @@ -2295,6 +2142,7 @@ dependencies = [ "cumulus-relay-chain-interface", "futures 0.3.30", "parity-scale-codec", + "parking_lot 0.12.3", "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-overseer", @@ -2305,6 +2153,7 @@ dependencies = [ "sc-consensus-babe", "sc-consensus-slots", "sc-telemetry", + "sc-utils", "schnellru", "sp-api", "sp-application-crypto", @@ -2319,13 +2168,14 @@ dependencies = [ "sp-state-machine", "sp-timestamp", "substrate-prometheus-endpoint", + "tokio", "tracing", ] [[package]] name = "cumulus-client-consensus-common" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2347,14 +2197,15 @@ dependencies = [ "sp-runtime", "sp-timestamp", "sp-trie", + "sp-version", "substrate-prometheus-endpoint", "tracing", ] [[package]] name = "cumulus-client-consensus-proposer" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.15.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "anyhow", "async-trait", @@ -2368,8 +2219,8 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -2391,8 +2242,8 @@ dependencies = [ [[package]] name = "cumulus-client-network" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2401,21 +2252,24 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "polkadot-node-primitives", + "polkadot-node-subsystem", "polkadot-parachain-primitives", "polkadot-primitives", "sc-client-api", + "sp-api", "sp-blockchain", "sp-consensus", "sp-core", "sp-runtime", "sp-state-machine", + "sp-version", "tracing", ] [[package]] name = "cumulus-client-parachain-inherent" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.11.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2424,22 +2278,20 @@ dependencies = [ "cumulus-test-relay-sproof-builder", "parity-scale-codec", "sc-client-api", - "scale-info", "sp-api", "sp-crypto-hashing", "sp-inherents", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-trie", "tracing", ] [[package]] name = "cumulus-client-pov-recovery" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2451,19 +2303,21 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-overseer", "polkadot-primitives", - "rand 0.8.5", + "rand", "sc-client-api", "sc-consensus", + "sp-api", "sp-consensus", "sp-maybe-compressed-blob", "sp-runtime", + "sp-version", "tracing", ] [[package]] name = "cumulus-client-service" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -2499,8 +2353,8 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -2512,13 +2366,12 @@ dependencies = [ "sp-application-crypto", "sp-consensus-aura", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "cumulus-pallet-parachain-system" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.16.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -2538,12 +2391,12 @@ dependencies = [ "polkadot-runtime-parachains", "scale-info", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-inherents", "sp-io", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-trie", "sp-version", "staging-xcm", @@ -2554,7 +2407,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -2564,8 +2417,8 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2574,14 +2427,13 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "staging-xcm", ] [[package]] name = "cumulus-pallet-xcmp-queue" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.16.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bounded-collections", "bp-xcm-bridge-hub-router", @@ -2598,7 +2450,6 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -2606,8 +2457,8 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.15.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2615,13 +2466,12 @@ dependencies = [ "sp-api", "sp-consensus-aura", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "cumulus-primitives-core" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.15.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2630,15 +2480,14 @@ dependencies = [ "scale-info", "sp-api", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-trie", "staging-xcm", ] [[package]] name = "cumulus-primitives-parachain-inherent" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.15.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2648,24 +2497,23 @@ dependencies = [ "sp-inherents", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-trie", ] [[package]] name = "cumulus-primitives-proof-size-hostfunction" -version = "0.2.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.10.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", + "sp-runtime-interface", "sp-trie", ] [[package]] name = "cumulus-primitives-utility" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.16.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2676,7 +2524,6 @@ dependencies = [ "polkadot-runtime-parachains", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -2684,8 +2531,8 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2708,8 +2555,8 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2721,13 +2568,14 @@ dependencies = [ "sp-api", "sp-blockchain", "sp-state-machine", + "sp-version", "thiserror", ] [[package]] name = "cumulus-relay-chain-minimal-node" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "async-trait", @@ -2735,15 +2583,8 @@ dependencies = [ "cumulus-relay-chain-interface", "cumulus-relay-chain-rpc-interface", "futures 0.3.30", - "parking_lot 0.12.3", - "polkadot-availability-recovery", - "polkadot-collator-protocol", "polkadot-core-primitives", "polkadot-network-bridge", - "polkadot-node-collation-generation", - "polkadot-node-core-chain-api", - "polkadot-node-core-prospective-parachains", - "polkadot-node-core-runtime-api", "polkadot-node-network-protocol", "polkadot-node-subsystem-util", "polkadot-overseer", @@ -2768,8 +2609,8 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.17.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2781,7 +2622,7 @@ dependencies = [ "parity-scale-codec", "pin-project", "polkadot-overseer", - "rand 0.8.5", + "rand", "sc-client-api", "sc-rpc-api", "sc-service", @@ -2796,7 +2637,7 @@ dependencies = [ "sp-core", "sp-runtime", "sp-state-machine", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-version", "thiserror", "tokio", @@ -2807,31 +2648,17 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.15.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", "polkadot-primitives", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-trie", ] -[[package]] -name = "curve25519-dalek" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "subtle 2.6.1", - "zeroize", -] - [[package]] name = "curve25519-dalek" version = "4.1.3" @@ -2867,7 +2694,7 @@ checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8" dependencies = [ "byteorder", "digest 0.9.0", - "rand_core 0.6.4", + "rand_core", "subtle-ng", "zeroize", ] @@ -2922,7 +2749,7 @@ version = "0.1.0" dependencies = [ "astar-primitives", "sp-api", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -2980,7 +2807,21 @@ version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" dependencies = [ - "asn1-rs", + "asn1-rs 0.5.2", + "displaydoc", + "nom", + "num-bigint", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "der-parser" +version = "9.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cd0a5c643689626bec213c4d8bd4d96acc8ffdb4ad4bb6bc16abf27d5f4b553" +dependencies = [ + "asn1-rs 0.6.2", "displaydoc", "nom", "num-bigint", @@ -3113,28 +2954,12 @@ dependencies = [ [[package]] name = "displaydoc" version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.77", -] - -[[package]] -name = "dleq_vrf" -version = "0.0.2" -source = "git+https://github.com/w3f/ring-vrf?rev=e9782f9#e9782f938629c90f3adb3fff2358bc8d1386af3e" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-scale", - "ark-secret-scalar", - "ark-serialize", - "ark-std", - "ark-transcript 0.0.2 (git+https://github.com/w3f/ring-vrf?rev=e9782f9)", - "arrayvec 0.7.6", - "zeroize", +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", ] [[package]] @@ -3226,19 +3051,10 @@ dependencies = [ "elliptic-curve", "rfc6979", "serdect", - "signature 2.2.0", + "signature", "spki", ] -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature 1.6.4", -] - [[package]] name = "ed25519" version = "2.2.3" @@ -3246,21 +3062,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "115531babc129696a58c64a4fef0a8bf9e9698629fb97e9e40767d235cfbcd53" dependencies = [ "pkcs8", - "signature 2.2.0", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek 3.2.0", - "ed25519 1.5.3", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", + "signature", ] [[package]] @@ -3269,9 +3071,9 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a3daa8e81a3963a60642bcc1f90a670680bd4a77535faa384e9d1c79d620871" dependencies = [ - "curve25519-dalek 4.1.3", - "ed25519 2.2.3", - "rand_core 0.6.4", + "curve25519-dalek", + "ed25519", + "rand_core", "serde", "sha2 0.10.8", "subtle 2.6.1", @@ -3284,11 +3086,11 @@ version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d9ce6874da5d4415896cd45ffbc4d1cfc0c4f9c079427bd870742c30f2f65a9" dependencies = [ - "curve25519-dalek 4.1.3", - "ed25519 2.2.3", + "curve25519-dalek", + "ed25519", "hashbrown 0.14.5", "hex", - "rand_core 0.6.4", + "rand_core", "sha2 0.10.8", "zeroize", ] @@ -3312,7 +3114,7 @@ dependencies = [ "generic-array 0.14.7", "group", "pkcs8", - "rand_core 0.6.4", + "rand_core", "sec1", "serdect", "subtle 2.6.1", @@ -3345,7 +3147,7 @@ dependencies = [ "hex", "k256", "log", - "rand 0.8.5", + "rand", "rlp", "serde", "sha3", @@ -3467,7 +3269,7 @@ dependencies = [ "hex", "hmac 0.12.1", "pbkdf2 0.11.0", - "rand 0.8.5", + "rand", "scrypt", "serde", "serde_json", @@ -3644,7 +3446,7 @@ dependencies = [ "num_enum 0.7.3", "once_cell", "open-fastrlp", - "rand 0.8.5", + "rand", "rlp", "serde", "serde_json", @@ -3699,7 +3501,7 @@ dependencies = [ "futures-timer", "futures-util", "hashers", - "http", + "http 0.2.12", "instant", "jsonwebtoken", "once_cell", @@ -3731,7 +3533,7 @@ dependencies = [ "elliptic-curve", "eth-keystore", "ethers-core", - "rand 0.8.5", + "rand", "sha2 0.10.8", "thiserror", "tracing", @@ -3751,7 +3553,7 @@ checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" dependencies = [ "concurrent-queue", "parking", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -3762,7 +3564,7 @@ checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -3772,7 +3574,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ "event-listener 5.3.1", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -3844,7 +3646,7 @@ dependencies = [ "evm-gasometer", "evm-runtime", "parity-scale-codec", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", ] [[package]] @@ -3941,7 +3743,7 @@ dependencies = [ [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "async-trait", "fp-storage", @@ -3953,7 +3755,7 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "async-trait", "fp-consensus", @@ -3969,7 +3771,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "async-trait", "fc-api", @@ -3990,7 +3792,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fc-db", "fc-storage", @@ -4011,7 +3813,7 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -4031,7 +3833,7 @@ dependencies = [ "pallet-evm", "parity-scale-codec", "prometheus", - "rand 0.8.5", + "rand", "rlp", "sc-client-api", "sc-consensus-aura", @@ -4050,12 +3852,12 @@ dependencies = [ "sp-consensus", "sp-consensus-aura", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-inherents", "sp-io", "sp-runtime", "sp-state-machine", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-timestamp", "substrate-prometheus-endpoint", "thiserror", @@ -4065,7 +3867,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -4080,7 +3882,7 @@ dependencies = [ [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -4091,7 +3893,7 @@ dependencies = [ "sp-api", "sp-io", "sp-runtime", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", ] [[package]] @@ -4110,23 +3912,10 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" dependencies = [ - "rand_core 0.6.4", + "rand_core", "subtle 2.6.1", ] -[[package]] -name = "fflonk" -version = "0.1.0" -source = "git+https://github.com/w3f/fflonk#1e854f35e9a65d08b11a86291405cdc95baa0a35" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "merlin", -] - [[package]] name = "fiat-crypto" version = "0.2.9" @@ -4188,7 +3977,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835c052cb0c08c1acf6ffd71c022172e18723949c8282f2b9f27efbc51e64534" dependencies = [ "byteorder", - "rand 0.8.5", + "rand", "rustc-hex", "static_assertions", ] @@ -4199,17 +3988,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flate2" -version = "1.0.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" -dependencies = [ - "crc32fast", - "libz-sys", - "miniz_oxide", -] - [[package]] name = "float-cmp" version = "0.9.0" @@ -4225,6 +4003,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" + [[package]] name = "foreign-types" version = "0.3.2" @@ -4242,8 +4026,8 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" -version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", ] @@ -4270,7 +4054,7 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "hex", "impl-serde", @@ -4282,13 +4066,14 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", + "staging-xcm", ] [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "parity-scale-codec", @@ -4299,7 +4084,7 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -4311,7 +4096,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "evm", "frame-support", @@ -4326,7 +4111,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -4342,7 +4127,7 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "frame-support", "parity-scale-codec", @@ -4354,7 +4139,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "parity-scale-codec", "serde", @@ -4368,8 +4153,8 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-support-procedural", @@ -4385,16 +4170,15 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", + "sp-storage", "static_assertions", ] [[package]] name = "frame-benchmarking-cli" -version = "32.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "42.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "Inflector", "array-bytes", @@ -4411,7 +4195,7 @@ dependencies = [ "linked-hash-map", "log", "parity-scale-codec", - "rand 0.8.5", + "rand", "rand_pcg", "sc-block-builder", "sc-chain-spec", @@ -4427,24 +4211,24 @@ dependencies = [ "sp-blockchain", "sp-core", "sp-database", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-genesis-builder", "sp-inherents", "sp-io", "sp-keystore", "sp-runtime", "sp-state-machine", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-trie", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-wasm-interface", "thiserror", "thousands", ] [[package]] name = "frame-election-provider-solution-type" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "14.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -4454,8 +4238,8 @@ dependencies = [ [[package]] name = "frame-election-provider-support" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -4466,13 +4250,12 @@ dependencies = [ "sp-core", "sp-npos-elections", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "frame-executive" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "aquamarine", "frame-support", @@ -4484,8 +4267,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", ] [[package]] @@ -4502,8 +4284,8 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.5.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "docify", @@ -4517,8 +4299,8 @@ dependencies = [ [[package]] name = "frame-support" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "aquamarine", "array-bytes", @@ -4541,7 +4323,7 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-crypto-hashing-proc-macro", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-debug-derive", "sp-genesis-builder", "sp-inherents", "sp-io", @@ -4549,8 +4331,8 @@ dependencies = [ "sp-runtime", "sp-staking", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", + "sp-tracing", "sp-weights", "static_assertions", "tt-call", @@ -4558,8 +4340,8 @@ dependencies = [ [[package]] name = "frame-support-procedural" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "30.0.4" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "Inflector", "cfg-expr", @@ -4568,7 +4350,7 @@ dependencies = [ "frame-support-procedural-tools", "itertools 0.11.0", "macro_magic", - "proc-macro-warning", + "proc-macro-warning 1.0.2", "proc-macro2", "quote", "sp-crypto-hashing", @@ -4577,8 +4359,8 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" -version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.2.0", @@ -4589,8 +4371,8 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "proc-macro2", "quote", @@ -4599,8 +4381,8 @@ dependencies = [ [[package]] name = "frame-system" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "cfg-if", "docify", @@ -4612,15 +4394,15 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-version", "sp-weights", ] [[package]] name = "frame-system-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -4629,28 +4411,27 @@ dependencies = [ "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "frame-system-rpc-runtime-api" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ + "docify", "parity-scale-codec", "sp-api", ] [[package]] name = "frame-try-runtime" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "parity-scale-codec", "sp-api", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -4709,6 +4490,16 @@ dependencies = [ "futures-util", ] +[[package]] +name = "futures-bounded" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b07bbbe7d7e78809544c6f718d875627addc73a7c3582447abc052cd3dc67e0" +dependencies = [ + "futures-timer", + "futures-util", +] + [[package]] name = "futures-channel" version = "0.3.30" @@ -4754,7 +4545,7 @@ dependencies = [ "futures-io", "memchr", "parking", - "pin-project-lite 0.2.14", + "pin-project-lite", "waker-fn", ] @@ -4768,7 +4559,7 @@ dependencies = [ "futures-core", "futures-io", "parking", - "pin-project-lite 0.2.14", + "pin-project-lite", ] [[package]] @@ -4794,13 +4585,12 @@ dependencies = [ [[package]] name = "futures-rustls" -version = "0.22.2" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" +checksum = "35bd3cf68c183738046838e300353e4716c674dc5e56890de4826801a6622a28" dependencies = [ "futures-io", - "rustls 0.20.9", - "webpki", + "rustls 0.21.12", ] [[package]] @@ -4839,7 +4629,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.14", + "pin-project-lite", "pin-utils", "slab", ] @@ -4883,17 +4673,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - [[package]] name = "getrandom" version = "0.2.15" @@ -4902,7 +4681,7 @@ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] @@ -4911,8 +4690,8 @@ version = "0.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ea1015b5a70616b688dc230cfe50c8af89d972cb132d5a622814d29773b10b9" dependencies = [ - "rand 0.8.5", - "rand_core 0.6.4", + "rand", + "rand_core", ] [[package]] @@ -4985,7 +4764,7 @@ dependencies = [ "parking_lot 0.12.3", "portable-atomic", "quanta", - "rand 0.8.5", + "rand", "smallvec", "spinning_top", ] @@ -4997,7 +4776,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" dependencies = [ "ff", - "rand_core 0.6.4", + "rand_core", "subtle 2.6.1", ] @@ -5012,7 +4791,26 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http", + "http 0.2.12", + "indexmap 2.5.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "h2" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.1.0", "indexmap 2.5.0", "slab", "tokio", @@ -5075,6 +4873,17 @@ dependencies = [ "serde", ] +[[package]] +name = "hashbrown" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + [[package]] name = "hashers" version = "1.0.1" @@ -5217,6 +5026,17 @@ dependencies = [ "itoa", ] +[[package]] +name = "http" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + [[package]] name = "http-body" version = "0.4.6" @@ -5224,15 +5044,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", - "http", - "pin-project-lite 0.2.14", + "http 0.2.12", + "pin-project-lite", ] [[package]] -name = "http-range-header" -version = "0.3.1" +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http 1.1.0", +] + +[[package]] +name = "http-body-util" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "pin-project-lite", +] [[package]] name = "httparse" @@ -5262,13 +5099,13 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2", - "http", - "http-body", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", "httparse", "httpdate", "itoa", - "pin-project-lite 0.2.14", + "pin-project-lite", "socket2 0.5.7", "tokio", "tower-service", @@ -5276,6 +5113,26 @@ dependencies = [ "want", ] +[[package]] +name = "hyper" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +dependencies = [ + "bytes", + "futures-channel", + "futures-util", + "h2 0.4.6", + "http 1.1.0", + "http-body 1.0.1", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", +] + [[package]] name = "hyper-rustls" version = "0.24.2" @@ -5283,8 +5140,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", - "http", - "hyper", + "http 0.2.12", + "hyper 0.14.30", "log", "rustls 0.21.12", "rustls-native-certs 0.6.3", @@ -5292,6 +5149,22 @@ dependencies = [ "tokio-rustls 0.24.1", ] +[[package]] +name = "hyper-util" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" +dependencies = [ + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.1", + "hyper 1.4.1", + "pin-project-lite", + "tokio", + "tower-service", +] + [[package]] name = "iana-time-zone" version = "0.1.60" @@ -5375,6 +5248,25 @@ dependencies = [ "windows", ] +[[package]] +name = "igd-next" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "064d90fec10d541084e7b39ead8875a5a80d9114a2b18791565253bae25f49e4" +dependencies = [ + "async-trait", + "attohttpc", + "bytes", + "futures 0.3.30", + "http 0.2.12", + "hyper 0.14.30", + "log", + "rand", + "tokio", + "url", + "xmltree", +] + [[package]] name = "impl-codec" version = "0.6.0" @@ -5557,7 +5449,7 @@ dependencies = [ "staging-xcm", "staging-xcm-executor", "unified-accounts-chain-extension-types", - "xcm-fee-payment-runtime-api", + "xcm-runtime-apis", ] [[package]] @@ -5654,6 +5546,26 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +[[package]] +name = "jni" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" +dependencies = [ + "cesu8", + "combine", + "jni-sys", + "log", + "thiserror", + "walkdir", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + [[package]] name = "jobserver" version = "0.1.32" @@ -5674,9 +5586,9 @@ dependencies = [ [[package]] name = "jsonrpsee" -version = "0.22.5" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfdb12a2381ea5b2e68c3469ec604a007b367778cdb14d09612c8069ebd616ad" +checksum = "62b089779ad7f80768693755a031cc14a7766aba707cbe886674e3f79e9b7e47" dependencies = [ "jsonrpsee-core", "jsonrpsee-proc-macros", @@ -5689,20 +5601,22 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.22.5" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4978087a58c3ab02efc5b07c5e5e2803024536106fd5506f558db172c889b3aa" +checksum = "08163edd8bcc466c33d79e10f695cdc98c00d1e6ddfb95cec41b6b0279dd5432" dependencies = [ + "base64 0.22.1", "futures-util", - "http", + "http 1.1.0", "jsonrpsee-core", "pin-project", - "rustls-native-certs 0.7.3", + "rustls 0.23.13", "rustls-pki-types", - "soketto", + "rustls-platform-verifier", + "soketto 0.8.0", "thiserror", "tokio", - "tokio-rustls 0.25.0", + "tokio-rustls 0.26.0", "tokio-util", "tracing", "url", @@ -5710,20 +5624,23 @@ dependencies = [ [[package]] name = "jsonrpsee-core" -version = "0.22.5" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b257e1ec385e07b0255dde0b933f948b5c8b8c28d42afda9587c3a967b896d" +checksum = "79712302e737d23ca0daa178e752c9334846b08321d439fd89af9a384f8c830b" dependencies = [ "anyhow", "async-trait", "beef", + "bytes", "futures-timer", "futures-util", - "hyper", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", "jsonrpsee-types", "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", + "rand", "rustc-hash", "serde", "serde_json", @@ -5735,11 +5652,11 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.22.5" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d0bb047e79a143b32ea03974a6bf59b62c2a4c5f5d42a381c907a8bbb3f75c0" +checksum = "7895f186d5921065d96e16bd795e5ca89ac8356ec423fafc6e3d7cf8ec11aee4" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro-crate 3.2.0", "proc-macro2", "quote", @@ -5748,20 +5665,24 @@ dependencies = [ [[package]] name = "jsonrpsee-server" -version = "0.22.5" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12d8b6a9674422a8572e0b0abb12feeb3f2aeda86528c80d0350c2bd0923ab41" +checksum = "654afab2e92e5d88ebd8a39d6074483f3f2bfdf91c5ac57fe285e7127cdd4f51" dependencies = [ + "anyhow", "futures-util", - "http", - "hyper", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "hyper 1.4.1", + "hyper-util", "jsonrpsee-core", "jsonrpsee-types", "pin-project", "route-recognizer", "serde", "serde_json", - "soketto", + "soketto 0.8.0", "thiserror", "tokio", "tokio-stream", @@ -5772,12 +5693,12 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.22.5" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "150d6168405890a7a3231a3c74843f58b8959471f6df76078db2619ddee1d07d" +checksum = "d9c465fbe385238e861fdc4d1c85e04ada6c1fd246161d26385c1b311724d2af" dependencies = [ - "anyhow", "beef", + "http 1.1.0", "serde", "serde_json", "thiserror", @@ -5785,11 +5706,11 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.22.5" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58b9db2dfd5bb1194b0ce921504df9ceae210a345bc2f6c5a61432089bbab070" +checksum = "1c28759775f5cb2f1ea9667672d3fe2b0e701d1f4b7b67954e60afe7fd058b5e" dependencies = [ - "http", + "http 1.1.0", "jsonrpsee-client-transport", "jsonrpsee-core", "jsonrpsee-types", @@ -5822,7 +5743,7 @@ dependencies = [ "once_cell", "serdect", "sha2 0.10.8", - "signature 2.2.0", + "signature", ] [[package]] @@ -5912,7 +5833,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -5923,14 +5844,15 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "libp2p" -version = "0.51.4" +version = "0.52.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f35eae38201a993ece6bdc823292d6abd1bffed1c4d0f4a3517d2bd8e1d917fe" +checksum = "e94495eb319a85b70a68b85e2389a95bb3555c71c49025b78c691a854a7e6464" dependencies = [ "bytes", + "either", "futures 0.3.30", "futures-timer", - "getrandom 0.2.15", + "getrandom", "instant", "libp2p-allow-block-list", "libp2p-connection-limits", @@ -5947,18 +5869,21 @@ dependencies = [ "libp2p-request-response", "libp2p-swarm", "libp2p-tcp", + "libp2p-upnp", "libp2p-wasm-ext", "libp2p-websocket", "libp2p-yamux", - "multiaddr", + "multiaddr 0.18.2", "pin-project", + "rw-stream-sink", + "thiserror", ] [[package]] name = "libp2p-allow-block-list" -version = "0.1.1" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510daa05efbc25184458db837f6f9a5143888f1caa742426d92e1833ddd38a50" +checksum = "55b46558c5c0bf99d3e2a1a38fd54ff5476ca66dd1737b12466a1824dd219311" dependencies = [ "libp2p-core", "libp2p-identity", @@ -5968,9 +5893,9 @@ dependencies = [ [[package]] name = "libp2p-connection-limits" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4caa33f1d26ed664c4fe2cca81a08c8e07d4c1c04f2f4ac7655c2dd85467fda0" +checksum = "2f5107ad45cb20b2f6c3628c7b6014b996fcb13a88053f4569c872c6e30abf58" dependencies = [ "libp2p-core", "libp2p-identity", @@ -5980,9 +5905,9 @@ dependencies = [ [[package]] name = "libp2p-core" -version = "0.39.2" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c1df63c0b582aa434fb09b2d86897fa2b419ffeccf934b36f87fcedc8e835c2" +checksum = "dd44289ab25e4c9230d9246c475a22241e301b23e8f4061d3bdef304a1a99713" dependencies = [ "either", "fnv", @@ -5991,50 +5916,53 @@ dependencies = [ "instant", "libp2p-identity", "log", - "multiaddr", - "multihash 0.17.0", + "multiaddr 0.18.2", + "multihash 0.19.1", "multistream-select", "once_cell", "parking_lot 0.12.3", "pin-project", "quick-protobuf", - "rand 0.8.5", + "rand", "rw-stream-sink", "smallvec", "thiserror", - "unsigned-varint", + "unsigned-varint 0.7.2", "void", ] [[package]] name = "libp2p-dns" -version = "0.39.0" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146ff7034daae62077c415c2376b8057368042df6ab95f5432ad5e88568b1554" +checksum = "e6a18db73084b4da2871438f6239fef35190b05023de7656e877c18a00541a3b" dependencies = [ + "async-trait", "futures 0.3.30", "libp2p-core", + "libp2p-identity", "log", "parking_lot 0.12.3", "smallvec", - "trust-dns-resolver 0.22.0", + "trust-dns-resolver", ] [[package]] name = "libp2p-identify" -version = "0.42.2" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5455f472243e63b9c497ff320ded0314254a9eb751799a39c283c6f20b793f3c" +checksum = "45a96638a0a176bec0a4bcaebc1afa8cf909b114477209d7456ade52c61cd9cd" dependencies = [ "asynchronous-codec", "either", "futures 0.3.30", + "futures-bounded", "futures-timer", "libp2p-core", "libp2p-identity", "libp2p-swarm", "log", - "lru 0.10.1", + "lru 0.12.5", "quick-protobuf", "quick-protobuf-codec", "smallvec", @@ -6044,27 +5972,27 @@ dependencies = [ [[package]] name = "libp2p-identity" -version = "0.1.3" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "276bb57e7af15d8f100d3c11cbdd32c6752b7eef4ba7a18ecf464972c07abcce" +checksum = "55cca1eb2bc1fd29f099f3daaab7effd01e1a54b7c577d0ed082521034d912e8" dependencies = [ - "bs58 0.4.0", - "ed25519-dalek 2.1.1", - "log", - "multiaddr", - "multihash 0.17.0", + "bs58 0.5.1", + "ed25519-dalek", + "hkdf", + "multihash 0.19.1", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "thiserror", + "tracing", "zeroize", ] [[package]] name = "libp2p-kad" -version = "0.43.3" +version = "0.44.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39d5ef876a2b2323d63c258e63c2f8e36f205fe5a11f0b3095d59635650790ff" +checksum = "16ea178dabba6dde6ffc260a8e0452ccdc8f79becf544946692fff9d412fc29d" dependencies = [ "arrayvec 0.7.6", "asynchronous-codec", @@ -6079,20 +6007,21 @@ dependencies = [ "libp2p-swarm", "log", "quick-protobuf", - "rand 0.8.5", + "quick-protobuf-codec", + "rand", "sha2 0.10.8", "smallvec", "thiserror", "uint", - "unsigned-varint", + "unsigned-varint 0.7.2", "void", ] [[package]] name = "libp2p-mdns" -version = "0.43.1" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19983e1f949f979a928f2c603de1cf180cc0dc23e4ac93a62651ccb18341460b" +checksum = "42a2567c305232f5ef54185e9604579a894fd0674819402bb0ac0246da82f52a" dependencies = [ "data-encoding", "futures 0.3.30", @@ -6101,9 +6030,9 @@ dependencies = [ "libp2p-identity", "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "smallvec", - "socket2 0.4.10", + "socket2 0.5.7", "tokio", "trust-dns-proto 0.22.0", "void", @@ -6111,63 +6040,69 @@ dependencies = [ [[package]] name = "libp2p-metrics" -version = "0.12.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a42ec91e227d7d0dafa4ce88b333cdf5f277253873ab087555c92798db2ddd46" +checksum = "239ba7d28f8d0b5d77760dc6619c05c7e88e74ec8fbbe97f856f20a56745e620" dependencies = [ + "instant", "libp2p-core", "libp2p-identify", + "libp2p-identity", "libp2p-kad", "libp2p-ping", "libp2p-swarm", + "once_cell", "prometheus-client", ] [[package]] name = "libp2p-noise" -version = "0.42.2" +version = "0.43.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3673da89d29936bc6435bafc638e2f184180d554ce844db65915113f86ec5e" +checksum = "d2eeec39ad3ad0677551907dd304b2f13f17208ccebe333bef194076cd2e8921" dependencies = [ "bytes", - "curve25519-dalek 3.2.0", + "curve25519-dalek", "futures 0.3.30", "libp2p-core", "libp2p-identity", "log", + "multiaddr 0.18.2", + "multihash 0.19.1", "once_cell", "quick-protobuf", - "rand 0.8.5", + "rand", "sha2 0.10.8", "snow", "static_assertions", "thiserror", - "x25519-dalek 1.1.1", + "x25519-dalek", "zeroize", ] [[package]] name = "libp2p-ping" -version = "0.42.0" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e57759c19c28a73ef1eb3585ca410cefb72c1a709fcf6de1612a378e4219202" +checksum = "e702d75cd0827dfa15f8fd92d15b9932abe38d10d21f47c50438c71dd1b5dae3" dependencies = [ "either", "futures 0.3.30", "futures-timer", "instant", "libp2p-core", + "libp2p-identity", "libp2p-swarm", "log", - "rand 0.8.5", + "rand", "void", ] [[package]] name = "libp2p-quic" -version = "0.7.0-alpha.3" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6b26abd81cd2398382a1edfe739b539775be8a90fa6914f39b2ab49571ec735" +checksum = "130d451d83f21b81eb7b35b360bc7972aeafb15177784adc56528db082e6b927" dependencies = [ "bytes", "futures 0.3.30", @@ -6178,18 +6113,20 @@ dependencies = [ "libp2p-tls", "log", "parking_lot 0.12.3", - "quinn-proto", - "rand 0.8.5", - "rustls 0.20.9", + "quinn 0.10.2", + "rand", + "ring 0.16.20", + "rustls 0.21.12", + "socket2 0.5.7", "thiserror", "tokio", ] [[package]] name = "libp2p-request-response" -version = "0.24.1" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffdb374267d42dc5ed5bc53f6e601d4a64ac5964779c6e40bb9e4f14c1e30d5" +checksum = "d8e3b4d67870478db72bac87bfc260ee6641d0734e0e3e275798f089c3fecfd4" dependencies = [ "async-trait", "futures 0.3.30", @@ -6197,15 +6134,17 @@ dependencies = [ "libp2p-core", "libp2p-identity", "libp2p-swarm", - "rand 0.8.5", + "log", + "rand", "smallvec", + "void", ] [[package]] name = "libp2p-swarm" -version = "0.42.2" +version = "0.43.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "903b3d592d7694e56204d211f29d31bc004be99386644ba8731fc3e3ef27b296" +checksum = "580189e0074af847df90e75ef54f3f30059aedda37ea5a1659e8b9fca05c0141" dependencies = [ "either", "fnv", @@ -6216,7 +6155,9 @@ dependencies = [ "libp2p-identity", "libp2p-swarm-derive", "log", - "rand 0.8.5", + "multistream-select", + "once_cell", + "rand", "smallvec", "tokio", "void", @@ -6224,36 +6165,39 @@ dependencies = [ [[package]] name = "libp2p-swarm-derive" -version = "0.32.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fba456131824ab6acd4c7bf61e9c0f0a3014b5fc9868ccb8e10d344594cdc4f" +checksum = "c4d5ec2a3df00c7836d7696c136274c9c59705bac69133253696a6c932cd1d74" dependencies = [ "heck 0.4.1", + "proc-macro-warning 0.4.2", + "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] name = "libp2p-tcp" -version = "0.39.0" +version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d33698596d7722d85d3ab0c86c2c322254fce1241e91208e3679b4eb3026cf" +checksum = "b558dd40d1bcd1aaaed9de898e9ec6a436019ecc2420dd0016e712fbb61c5508" dependencies = [ "futures 0.3.30", "futures-timer", "if-watch", "libc", "libp2p-core", + "libp2p-identity", "log", - "socket2 0.4.10", + "socket2 0.5.7", "tokio", ] [[package]] name = "libp2p-tls" -version = "0.1.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff08d13d0dc66e5e9ba6279c1de417b84fa0d0adc3b03e5732928c180ec02781" +checksum = "8218d1d5482b122ccae396bbf38abdcb283ecc96fa54760e1dfd251f0546ac61" dependencies = [ "futures 0.3.30", "futures-rustls", @@ -6261,51 +6205,69 @@ dependencies = [ "libp2p-identity", "rcgen", "ring 0.16.20", - "rustls 0.20.9", + "rustls 0.21.12", + "rustls-webpki 0.101.7", "thiserror", - "webpki", - "x509-parser 0.14.0", + "x509-parser 0.15.1", "yasna", ] +[[package]] +name = "libp2p-upnp" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82775a47b34f10f787ad3e2a22e2c1541e6ebef4fe9f28f3ac553921554c94c1" +dependencies = [ + "futures 0.3.30", + "futures-timer", + "igd-next", + "libp2p-core", + "libp2p-swarm", + "log", + "tokio", + "void", +] + [[package]] name = "libp2p-wasm-ext" -version = "0.39.0" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77dff9d32353a5887adb86c8afc1de1a94d9e8c3bc6df8b2201d7cdf5c848f43" +checksum = "1e5d8e3a9e07da0ef5b55a9f26c009c8fb3c725d492d8bb4b431715786eea79c" dependencies = [ "futures 0.3.30", "js-sys", "libp2p-core", - "parity-send-wrapper", + "send_wrapper 0.6.0", "wasm-bindgen", "wasm-bindgen-futures", ] [[package]] name = "libp2p-websocket" -version = "0.41.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "111273f7b3d3510524c752e8b7a5314b7f7a1fee7e68161c01a7d72cbb06db9f" +checksum = "004ee9c4a4631435169aee6aad2f62e3984dc031c43b6d29731e8e82a016c538" dependencies = [ "either", "futures 0.3.30", "futures-rustls", "libp2p-core", + "libp2p-identity", "log", "parking_lot 0.12.3", - "quicksink", + "pin-project-lite", "rw-stream-sink", - "soketto", + "soketto 0.8.0", + "thiserror", "url", - "webpki-roots", + "webpki-roots 0.25.4", ] [[package]] name = "libp2p-yamux" -version = "0.43.1" +version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd21d950662700a385d4c6d68e2f5f54d778e97068cdd718522222ef513bda" +checksum = "8eedcb62824c4300efb9cfd4e2a6edaf3ca097b9e68b36dabe45a44469fd6a85" dependencies = [ "futures 0.3.30", "libp2p-core", @@ -6353,7 +6315,7 @@ dependencies = [ "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", - "rand 0.8.5", + "rand", "serde", "sha2 0.9.9", "typenum", @@ -6464,31 +6426,31 @@ dependencies = [ [[package]] name = "litep2p" -version = "0.5.0" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f02542ae3a94b4c4ffa37dc56388c923e286afa3bf65452e3984b50b2a2f316" +checksum = "0f46c51c205264b834ceed95c8b195026e700494bc3991aaba3b4ea9e20626d9" dependencies = [ "async-trait", "bs58 0.4.0", "bytes", "cid 0.10.1", - "ed25519-dalek 1.0.1", + "ed25519-dalek", "futures 0.3.30", "futures-timer", "hex-literal", "indexmap 2.5.0", "libc", "mockall 0.12.1", - "multiaddr", + "multiaddr 0.17.1", "multihash 0.17.0", "network-interface", "nohash-hasher", "parking_lot 0.12.3", "pin-project", - "prost 0.11.9", + "prost 0.12.6", "prost-build 0.11.9", - "quinn", - "rand 0.8.5", + "quinn 0.9.4", + "rand", "rcgen", "ring 0.16.20", "rustls 0.20.9", @@ -6506,13 +6468,13 @@ dependencies = [ "tokio-tungstenite", "tokio-util", "tracing", - "trust-dns-resolver 0.23.2", + "trust-dns-resolver", "uint", - "unsigned-varint", + "unsigned-varint 0.8.0", "url", "webpki", - "x25519-dalek 2.0.1", - "x509-parser 0.15.1", + "x25519-dalek", + "x509-parser 0.16.0", "yasna", "zeroize", ] @@ -6599,7 +6561,7 @@ dependencies = [ "sp-offchain", "sp-runtime", "sp-session", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-transaction-pool", "sp-version", "substrate-wasm-builder", @@ -6623,18 +6585,18 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru" -version = "0.10.1" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670" -dependencies = [ - "hashbrown 0.13.2", -] +checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21" [[package]] name = "lru" -version = "0.11.1" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a83fb7698b3643a0e34f9ae6f2e8f0178c0fd42f8b59d493aa271ff3a5bf21" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" +dependencies = [ + "hashbrown 0.15.0", +] [[package]] name = "lru-cache" @@ -6826,7 +6788,7 @@ checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" dependencies = [ "byteorder", "keccak", - "rand_core 0.6.4", + "rand_core", "zeroize", ] @@ -6837,7 +6799,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "69672161530e8aeca1d1400fbf3f1a1747ff60ea604265a4e906c2442df20532" dependencies = [ "futures 0.3.30", - "rand 0.8.5", + "rand", "thrift", ] @@ -6870,7 +6832,7 @@ checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ "hermit-abi 0.3.9", "libc", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "windows-sys 0.52.0", ] @@ -6885,14 +6847,14 @@ dependencies = [ "bitflags 1.3.2", "blake2 0.10.6", "c2-chacha", - "curve25519-dalek 4.1.3", + "curve25519-dalek", "either", "hashlink", "lioness", "log", "parking_lot 0.12.3", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "rand_distr", "subtle 2.6.1", "thiserror", @@ -6901,8 +6863,8 @@ dependencies = [ [[package]] name = "mmr-gadget" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "futures 0.3.30", "log", @@ -6920,8 +6882,8 @@ dependencies = [ [[package]] name = "mmr-rpc" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -6999,7 +6961,7 @@ dependencies = [ "serde", "serde_json", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -7018,7 +6980,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -7028,9 +6990,9 @@ dependencies = [ "ethereum-types", "evm-tracing-events", "parity-scale-codec", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", + "sp-runtime-interface", + "sp-std", ] [[package]] @@ -7128,7 +7090,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -7141,7 +7103,7 @@ dependencies = [ "sp-api", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -7172,7 +7134,7 @@ dependencies = [ "sp-blockchain", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-transaction-pool", "substrate-prometheus-endpoint", "tokio", @@ -7198,9 +7160,15 @@ dependencies = [ "sp-blockchain", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] +[[package]] +name = "multi-stash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "685a9ac4b61f4e728e1d2c6a7844609c16527aeb5e6c865915c08e619c16410f" + [[package]] name = "multiaddr" version = "0.17.1" @@ -7216,7 +7184,26 @@ dependencies = [ "percent-encoding", "serde", "static_assertions", - "unsigned-varint", + "unsigned-varint 0.7.2", + "url", +] + +[[package]] +name = "multiaddr" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe6351f60b488e04c1d21bc69e56b89cb3f5e8f5d22557d6e8031bdfd79b6961" +dependencies = [ + "arrayref", + "byteorder", + "data-encoding", + "libp2p-identity", + "multibase", + "multihash 0.19.1", + "percent-encoding", + "serde", + "static_assertions", + "unsigned-varint 0.8.0", "url", ] @@ -7242,10 +7229,10 @@ dependencies = [ "blake3", "core2", "digest 0.10.7", - "multihash-derive 0.8.1", + "multihash-derive", "sha2 0.10.8", "sha3", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] @@ -7259,10 +7246,10 @@ dependencies = [ "blake3", "core2", "digest 0.10.7", - "multihash-derive 0.8.1", + "multihash-derive", "sha2 0.10.8", "sha3", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] @@ -7272,27 +7259,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "076d548d76a0e2a0d4ab471d0b1c36c577786dfc4471242035d97a12a735c492" dependencies = [ "core2", - "unsigned-varint", -] - -[[package]] -name = "multihash-codetable" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6d815ecb3c8238d00647f8630ede7060a642c9f704761cd6082cb4028af6935" -dependencies = [ - "blake2b_simd", - "blake2s_simd", - "blake3", - "core2", - "digest 0.10.7", - "multihash-derive 0.9.0", - "ripemd", - "serde", - "sha1", - "sha2 0.10.8", - "sha3", - "strobe-rs", + "unsigned-varint 0.7.2", ] [[package]] @@ -7309,31 +7276,6 @@ dependencies = [ "synstructure 0.12.6", ] -[[package]] -name = "multihash-derive" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "890e72cb7396cb99ed98c1246a97b243cc16394470d94e0bc8b0c2c11d84290e" -dependencies = [ - "core2", - "multihash 0.19.1", - "multihash-derive-impl", -] - -[[package]] -name = "multihash-derive-impl" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3958713ce794e12f7c6326fac9aa274c68d74c4881dd37b3e2662b8a2046bb19" -dependencies = [ - "proc-macro-crate 2.0.0", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.77", - "synstructure 0.13.1", -] - [[package]] name = "multimap" version = "0.8.3" @@ -7348,16 +7290,16 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "multistream-select" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8552ab875c1313b97b8d20cb857b9fd63e2d1d6a0a1b53ce9821e575405f27a" +checksum = "ea0df8e5eec2298a62b326ee4f0d7fe1a6b90a09dfcf9df37b38f947a8c42f19" dependencies = [ "bytes", "futures 0.3.30", "log", "pin-project", "smallvec", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] @@ -7393,7 +7335,7 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7bddcd3bf5144b6392de80e04c347cd7fab2508f6df16a85fc496ecd5cec39bc" dependencies = [ - "rand 0.8.5", + "rand", ] [[package]] @@ -7604,6 +7546,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "num-format" version = "0.4.4" @@ -7701,7 +7654,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 3.2.0", + "proc-macro-crate 1.1.3", "proc-macro2", "quote", "syn 2.0.77", @@ -7743,7 +7696,16 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" dependencies = [ - "asn1-rs", + "asn1-rs 0.5.2", +] + +[[package]] +name = "oid-registry" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8d8034d9489cdaf79228eb9f6a3b8d7bb32ba00d6645ebd48eef4077ceb5bd9" +dependencies = [ + "asn1-rs 0.6.2", ] [[package]] @@ -7851,9 +7813,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orchestra" -version = "0.3.6" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92829eef0328a3d1cd22a02c0e51deb92a5362df3e7d21a4e9bdc38934694e66" +checksum = "41f6bbacc8c189a3f2e45e0fd0436e5d97f194db888e721bdbc3973e7dbed4c2" dependencies = [ "async-trait", "dyn-clonable", @@ -7868,9 +7830,9 @@ dependencies = [ [[package]] name = "orchestra-proc-macro" -version = "0.3.6" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1344346d5af32c95bbddea91b18a88cc83eac394192d20ef2fc4c40a74332355" +checksum = "f7b1d40dd8f367db3c65bec8d3dd47d4a604ee8874480738f93191bddab4e0e0" dependencies = [ "expander", "indexmap 2.5.0", @@ -7894,7 +7856,7 @@ dependencies = [ [[package]] name = "orml-oracle" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=polkadot-v1.13.0#56a00bce97e5036a408c724ccef49c5163bf2f1f" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" dependencies = [ "frame-benchmarking", "frame-support", @@ -7907,13 +7869,13 @@ dependencies = [ "sp-application-crypto", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "orml-traits" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=polkadot-v1.13.0#56a00bce97e5036a408c724ccef49c5163bf2f1f" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -7926,14 +7888,14 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "staging-xcm", ] [[package]] name = "orml-utilities" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=polkadot-v1.13.0#56a00bce97e5036a408c724ccef49c5163bf2f1f" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" dependencies = [ "frame-support", "parity-scale-codec", @@ -7942,19 +7904,19 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "orml-xcm-support" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=polkadot-v1.13.0#56a00bce97e5036a408c724ccef49c5163bf2f1f" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" dependencies = [ "frame-support", "orml-traits", "parity-scale-codec", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "staging-xcm", "staging-xcm-executor", ] @@ -7962,7 +7924,7 @@ dependencies = [ [[package]] name = "orml-xtokens" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=polkadot-v1.13.0#56a00bce97e5036a408c724ccef49c5163bf2f1f" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" dependencies = [ "frame-support", "frame-system", @@ -7975,7 +7937,7 @@ dependencies = [ "serde", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "staging-xcm", "staging-xcm-executor", ] @@ -7988,8 +7950,8 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallet-asset-conversion" -version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "19.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -8002,13 +7964,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-asset-rate" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -8017,13 +7978,12 @@ dependencies = [ "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-asset-tx-payment" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -8035,29 +7995,28 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-assets" -version = "29.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", + "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-aura" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-system", @@ -8068,13 +8027,12 @@ dependencies = [ "sp-application-crypto", "sp-consensus-aura", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-authority-discovery" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-system", @@ -8084,13 +8042,12 @@ dependencies = [ "sp-application-crypto", "sp-authority-discovery", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-authorship" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-system", @@ -8098,13 +8055,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-babe" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -8122,13 +8078,12 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-bags-list" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "aquamarine", "docify", @@ -8143,14 +8098,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", ] [[package]] name = "pallet-balances" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "docify", "frame-benchmarking", @@ -8160,13 +8114,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-beefy" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-system", @@ -8180,13 +8133,12 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-beefy-mmr" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "binary-merkle-tree", @@ -8205,13 +8157,12 @@ dependencies = [ "sp-io", "sp-runtime", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-bounties" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -8223,13 +8174,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-broker" -version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bitvec", "frame-benchmarking", @@ -8242,7 +8192,6 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -8264,7 +8213,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -8283,14 +8232,14 @@ dependencies = [ "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "unified-accounts-chain-extension-types", ] [[package]] name = "pallet-child-bounties" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -8303,7 +8252,6 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -8320,7 +8268,7 @@ dependencies = [ "pallet-session", "pallet-timestamp", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", "serde", "sp-consensus-aura", @@ -8328,14 +8276,14 @@ dependencies = [ "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", + "sp-tracing", ] [[package]] name = "pallet-collator-selection" -version = "9.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -8345,17 +8293,16 @@ dependencies = [ "pallet-balances", "pallet-session", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-collective" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -8366,7 +8313,6 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -8386,13 +8332,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-contracts" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bitflags 1.3.2", "environmental", @@ -8406,7 +8352,7 @@ dependencies = [ "pallet-contracts-uapi", "parity-scale-codec", "paste", - "rand 0.8.5", + "rand", "rand_pcg", "scale-info", "serde", @@ -8415,17 +8361,17 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "staging-xcm", "staging-xcm-builder", "wasm-instrument", - "wasmi", + "wasmi 0.32.3", ] [[package]] name = "pallet-contracts-proc-macro" -version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "23.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "proc-macro2", "quote", @@ -8434,8 +8380,8 @@ dependencies = [ [[package]] name = "pallet-contracts-uapi" -version = "5.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -8446,8 +8392,8 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "assert_matches", "frame-benchmarking", @@ -8458,7 +8404,6 @@ dependencies = [ "serde", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -8481,13 +8426,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-delegated-staking" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "4.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-system", @@ -8495,13 +8440,12 @@ dependencies = [ "scale-info", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-democracy" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -8513,7 +8457,6 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -8533,13 +8476,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-election-provider-multi-phase" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8548,21 +8491,20 @@ dependencies = [ "log", "pallet-election-provider-support-benchmarking", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", "sp-arithmetic", "sp-core", "sp-io", "sp-npos-elections", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "strum 0.26.3", ] [[package]] name = "pallet-election-provider-support-benchmarking" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8570,13 +8512,12 @@ dependencies = [ "parity-scale-codec", "sp-npos-elections", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-elections-phragmen" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -8589,13 +8530,12 @@ dependencies = [ "sp-npos-elections", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -8636,13 +8576,13 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "environmental", "evm", @@ -8665,7 +8605,7 @@ dependencies = [ [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "frame-support", "frame-system", @@ -8696,13 +8636,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-evm-precompile-blake2" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", ] @@ -8710,7 +8650,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "sp-core", @@ -8742,13 +8682,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "frame-support", @@ -8780,22 +8720,22 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-evm-precompile-ed25519" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ - "ed25519-dalek 2.1.1", + "ed25519-dalek", "fp-evm", ] [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "num", @@ -8804,7 +8744,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "tiny-keccak", @@ -8813,7 +8753,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "ripemd", @@ -8841,7 +8781,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -8866,7 +8806,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -8895,7 +8835,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -8928,7 +8868,7 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -8936,8 +8876,8 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "docify", "frame-benchmarking", @@ -8950,13 +8890,12 @@ dependencies = [ "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-grandpa" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -8973,13 +8912,12 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-identity" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "enumflags2", "frame-benchmarking", @@ -8990,13 +8928,12 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-im-online" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9010,13 +8947,12 @@ dependencies = [ "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-indices" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9027,7 +8963,6 @@ dependencies = [ "sp-io", "sp-keyring", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -9046,13 +8981,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-insecure-randomness-collective-flip" -version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "25.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-system", @@ -9060,13 +8995,12 @@ dependencies = [ "safe-mix", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-membership" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9077,13 +9011,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-message-queue" -version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "40.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "environmental", "frame-benchmarking", @@ -9096,14 +9029,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-weights", ] [[package]] name = "pallet-migrations" -version = "1.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "7.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "docify", "frame-benchmarking", @@ -9115,13 +9047,12 @@ dependencies = [ "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-mmr" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9133,13 +9064,12 @@ dependencies = [ "sp-io", "sp-mmr-primitives", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-multisig" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9149,13 +9079,12 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-nis" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9165,13 +9094,12 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-nomination-pools" -version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-system", @@ -9183,14 +9111,13 @@ dependencies = [ "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", ] [[package]] name = "pallet-nomination-pools-benchmarking" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9203,26 +9130,24 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-nomination-pools-runtime-api" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "32.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", "sp-api", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-offences" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-system", @@ -9233,13 +9158,12 @@ dependencies = [ "serde", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-offences-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9257,13 +9181,12 @@ dependencies = [ "scale-info", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-parameters" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.8.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "docify", "frame-benchmarking", @@ -9275,13 +9198,12 @@ dependencies = [ "serde", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-preimage" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9292,7 +9214,6 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -9314,13 +9235,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-proxy" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9329,13 +9250,12 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-ranked-collective" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9348,13 +9268,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-recovery" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9363,13 +9282,12 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-referenda" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "assert_matches", "frame-benchmarking", @@ -9382,13 +9300,12 @@ dependencies = [ "sp-arithmetic", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-root-testing" -version = "4.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "13.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-system", @@ -9397,13 +9314,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-scheduler" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "docify", "frame-benchmarking", @@ -9414,14 +9330,13 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-weights", ] [[package]] name = "pallet-session" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-system", @@ -9436,14 +9351,13 @@ dependencies = [ "sp-session", "sp-staking", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-trie", ] [[package]] name = "pallet-session-benchmarking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9451,34 +9365,32 @@ dependencies = [ "pallet-session", "pallet-staking", "parity-scale-codec", - "rand 0.8.5", + "rand", "sp-runtime", "sp-session", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-society" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", "parity-scale-codec", - "rand_chacha 0.3.1", + "rand_chacha", "scale-info", "sp-arithmetic", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-staking" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9488,20 +9400,19 @@ dependencies = [ "pallet-authorship", "pallet-session", "parity-scale-codec", - "rand_chacha 0.3.1", + "rand_chacha", "scale-info", "serde", "sp-application-crypto", "sp-io", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-staking-reward-curve" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -9511,8 +9422,8 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" -version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "22.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "log", "sp-arithmetic", @@ -9520,8 +9431,8 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "22.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "sp-api", @@ -9530,8 +9441,8 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9542,7 +9453,6 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -9562,13 +9472,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-sudo" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "docify", "frame-benchmarking", @@ -9578,13 +9488,12 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-timestamp" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "36.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "docify", "frame-benchmarking", @@ -9596,15 +9505,14 @@ dependencies = [ "sp-inherents", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-timestamp", ] [[package]] name = "pallet-tips" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9617,13 +9525,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-transaction-payment" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-system", @@ -9633,13 +9540,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-transaction-payment-rpc" -version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "40.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -9654,8 +9560,8 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -9666,8 +9572,8 @@ dependencies = [ [[package]] name = "pallet-treasury" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "36.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "docify", "frame-benchmarking", @@ -9680,7 +9586,6 @@ dependencies = [ "serde", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -9705,13 +9610,13 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "pallet-utility" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9721,13 +9626,12 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-vesting" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9736,13 +9640,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "pallet-whitelist" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "36.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9751,7 +9654,6 @@ dependencies = [ "scale-info", "sp-api", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -9770,14 +9672,14 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "staging-xcm", ] [[package]] name = "pallet-xcm" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bounded-collections", "frame-benchmarking", @@ -9791,17 +9693,16 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", - "xcm-fee-payment-runtime-api", + "xcm-runtime-apis", ] [[package]] name = "pallet-xcm-benchmarks" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-benchmarking", "frame-support", @@ -9811,7 +9712,6 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -9819,8 +9719,8 @@ dependencies = [ [[package]] name = "parachains-common" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -9831,7 +9731,7 @@ dependencies = [ "pallet-assets", "pallet-authorship", "pallet-balances", - "pallet-collator-selection 9.0.0", + "pallet-collator-selection 18.0.0", "pallet-message-queue", "pallet-xcm", "parity-scale-codec", @@ -9841,7 +9741,6 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "staging-parachain-info", "staging-xcm", "staging-xcm-executor", @@ -9855,8 +9754,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e69bf016dc406eff7d53a7d3f7cf1c2e72c82b9088aac1118591e36dd2cd3e9" dependencies = [ "bitcoin_hashes 0.13.0", - "rand 0.8.5", - "rand_core 0.6.4", + "rand", + "rand_core", "serde", "unicode-normalization", ] @@ -9876,7 +9775,7 @@ dependencies = [ "lz4", "memmap2 0.5.10", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "siphasher", "snap", "winapi", @@ -9909,12 +9808,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "parity-send-wrapper" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa9777aa91b8ad9dd5aaa04a9b6bcb02c7f1deb952fca5a66034d5e63afc5c6f" - [[package]] name = "parity-wasm" version = "0.45.0" @@ -9988,7 +9881,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "346f04948ba92c43e8469c1ee6736c7563d71012b17d40745260fe106aac2166" dependencies = [ "base64ct", - "rand_core 0.6.4", + "rand_core", "subtle 2.6.1", ] @@ -10124,12 +10017,6 @@ dependencies = [ "syn 2.0.77", ] -[[package]] -name = "pin-project-lite" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" - [[package]] name = "pin-project-lite" version = "0.2.14" @@ -10171,8 +10058,8 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "polkadot-approval-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bitvec", "futures 0.3.30", @@ -10185,14 +10072,14 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "tracing-gum", ] [[package]] name = "polkadot-availability-bitfield-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "always-assert", "futures 0.3.30", @@ -10201,14 +10088,14 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "tracing-gum", ] [[package]] name = "polkadot-availability-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "derive_more", "fatality", @@ -10220,7 +10107,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "sc-network", "schnellru", "sp-core", @@ -10231,8 +10118,8 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "fatality", @@ -10244,7 +10131,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", + "rand", "sc-network", "schnellru", "thiserror", @@ -10264,8 +10151,8 @@ dependencies = [ [[package]] name = "polkadot-cli" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "cfg-if", "clap", @@ -10292,8 +10179,8 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bitvec", "fatality", @@ -10314,20 +10201,19 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "scale-info", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "polkadot-dispute-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "derive_more", "fatality", @@ -10351,8 +10237,8 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -10365,8 +10251,8 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "futures 0.3.30", "futures-timer", @@ -10374,8 +10260,8 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "sc-network", "sc-network-common", "sp-application-crypto", @@ -10387,8 +10273,8 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "always-assert", "async-trait", @@ -10410,8 +10296,8 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "futures 0.3.30", "parity-scale-codec", @@ -10428,8 +10314,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bitvec", "derive_more", @@ -10445,9 +10331,9 @@ dependencies = [ "polkadot-node-subsystem-util", "polkadot-overseer", "polkadot-primitives", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_core 0.6.4", + "rand", + "rand_chacha", + "rand_core", "sc-keystore", "schnellru", "schnorrkel 0.11.4", @@ -10461,8 +10347,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bitvec", "futures 0.3.30", @@ -10483,8 +10369,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bitvec", "fatality", @@ -10503,8 +10389,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "futures 0.3.30", "polkadot-node-subsystem", @@ -10518,8 +10404,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "futures 0.3.30", @@ -10533,14 +10419,16 @@ dependencies = [ "polkadot-overseer", "polkadot-parachain-primitives", "polkadot-primitives", + "sp-application-crypto", + "sp-keystore", "sp-maybe-compressed-blob", "tracing-gum", ] [[package]] name = "polkadot-node-core-chain-api" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "futures 0.3.30", "polkadot-node-metrics", @@ -10553,8 +10441,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "futures 0.3.30", "futures-timer", @@ -10570,8 +10458,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "fatality", "futures 0.3.30", @@ -10589,8 +10477,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "futures 0.3.30", @@ -10606,14 +10494,11 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" -version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ - "bitvec", "fatality", "futures 0.3.30", - "parity-scale-codec", - "polkadot-node-primitives", "polkadot-node-subsystem", "polkadot-node-subsystem-util", "polkadot-primitives", @@ -10623,8 +10508,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bitvec", "fatality", @@ -10641,8 +10526,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "always-assert", "array-bytes", @@ -10659,7 +10544,7 @@ dependencies = [ "polkadot-node-subsystem", "polkadot-parachain-primitives", "polkadot-primitives", - "rand 0.8.5", + "rand", "slotmap", "sp-core", "tempfile", @@ -10670,8 +10555,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "futures 0.3.30", "polkadot-node-primitives", @@ -10686,8 +10571,8 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "cpu-time", "futures 0.3.30", @@ -10703,17 +10588,17 @@ dependencies = [ "seccompiler", "sp-core", "sp-crypto-hashing", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-io", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", "thiserror", "tracing-gum", ] [[package]] name = "polkadot-node-core-runtime-api" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "futures 0.3.30", "polkadot-node-metrics", @@ -10727,8 +10612,8 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "lazy_static", "log", @@ -10746,8 +10631,8 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bs58 0.5.1", "futures 0.3.30", @@ -10765,8 +10650,8 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -10779,7 +10664,7 @@ dependencies = [ "polkadot-node-jaeger", "polkadot-node-primitives", "polkadot-primitives", - "rand 0.8.5", + "rand", "sc-authority-discovery", "sc-network", "sc-network-types", @@ -10791,8 +10676,8 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bitvec", "bounded-vec", @@ -10814,8 +10699,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -10824,8 +10709,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "bitvec", @@ -10854,8 +10739,8 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "derive_more", @@ -10878,7 +10763,7 @@ dependencies = [ "polkadot-overseer", "polkadot-primitives", "prioritized-metered-channel", - "rand 0.8.5", + "rand", "sc-client-api", "schnellru", "sp-application-crypto", @@ -10890,8 +10775,8 @@ dependencies = [ [[package]] name = "polkadot-overseer" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "futures 0.3.30", @@ -10912,8 +10797,8 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" -version = "6.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bounded-collections", "derive_more", @@ -10923,14 +10808,13 @@ dependencies = [ "serde", "sp-core", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-weights", ] [[package]] name = "polkadot-primitives" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bitvec", "hex-literal", @@ -10951,13 +10835,12 @@ dependencies = [ "sp-keystore", "sp-runtime", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "polkadot-rpc" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -10991,8 +10874,8 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bitvec", "frame-benchmarking", @@ -11033,7 +10916,6 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -11042,21 +10924,20 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bs58 0.5.1", "frame-benchmarking", "parity-scale-codec", "polkadot-primitives", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", ] [[package]] name = "polkadot-runtime-parachains" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -11081,9 +10962,8 @@ dependencies = [ "polkadot-parachain-primitives", "polkadot-primitives", "polkadot-runtime-metrics", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rustc-hex", + "rand", + "rand_chacha", "scale-info", "serde", "sp-api", @@ -11096,7 +10976,6 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "staging-xcm", "staging-xcm-executor", "static_assertions", @@ -11104,8 +10983,8 @@ dependencies = [ [[package]] name = "polkadot-service" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "frame-benchmarking", @@ -11207,7 +11086,7 @@ dependencies = [ "sp-runtime", "sp-session", "sp-state-machine", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-timestamp", "sp-transaction-pool", "sp-version", @@ -11217,13 +11096,13 @@ dependencies = [ "thiserror", "tracing-gum", "westend-runtime", - "xcm-fee-payment-runtime-api", + "xcm-runtime-apis", ] [[package]] name = "polkadot-statement-distribution" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "arrayvec 0.7.6", "bitvec", @@ -11245,8 +11124,8 @@ dependencies = [ [[package]] name = "polkadot-statement-table" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -11349,7 +11228,7 @@ dependencies = [ "concurrent-queue", "libc", "log", - "pin-project-lite 0.2.14", + "pin-project-lite", "windows-sys 0.48.0", ] @@ -11362,7 +11241,7 @@ dependencies = [ "cfg-if", "concurrent-queue", "hermit-abi 0.4.0", - "pin-project-lite 0.2.14", + "pin-project-lite", "rustix 0.38.37", "tracing", "windows-sys 0.59.0", @@ -11415,7 +11294,7 @@ dependencies = [ [[package]] name = "precompile-utils" version = "0.1.0" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "derive_more", "environmental", @@ -11444,7 +11323,7 @@ dependencies = [ [[package]] name = "precompile-utils-macro" version = "0.1.0" -source = "git+https://github.com/AstarNetwork/frontier?branch=polkadot-v1.13.0#16108e30fdf7ac4e9f60e1c2a259fa81223ef85d" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "case", "num_enum 0.7.3", @@ -11555,22 +11434,13 @@ dependencies = [ "toml 0.5.11", ] -[[package]] -name = "proc-macro-crate" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8366a6159044a37876a2b9817124296703c586a5c92e2c53751fa06d8d43e8" -dependencies = [ - "toml_edit 0.20.7", -] - [[package]] name = "proc-macro-crate" version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit 0.22.20", + "toml_edit", ] [[package]] @@ -11597,6 +11467,17 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-warning" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "proc-macro-warning" version = "1.0.2" @@ -11633,9 +11514,9 @@ dependencies = [ [[package]] name = "prometheus-client" -version = "0.19.0" +version = "0.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e" +checksum = "3c99afa9a01501019ac3a14d71d9f94050346f55ca471ce90c799a15c58f61e2" dependencies = [ "dtoa", "itoa", @@ -11663,8 +11544,8 @@ dependencies = [ "bitflags 2.6.0", "lazy_static", "num-traits", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "rand_xorshift", "regex-syntax 0.8.4", "unarray", @@ -11796,7 +11677,7 @@ dependencies = [ "libc", "once_cell", "raw-cpuid", - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", "web-sys", "winapi", ] @@ -11818,44 +11699,51 @@ dependencies = [ [[package]] name = "quick-protobuf-codec" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1693116345026436eb2f10b677806169c1a1260c1c60eaaffe3fb5a29ae23d8b" +checksum = "f8ededb1cd78531627244d51dd0c7139fbe736c7d57af0092a76f0ffb2f56e98" dependencies = [ "asynchronous-codec", "bytes", "quick-protobuf", "thiserror", - "unsigned-varint", + "unsigned-varint 0.7.2", ] [[package]] -name = "quicksink" -version = "0.1.2" +name = "quinn" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77de3c815e5a160b1539c6592796801df2043ae35e123b46d73380cfa57af858" +checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e" dependencies = [ - "futures-core", - "futures-sink", - "pin-project-lite 0.1.12", + "bytes", + "pin-project-lite", + "quinn-proto 0.9.6", + "quinn-udp 0.3.2", + "rustc-hash", + "rustls 0.20.9", + "thiserror", + "tokio", + "tracing", + "webpki", ] [[package]] name = "quinn" -version = "0.9.4" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e" +checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75" dependencies = [ "bytes", - "pin-project-lite 0.2.14", - "quinn-proto", - "quinn-udp", + "futures-io", + "pin-project-lite", + "quinn-proto 0.10.6", + "quinn-udp 0.4.1", "rustc-hash", - "rustls 0.20.9", + "rustls 0.21.12", "thiserror", "tokio", "tracing", - "webpki", ] [[package]] @@ -11865,7 +11753,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863" dependencies = [ "bytes", - "rand 0.8.5", + "rand", "ring 0.16.20", "rustc-hash", "rustls 0.20.9", @@ -11876,6 +11764,23 @@ dependencies = [ "webpki", ] +[[package]] +name = "quinn-proto" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" +dependencies = [ + "bytes", + "rand", + "ring 0.16.20", + "rustc-hash", + "rustls 0.21.12", + "slab", + "thiserror", + "tinyvec", + "tracing", +] + [[package]] name = "quinn-udp" version = "0.3.2" @@ -11883,12 +11788,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4" dependencies = [ "libc", - "quinn-proto", + "quinn-proto 0.9.6", "socket2 0.4.10", "tracing", "windows-sys 0.42.0", ] +[[package]] +name = "quinn-udp" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" +dependencies = [ + "bytes", + "libc", + "socket2 0.5.7", + "tracing", + "windows-sys 0.48.0", +] + [[package]] name = "quote" version = "1.0.37" @@ -11904,19 +11822,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", -] - [[package]] name = "rand" version = "0.8.5" @@ -11924,18 +11829,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", + "rand_chacha", + "rand_core", ] [[package]] @@ -11945,16 +11840,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", + "rand_core", ] [[package]] @@ -11963,7 +11849,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.15", + "getrandom", ] [[package]] @@ -11973,16 +11859,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" dependencies = [ "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", + "rand", ] [[package]] @@ -11991,7 +11868,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e" dependencies = [ - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -12000,7 +11877,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f" dependencies = [ - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -12074,7 +11951,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ - "getrandom 0.2.15", + "getrandom", "libredox", "thiserror", ] @@ -12191,17 +12068,17 @@ dependencies = [ "encoding_rs", "futures-core", "futures-util", - "h2", - "http", - "http-body", - "hyper", + "h2 0.3.26", + "http 0.2.12", + "http-body 0.4.6", + "hyper 0.14.30", "ipnet", "js-sys", "log", "mime", "once_cell", "percent-encoding", - "pin-project-lite 0.2.14", + "pin-project-lite", "serde", "serde_json", "serde_urlencoded", @@ -12236,23 +12113,6 @@ dependencies = [ "subtle 2.6.1", ] -[[package]] -name = "ring" -version = "0.1.0" -source = "git+https://github.com/w3f/ring-proof#31658d1f5b88e106c969557c36c821aff46b2236" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "ark-transcript 0.0.2 (git+https://github.com/w3f/ring-vrf)", - "arrayvec 0.7.6", - "blake2 0.10.6", - "common", - "fflonk", -] - [[package]] name = "ring" version = "0.16.20" @@ -12276,7 +12136,7 @@ checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" dependencies = [ "cc", "cfg-if", - "getrandom 0.2.15", + "getrandom", "libc", "spin 0.9.8", "untrusted 0.9.0", @@ -12326,8 +12186,8 @@ dependencies = [ [[package]] name = "rococo-runtime" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "binary-merkle-tree", "bitvec", @@ -12413,8 +12273,7 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-transaction-pool", "sp-version", "staging-xcm", @@ -12422,13 +12281,13 @@ dependencies = [ "staging-xcm-executor", "static_assertions", "substrate-wasm-builder", - "xcm-fee-payment-runtime-api", + "xcm-runtime-apis", ] [[package]] name = "rococo-runtime-constants" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "polkadot-primitives", @@ -12575,7 +12434,6 @@ version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" dependencies = [ - "log", "ring 0.16.20", "sct", "webpki", @@ -12595,11 +12453,12 @@ dependencies = [ [[package]] name = "rustls" -version = "0.22.4" +version = "0.23.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" +checksum = "f2dabaac7466917e566adb06783a81ca48944c6898a1b08b9374106dd671f4c8" dependencies = [ "log", + "once_cell", "ring 0.17.8", "rustls-pki-types", "rustls-webpki 0.102.8", @@ -12657,6 +12516,33 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" +[[package]] +name = "rustls-platform-verifier" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490" +dependencies = [ + "core-foundation", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls 0.23.13", + "rustls-native-certs 0.7.3", + "rustls-platform-verifier-android", + "rustls-webpki 0.102.8", + "security-framework", + "security-framework-sys", + "webpki-roots 0.26.6", + "winapi", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + [[package]] name = "rustls-webpki" version = "0.101.7" @@ -12697,9 +12583,9 @@ dependencies = [ [[package]] name = "rw-stream-sink" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04" +checksum = "d8c9026ff5d2f23da5e45bbc283f156383001bfb09c4e44256d02c1a685fe9a1" dependencies = [ "futures 0.3.30", "pin-project", @@ -12750,19 +12636,19 @@ dependencies = [ [[package]] name = "sc-allocator" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "29.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "log", "sp-core", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-wasm-interface", "thiserror", ] [[package]] name = "sc-authority-discovery" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "futures 0.3.30", @@ -12771,12 +12657,11 @@ dependencies = [ "libp2p", "linked_hash_set", "log", - "multihash 0.17.0", - "multihash-codetable", + "multihash 0.19.1", "parity-scale-codec", "prost 0.12.6", "prost-build 0.12.6", - "rand 0.8.5", + "rand", "sc-client-api", "sc-network", "sc-network-types", @@ -12792,8 +12677,8 @@ dependencies = [ [[package]] name = "sc-basic-authorship" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "futures 0.3.30", "futures-timer", @@ -12814,8 +12699,8 @@ dependencies = [ [[package]] name = "sc-block-builder" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.42.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "sp-api", @@ -12829,8 +12714,8 @@ dependencies = [ [[package]] name = "sc-chain-spec" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "docify", @@ -12851,13 +12736,13 @@ dependencies = [ "sp-io", "sp-runtime", "sp-state-machine", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", ] [[package]] name = "sc-chain-spec-derive" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "12.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -12867,8 +12752,8 @@ dependencies = [ [[package]] name = "sc-cli" -version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.46.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "chrono", @@ -12881,7 +12766,7 @@ dependencies = [ "names", "parity-bip39", "parity-scale-codec", - "rand 0.8.5", + "rand", "regex", "rpassword", "sc-client-api", @@ -12908,8 +12793,8 @@ dependencies = [ [[package]] name = "sc-client-api" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "fnv", "futures 0.3.30", @@ -12924,19 +12809,19 @@ dependencies = [ "sp-consensus", "sp-core", "sp-database", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-runtime", "sp-state-machine", "sp-statement-store", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-trie", "substrate-prometheus-endpoint", ] [[package]] name = "sc-client-db" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "hash-db", "kvdb", @@ -12961,12 +12846,11 @@ dependencies = [ [[package]] name = "sc-consensus" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "futures 0.3.30", - "futures-timer", "log", "mockall 0.11.4", "parking_lot 0.12.3", @@ -12986,8 +12870,8 @@ dependencies = [ [[package]] name = "sc-consensus-aura" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "futures 0.3.30", @@ -13015,8 +12899,8 @@ dependencies = [ [[package]] name = "sc-consensus-babe" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "fork-tree", @@ -13051,8 +12935,8 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -13073,8 +12957,8 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13109,8 +12993,8 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "23.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -13129,8 +13013,8 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "fork-tree", "parity-scale-codec", @@ -13142,8 +13026,8 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.29.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "ahash", "array-bytes", @@ -13156,7 +13040,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "sc-block-builder", "sc-chain-spec", "sc-client-api", @@ -13186,8 +13070,8 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" -version = "0.19.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "finality-grandpa", "futures 0.3.30", @@ -13206,8 +13090,8 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.45.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "assert_matches", "async-trait", @@ -13241,8 +13125,8 @@ dependencies = [ [[package]] name = "sc-consensus-slots" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "futures 0.3.30", @@ -13264,8 +13148,8 @@ dependencies = [ [[package]] name = "sc-executor" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.40.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -13275,44 +13159,44 @@ dependencies = [ "schnellru", "sp-api", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-io", "sp-panic-handler", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", "sp-trie", "sp-version", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-wasm-interface", "tracing", ] [[package]] name = "sc-executor-common" -version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "polkavm", "sc-allocator", "sp-maybe-compressed-blob", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-wasm-interface", "thiserror", "wasm-instrument", ] [[package]] name = "sc-executor-polkavm" -version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.32.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "log", "polkavm", "sc-executor-common", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-wasm-interface", ] [[package]] name = "sc-executor-wasmtime" -version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.35.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "anyhow", "cfg-if", @@ -13322,15 +13206,15 @@ dependencies = [ "rustix 0.36.17", "sc-allocator", "sc-executor-common", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", + "sp-wasm-interface", "wasmtime", ] [[package]] name = "sc-informant" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "ansi_term", "futures 0.3.30", @@ -13346,8 +13230,8 @@ dependencies = [ [[package]] name = "sc-keystore" -version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "33.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "parking_lot 0.12.3", @@ -13360,8 +13244,8 @@ dependencies = [ [[package]] name = "sc-mixnet" -version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.14.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "arrayvec 0.7.6", @@ -13371,7 +13255,7 @@ dependencies = [ "futures-timer", "log", "mixnet", - "multiaddr", + "multiaddr 0.18.2", "parity-scale-codec", "parking_lot 0.12.3", "sc-client-api", @@ -13389,8 +13273,8 @@ dependencies = [ [[package]] name = "sc-network" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13415,7 +13299,7 @@ dependencies = [ "pin-project", "prost 0.12.6", "prost-build 0.12.6", - "rand 0.8.5", + "rand", "sc-client-api", "sc-network-common", "sc-network-types", @@ -13432,7 +13316,7 @@ dependencies = [ "thiserror", "tokio", "tokio-stream", - "unsigned-varint", + "unsigned-varint 0.7.2", "void", "wasm-timer", "zeroize", @@ -13440,8 +13324,8 @@ dependencies = [ [[package]] name = "sc-network-common" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -13458,13 +13342,12 @@ dependencies = [ [[package]] name = "sc-network-gossip" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "ahash", "futures 0.3.30", "futures-timer", - "libp2p", "log", "sc-network", "sc-network-common", @@ -13478,8 +13361,8 @@ dependencies = [ [[package]] name = "sc-network-light" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13499,8 +13382,8 @@ dependencies = [ [[package]] name = "sc-network-sync" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13536,12 +13419,11 @@ dependencies = [ [[package]] name = "sc-network-transactions" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "futures 0.3.30", - "libp2p", "log", "parity-scale-codec", "sc-network", @@ -13556,39 +13438,39 @@ dependencies = [ [[package]] name = "sc-network-types" -version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.12.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bs58 0.5.1", - "ed25519-dalek 2.1.1", + "ed25519-dalek", "libp2p-identity", "litep2p", - "multiaddr", - "multihash 0.17.0", - "rand 0.8.5", + "log", + "multiaddr 0.18.2", + "multihash 0.19.1", + "rand", "thiserror", "zeroize", ] [[package]] name = "sc-offchain" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "bytes", "fnv", "futures 0.3.30", "futures-timer", - "hyper", + "hyper 0.14.30", "hyper-rustls", - "libp2p", "log", "num_cpus", "once_cell", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "sc-client-api", "sc-network", "sc-network-common", @@ -13597,7 +13479,7 @@ dependencies = [ "sc-utils", "sp-api", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-keystore", "sp-offchain", "sp-runtime", @@ -13607,8 +13489,8 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" -version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.18.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -13616,8 +13498,8 @@ dependencies = [ [[package]] name = "sc-rpc" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -13648,8 +13530,8 @@ dependencies = [ [[package]] name = "sc-rpc-api" -version = "0.33.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -13668,17 +13550,19 @@ dependencies = [ [[package]] name = "sc-rpc-server" -version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "forwarded-header-value", "futures 0.3.30", "governor", - "http", - "hyper", + "http 1.1.0", + "http-body-util", + "hyper 1.4.1", "ip_network", "jsonrpsee", "log", + "serde", "serde_json", "substrate-prometheus-endpoint", "tokio", @@ -13688,8 +13572,8 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "futures 0.3.30", @@ -13699,7 +13583,7 @@ dependencies = [ "log", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "sc-chain-spec", "sc-client-api", "sc-rpc", @@ -13720,8 +13604,8 @@ dependencies = [ [[package]] name = "sc-service" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.45.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "directories", @@ -13733,7 +13617,7 @@ dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", + "rand", "sc-chain-spec", "sc-client-api", "sc-client-db", @@ -13763,12 +13647,12 @@ dependencies = [ "sp-blockchain", "sp-consensus", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-keystore", "sp-runtime", "sp-session", "sp-state-machine", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-transaction-pool", "sp-transaction-storage-proof", "sp-trie", @@ -13784,8 +13668,8 @@ dependencies = [ [[package]] name = "sc-state-db" -version = "0.30.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.36.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "log", "parity-scale-codec", @@ -13795,8 +13679,8 @@ dependencies = [ [[package]] name = "sc-storage-monitor" -version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.22.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "clap", "fs4", @@ -13808,8 +13692,8 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.44.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -13827,14 +13711,14 @@ dependencies = [ [[package]] name = "sc-sysinfo" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "derive_more", "futures 0.3.30", "libc", "log", - "rand 0.8.5", + "rand", "rand_pcg", "regex", "sc-telemetry", @@ -13843,13 +13727,13 @@ dependencies = [ "sp-core", "sp-crypto-hashing", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] name = "sc-telemetry" -version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "24.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "chrono", "futures 0.3.30", @@ -13857,7 +13741,7 @@ dependencies = [ "log", "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", + "rand", "sc-network", "sc-utils", "serde", @@ -13868,8 +13752,8 @@ dependencies = [ [[package]] name = "sc-tracing" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "ansi_term", "chrono", @@ -13889,7 +13773,7 @@ dependencies = [ "sp-core", "sp-rpc", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", "thiserror", "tracing", "tracing-log", @@ -13899,7 +13783,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -13909,8 +13793,8 @@ dependencies = [ [[package]] name = "sc-transaction-pool" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "futures 0.3.30", @@ -13928,7 +13812,7 @@ dependencies = [ "sp-core", "sp-crypto-hashing", "sp-runtime", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", "sp-transaction-pool", "substrate-prometheus-endpoint", "thiserror", @@ -13936,8 +13820,8 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "futures 0.3.30", @@ -13952,8 +13836,8 @@ dependencies = [ [[package]] name = "sc-utils" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-channel 1.9.0", "futures 0.3.30", @@ -14050,7 +13934,7 @@ dependencies = [ "arrayvec 0.7.6", "curve25519-dalek-ng", "merlin", - "rand_core 0.6.4", + "rand_core", "sha2 0.9.9", "subtle-ng", "zeroize", @@ -14065,10 +13949,10 @@ dependencies = [ "aead", "arrayref", "arrayvec 0.7.6", - "curve25519-dalek 4.1.3", + "curve25519-dalek", "getrandom_or_panic", "merlin", - "rand_core 0.6.4", + "rand_core", "serde_bytes", "sha2 0.10.8", "subtle 2.6.1", @@ -14119,7 +14003,7 @@ dependencies = [ "crc", "fxhash", "log", - "rand 0.8.5", + "rand", "slab", "thiserror", ] @@ -14185,6 +14069,7 @@ dependencies = [ "core-foundation", "core-foundation-sys", "libc", + "num-bigint", "security-framework-sys", ] @@ -14511,9 +14396,9 @@ dependencies = [ "sp-io", "sp-offchain", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", "sp-session", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-transaction-pool", "sp-version", "staging-parachain-info", @@ -14522,7 +14407,7 @@ dependencies = [ "staging-xcm-executor", "substrate-wasm-builder", "vesting-mbm", - "xcm-fee-payment-runtime-api", + "xcm-runtime-apis", ] [[package]] @@ -14622,9 +14507,9 @@ dependencies = [ "sp-io", "sp-offchain", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", "sp-session", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-transaction-pool", "sp-version", "staging-parachain-info", @@ -14632,7 +14517,7 @@ dependencies = [ "staging-xcm-builder", "staging-xcm-executor", "substrate-wasm-builder", - "xcm-fee-payment-runtime-api", + "xcm-runtime-apis", ] [[package]] @@ -14650,12 +14535,6 @@ dependencies = [ "libc", ] -[[package]] -name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" - [[package]] name = "signature" version = "2.2.0" @@ -14663,7 +14542,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" dependencies = [ "digest 0.10.7", - "rand_core 0.6.4", + "rand_core", ] [[package]] @@ -14761,14 +14640,13 @@ dependencies = [ [[package]] name = "slot-range-helper" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "enumn", "parity-scale-codec", "paste", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] @@ -14839,8 +14717,8 @@ dependencies = [ "pbkdf2 0.12.2", "pin-project", "poly1305", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "ruzstd", "schnorrkel 0.10.2", "serde", @@ -14850,10 +14728,10 @@ dependencies = [ "siphasher", "slab", "smallvec", - "soketto", + "soketto 0.7.1", "twox-hash", - "wasmi", - "x25519-dalek 2.0.1", + "wasmi 0.31.2", + "x25519-dalek", "zeroize", ] @@ -14882,8 +14760,8 @@ dependencies = [ "no-std-net", "parking_lot 0.12.3", "pin-project", - "rand 0.8.5", - "rand_chacha 0.3.1", + "rand", + "rand_chacha", "serde", "serde_json", "siphasher", @@ -14908,8 +14786,8 @@ dependencies = [ "aes-gcm", "blake2 0.10.6", "chacha20poly1305", - "curve25519-dalek 4.1.3", - "rand_core 0.6.4", + "curve25519-dalek", + "rand_core", "ring 0.17.8", "rustc_version 0.4.1", "sha2 0.10.8", @@ -14944,32 +14822,46 @@ checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ "base64 0.13.1", "bytes", - "flate2", "futures 0.3.30", - "http", "httparse", "log", - "rand 0.8.5", + "rand", "sha-1 0.9.8", ] +[[package]] +name = "soketto" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37468c595637c10857701c990f93a40ce0e357cedb0953d1c26c8d8027f9bb53" +dependencies = [ + "base64 0.22.1", + "bytes", + "futures 0.3.30", + "http 1.1.0", + "httparse", + "log", + "rand", + "sha1", +] + [[package]] name = "sp-api" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ + "docify", "hash-db", "log", "parity-scale-codec", "scale-info", "sp-api-proc-macro", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-metadata-ir", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-trie", "sp-version", "thiserror", @@ -14977,8 +14869,8 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" -version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "20.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "Inflector", "blake2 0.10.6", @@ -14991,21 +14883,20 @@ dependencies = [ [[package]] name = "sp-application-crypto" -version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "scale-info", "serde", "sp-core", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "sp-arithmetic" -version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "26.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "docify", "integer-sqrt", @@ -15013,32 +14904,13 @@ dependencies = [ "parity-scale-codec", "scale-info", "serde", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "static_assertions", ] -[[package]] -name = "sp-ark-bls12-381" -version = "0.4.2" -source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f" -dependencies = [ - "ark-bls12-381-ext", - "sp-crypto-ec-utils", -] - -[[package]] -name = "sp-ark-ed-on-bls12-381-bandersnatch" -version = "0.4.2" -source = "git+https://github.com/paritytech/arkworks-substrate#caa2eed74beb885dd07c7db5f916f2281dad818f" -dependencies = [ - "ark-ed-on-bls12-381-bandersnatch-ext", - "sp-crypto-ec-utils", -] - [[package]] name = "sp-authority-discovery" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "scale-info", @@ -15049,8 +14921,8 @@ dependencies = [ [[package]] name = "sp-block-builder" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "sp-api", "sp-inherents", @@ -15059,26 +14931,27 @@ dependencies = [ [[package]] name = "sp-blockchain" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "futures 0.3.30", - "log", "parity-scale-codec", "parking_lot 0.12.3", "schnellru", "sp-api", "sp-consensus", + "sp-core", "sp-database", "sp-runtime", "sp-state-machine", "thiserror", + "tracing", ] [[package]] name = "sp-consensus" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.40.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "futures 0.3.30", @@ -15092,8 +14965,8 @@ dependencies = [ [[package]] name = "sp-consensus-aura" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.40.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "parity-scale-codec", @@ -15108,8 +14981,8 @@ dependencies = [ [[package]] name = "sp-consensus-babe" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.40.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "parity-scale-codec", @@ -15126,8 +14999,8 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "22.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "lazy_static", "parity-scale-codec", @@ -15146,8 +15019,8 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "finality-grandpa", "log", @@ -15163,8 +15036,8 @@ dependencies = [ [[package]] name = "sp-consensus-slots" -version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.40.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "scale-info", @@ -15174,11 +15047,10 @@ dependencies = [ [[package]] name = "sp-core" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", - "bandersnatch_vrfs", "bitflags 1.3.2", "blake2 0.10.6", "bounded-collections", @@ -15199,18 +15071,18 @@ dependencies = [ "parking_lot 0.12.3", "paste", "primitive-types", - "rand 0.8.5", + "rand", "scale-info", "schnorrkel 0.11.4", "secp256k1", "secrecy", "serde", "sp-crypto-hashing", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-debug-derive", + "sp-externalities", + "sp-runtime-interface", + "sp-std", + "sp-storage", "ss58-registry", "substrate-bip39", "thiserror", @@ -15219,30 +15091,10 @@ dependencies = [ "zeroize", ] -[[package]] -name = "sp-crypto-ec-utils" -version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk#0f7acb52ada19ef934189a2ff02bdb5981634ead" -dependencies = [ - "ark-bls12-377", - "ark-bls12-377-ext", - "ark-bls12-381", - "ark-bls12-381-ext", - "ark-bw6-761", - "ark-bw6-761-ext", - "ark-ec", - "ark-ed-on-bls12-377", - "ark-ed-on-bls12-377-ext", - "ark-ed-on-bls12-381-bandersnatch", - "ark-ed-on-bls12-381-bandersnatch-ext", - "ark-scale", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk)", -] - [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "blake2b_simd", "byteorder", @@ -15255,7 +15107,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "quote", "sp-crypto-hashing", @@ -15265,7 +15117,7 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "kvdb", "parking_lot 0.12.3", @@ -15274,47 +15126,27 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "proc-macro2", "quote", "syn 2.0.77", ] -[[package]] -name = "sp-debug-derive" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#0f7acb52ada19ef934189a2ff02bdb5981634ead" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.77", -] - -[[package]] -name = "sp-externalities" -version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "environmental", - "parity-scale-codec", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", -] - [[package]] name = "sp-externalities" -version = "0.25.0" -source = "git+https://github.com/paritytech/polkadot-sdk#0f7acb52ada19ef934189a2ff02bdb5981634ead" +version = "0.29.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "environmental", "parity-scale-codec", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-storage", ] [[package]] name = "sp-genesis-builder" -version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.15.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "scale-info", @@ -15325,8 +15157,8 @@ dependencies = [ [[package]] name = "sp-inherents" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -15338,11 +15170,12 @@ dependencies = [ [[package]] name = "sp-io" -version = "30.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bytes", - "ed25519-dalek 2.1.1", + "docify", + "ed25519-dalek", "libsecp256k1", "log", "parity-scale-codec", @@ -15351,12 +15184,11 @@ dependencies = [ "secp256k1", "sp-core", "sp-crypto-hashing", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-keystore", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", "sp-state-machine", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", "sp-trie", "tracing", "tracing-core", @@ -15364,8 +15196,8 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "sp-core", "sp-runtime", @@ -15374,19 +15206,19 @@ dependencies = [ [[package]] name = "sp-keystore" -version = "0.34.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.40.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", ] [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "thiserror", "zstd 0.12.4", @@ -15394,8 +15226,8 @@ dependencies = [ [[package]] name = "sp-metadata-ir" -version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.7.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -15404,8 +15236,8 @@ dependencies = [ [[package]] name = "sp-mixnet" -version = "0.4.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.12.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "scale-info", @@ -15415,8 +15247,8 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "log", "parity-scale-codec", @@ -15425,15 +15257,15 @@ dependencies = [ "serde", "sp-api", "sp-core", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-debug-derive", "sp-runtime", "thiserror", ] [[package]] name = "sp-npos-elections" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "scale-info", @@ -15445,8 +15277,8 @@ dependencies = [ [[package]] name = "sp-offchain" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "sp-api", "sp-core", @@ -15456,7 +15288,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "backtrace", "lazy_static", @@ -15465,8 +15297,8 @@ dependencies = [ [[package]] name = "sp-rpc" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "32.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "rustc-hash", "serde", @@ -15475,8 +15307,8 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "31.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "39.0.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "docify", "either", @@ -15486,7 +15318,7 @@ dependencies = [ "num-traits", "parity-scale-codec", "paste", - "rand 0.8.5", + "rand", "scale-info", "serde", "simple-mermaid", @@ -15494,65 +15326,34 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-io", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-weights", + "tracing", ] [[package]] name = "sp-runtime-interface" -version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "bytes", - "impl-trait-for-tuples", - "parity-scale-codec", - "polkavm-derive", - "primitive-types", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "static_assertions", -] - -[[package]] -name = "sp-runtime-interface" -version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#0f7acb52ada19ef934189a2ff02bdb5981634ead" +version = "28.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bytes", "impl-trait-for-tuples", "parity-scale-codec", "polkavm-derive", "primitive-types", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-runtime-interface-proc-macro 17.0.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk)", - "sp-wasm-interface 20.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-externalities", + "sp-runtime-interface-proc-macro", + "sp-std", + "sp-storage", + "sp-tracing", + "sp-wasm-interface", "static_assertions", ] [[package]] name = "sp-runtime-interface-proc-macro" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "Inflector", - "expander", - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.77", -] - -[[package]] -name = "sp-runtime-interface-proc-macro" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#0f7acb52ada19ef934189a2ff02bdb5981634ead" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "Inflector", "expander", @@ -15564,8 +15365,8 @@ dependencies = [ [[package]] name = "sp-session" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "35.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "scale-info", @@ -15578,8 +15379,8 @@ dependencies = [ [[package]] name = "sp-staking" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -15591,17 +15392,17 @@ dependencies = [ [[package]] name = "sp-state-machine" -version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.43.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "hash-db", "log", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "smallvec", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-panic-handler", "sp-trie", "thiserror", @@ -15611,66 +15412,49 @@ dependencies = [ [[package]] name = "sp-statement-store" -version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "aes-gcm", - "curve25519-dalek 4.1.3", - "ed25519-dalek 2.1.1", + "curve25519-dalek", + "ed25519-dalek", "hkdf", "parity-scale-codec", - "rand 0.8.5", + "rand", "scale-info", "sha2 0.10.8", "sp-api", "sp-application-crypto", "sp-core", "sp-crypto-hashing", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "sp-runtime", - "sp-runtime-interface 24.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-runtime-interface", "thiserror", - "x25519-dalek 2.0.1", + "x25519-dalek", ] [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" - -[[package]] -name = "sp-std" -version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#0f7acb52ada19ef934189a2ff02bdb5981634ead" - -[[package]] -name = "sp-storage" -version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "impl-serde", - "parity-scale-codec", - "ref-cast", - "serde", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", -] +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" [[package]] name = "sp-storage" -version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#0f7acb52ada19ef934189a2ff02bdb5981634ead" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "impl-serde", "parity-scale-codec", "ref-cast", "serde", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk)", + "sp-debug-derive", ] [[package]] name = "sp-timestamp" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "parity-scale-codec", @@ -15681,19 +15465,8 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "parity-scale-codec", - "tracing", - "tracing-core", - "tracing-subscriber", -] - -[[package]] -name = "sp-tracing" -version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#0f7acb52ada19ef934189a2ff02bdb5981634ead" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "tracing", @@ -15703,8 +15476,8 @@ dependencies = [ [[package]] name = "sp-transaction-pool" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "sp-api", "sp-runtime", @@ -15712,8 +15485,8 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" -version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "34.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "async-trait", "parity-scale-codec", @@ -15726,8 +15499,8 @@ dependencies = [ [[package]] name = "sp-trie" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "ahash", "hash-db", @@ -15736,11 +15509,11 @@ dependencies = [ "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "scale-info", "schnellru", "sp-core", - "sp-externalities 0.25.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-externalities", "thiserror", "tracing", "trie-db", @@ -15749,8 +15522,8 @@ dependencies = [ [[package]] name = "sp-version" -version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "impl-serde", "parity-scale-codec", @@ -15759,15 +15532,15 @@ dependencies = [ "serde", "sp-crypto-hashing-proc-macro", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "sp-version-proc-macro", "thiserror", ] [[package]] name = "sp-version-proc-macro" -version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "14.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -15777,8 +15550,8 @@ dependencies = [ [[package]] name = "sp-wasm-interface" -version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "21.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -15787,21 +15560,10 @@ dependencies = [ "wasmtime", ] -[[package]] -name = "sp-wasm-interface" -version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk#0f7acb52ada19ef934189a2ff02bdb5981634ead" -dependencies = [ - "anyhow", - "impl-trait-for-tuples", - "log", - "parity-scale-codec", -] - [[package]] name = "sp-weights" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "31.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -15809,7 +15571,7 @@ dependencies = [ "serde", "smallvec", "sp-arithmetic", - "sp-debug-derive 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-debug-derive", ] [[package]] @@ -15866,8 +15628,8 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-parachain-info" -version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.16.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -15875,13 +15637,12 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", ] [[package]] name = "staging-xcm" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "14.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "bounded-collections", @@ -15898,8 +15659,8 @@ dependencies = [ [[package]] name = "staging-xcm-builder" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-system", @@ -15912,7 +15673,6 @@ dependencies = [ "sp-arithmetic", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-weights", "staging-xcm", "staging-xcm-executor", @@ -15920,23 +15680,22 @@ dependencies = [ [[package]] name = "staging-xcm-executor" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "environmental", "frame-benchmarking", "frame-support", "impl-trait-for-tuples", - "log", "parity-scale-codec", "scale-info", "sp-arithmetic", "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-weights", "staging-xcm", + "tracing", ] [[package]] @@ -15994,16 +15753,14 @@ dependencies = [ ] [[package]] -name = "strobe-rs" -version = "0.8.1" +name = "string-interner" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fabb238a1cccccfa4c4fb703670c0d157e1256c1ba695abf1b93bd2bb14bab2d" +checksum = "1c6a0d765f5807e98a091107bae0a56ea3799f66a5de47b2c84c94a39c09974e" dependencies = [ - "bitflags 1.3.2", - "byteorder", - "keccak", - "subtle 2.6.1", - "zeroize", + "cfg-if", + "hashbrown 0.14.5", + "serde", ] [[package]] @@ -16055,8 +15812,8 @@ dependencies = [ [[package]] name = "substrate-bip39" -version = "0.4.7" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "0.6.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "hmac 0.12.1", "pbkdf2 0.12.2", @@ -16074,20 +15831,21 @@ dependencies = [ "byteorder", "crunchy", "lazy_static", - "rand 0.8.5", + "rand", "rustc-hex", ] [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" [[package]] name = "substrate-frame-rpc-system" -version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "38.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ + "docify", "frame-system-rpc-runtime-api", "futures 0.3.30", "jsonrpsee", @@ -16105,9 +15863,11 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ - "hyper", + "http-body-util", + "hyper 1.4.1", + "hyper-util", "log", "prometheus", "thiserror", @@ -16116,8 +15876,8 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" -version = "27.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "37.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -16133,8 +15893,8 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "24.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "array-bytes", "build-helper", @@ -16150,7 +15910,7 @@ dependencies = [ "sp-core", "sp-io", "sp-maybe-compressed-blob", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-tracing", "sp-version", "strum 0.26.3", "tempfile", @@ -16464,7 +16224,7 @@ dependencies = [ "libc", "mio", "parking_lot 0.12.3", - "pin-project-lite 0.2.14", + "pin-project-lite", "signal-hook-registry", "socket2 0.5.7", "tokio-macros", @@ -16494,11 +16254,11 @@ dependencies = [ [[package]] name = "tokio-rustls" -version = "0.25.0" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" dependencies = [ - "rustls 0.22.4", + "rustls 0.23.13", "rustls-pki-types", "tokio", ] @@ -16510,7 +16270,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ "futures-core", - "pin-project-lite 0.2.14", + "pin-project-lite", "tokio", "tokio-util", ] @@ -16540,7 +16300,7 @@ dependencies = [ "futures-core", "futures-io", "futures-sink", - "pin-project-lite 0.2.14", + "pin-project-lite", "tokio", ] @@ -16562,7 +16322,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.20", + "toml_edit", ] [[package]] @@ -16574,17 +16334,6 @@ dependencies = [ "serde", ] -[[package]] -name = "toml_edit" -version = "0.20.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" -dependencies = [ - "indexmap 2.5.0", - "toml_datetime", - "winnow 0.5.40", -] - [[package]] name = "toml_edit" version = "0.22.20" @@ -16595,7 +16344,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.18", + "winnow", ] [[package]] @@ -16607,7 +16356,7 @@ dependencies = [ "futures-core", "futures-util", "pin-project", - "pin-project-lite 0.2.14", + "pin-project-lite", "tower-layer", "tower-service", "tracing", @@ -16615,18 +16364,16 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.4" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" dependencies = [ "bitflags 2.6.0", "bytes", - "futures-core", - "futures-util", - "http", - "http-body", - "http-range-header", - "pin-project-lite 0.2.14", + "http 1.1.0", + "http-body 1.0.1", + "http-body-util", + "pin-project-lite", "tower-layer", "tower-service", ] @@ -16650,7 +16397,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ "log", - "pin-project-lite 0.2.14", + "pin-project-lite", "tracing-attributes", "tracing-core", ] @@ -16688,8 +16435,8 @@ dependencies = [ [[package]] name = "tracing-gum" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "15.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "coarsetime", "polkadot-primitives", @@ -16700,7 +16447,7 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "expander", "proc-macro-crate 3.2.0", @@ -16734,7 +16481,6 @@ dependencies = [ "sharded-slab", "smallvec", "thread_local", - "time", "tracing", "tracing-core", "tracing-log", @@ -16777,7 +16523,7 @@ dependencies = [ "idna 0.2.3", "ipnet", "lazy_static", - "rand 0.8.5", + "rand", "smallvec", "socket2 0.4.10", "thiserror", @@ -16803,7 +16549,7 @@ dependencies = [ "idna 0.4.0", "ipnet", "once_cell", - "rand 0.8.5", + "rand", "smallvec", "thiserror", "tinyvec", @@ -16812,26 +16558,6 @@ dependencies = [ "url", ] -[[package]] -name = "trust-dns-resolver" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aff21aa4dcefb0a1afbfac26deb0adc93888c7d295fb63ab273ef276ba2b7cfe" -dependencies = [ - "cfg-if", - "futures-util", - "ipconfig", - "lazy_static", - "lru-cache", - "parking_lot 0.12.3", - "resolv-conf", - "smallvec", - "thiserror", - "tokio", - "tracing", - "trust-dns-proto 0.22.0", -] - [[package]] name = "trust-dns-resolver" version = "0.23.2" @@ -16844,7 +16570,7 @@ dependencies = [ "lru-cache", "once_cell", "parking_lot 0.12.3", - "rand 0.8.5", + "rand", "resolv-conf", "smallvec", "thiserror", @@ -16874,10 +16600,10 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http", + "http 0.2.12", "httparse", "log", - "rand 0.8.5", + "rand", "rustls 0.21.12", "sha1", "thiserror", @@ -16893,7 +16619,7 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.7", - "rand 0.8.5", + "rand", "static_assertions", ] @@ -16997,6 +16723,15 @@ dependencies = [ "bytes", "futures-io", "futures-util", +] + +[[package]] +name = "unsigned-varint" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb066959b24b5196ae73cb057f45598450d2c5f71460e98c49b738086eff9c06" +dependencies = [ + "bytes", "tokio-util", ] @@ -17041,7 +16776,7 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.15", + "getrandom", "serde", ] @@ -17081,7 +16816,7 @@ dependencies = [ "sp-arithmetic", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", ] [[package]] @@ -17105,9 +16840,9 @@ dependencies = [ "arrayref", "constcat", "digest 0.10.7", - "rand 0.8.5", - "rand_chacha 0.3.1", - "rand_core 0.6.4", + "rand", + "rand_chacha", + "rand_core", "sha2 0.10.8", "sha3", "thiserror", @@ -17139,12 +16874,6 @@ dependencies = [ "try-lock", ] -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -17157,7 +16886,7 @@ version = "0.12.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c1fbb4ef9bbca0c1170e0b00dd28abc9e3b68669821600cad1caaed606583c6d" dependencies = [ - "wasi 0.11.0+wasi-snapshot-preview1", + "wasi", ] [[package]] @@ -17300,7 +17029,24 @@ dependencies = [ "smallvec", "spin 0.9.8", "wasmi_arena", - "wasmi_core", + "wasmi_core 0.13.0", + "wasmparser-nostd", +] + +[[package]] +name = "wasmi" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50386c99b9c32bd2ed71a55b6dd4040af2580530fae8bdb9a6576571a80d0cca" +dependencies = [ + "arrayvec 0.7.6", + "multi-stash", + "num-derive", + "num-traits", + "smallvec", + "spin 0.9.8", + "wasmi_collections", + "wasmi_core 0.32.3", "wasmparser-nostd", ] @@ -17310,6 +17056,17 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "104a7f73be44570cac297b3035d76b169d6599637631cf37a1703326a0727073" +[[package]] +name = "wasmi_collections" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c128c039340ffd50d4195c3f8ce31aac357f06804cfc494c8b9508d4b30dca4" +dependencies = [ + "ahash", + "hashbrown 0.14.5", + "string-interner", +] + [[package]] name = "wasmi_core" version = "0.13.0" @@ -17322,6 +17079,18 @@ dependencies = [ "paste", ] +[[package]] +name = "wasmi_core" +version = "0.32.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a23b3a7f6c8c3ceeec6b83531ee61f0013c56e51cbf2b14b0f213548b23a4b41" +dependencies = [ + "downcast-rs", + "libm", + "num-traits", + "paste", +] + [[package]] name = "wasmparser" version = "0.102.0" @@ -17516,7 +17285,7 @@ dependencies = [ "memfd", "memoffset", "paste", - "rand 0.8.5", + "rand", "rustix 0.36.17", "wasmtime-asm-macros", "wasmtime-environ", @@ -17558,17 +17327,23 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.22.6" +version = "0.25.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" + +[[package]] +name = "webpki-roots" +version = "0.26.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" dependencies = [ - "webpki", + "rustls-pki-types", ] [[package]] name = "westend-runtime" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "17.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "binary-merkle-tree", "bitvec", @@ -17639,7 +17414,6 @@ dependencies = [ "polkadot-primitives", "polkadot-runtime-common", "polkadot-runtime-parachains", - "rustc-hex", "scale-info", "serde", "serde_derive", @@ -17661,8 +17435,7 @@ dependencies = [ "sp-runtime", "sp-session", "sp-staking", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-storage 19.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-storage", "sp-transaction-pool", "sp-version", "staging-xcm", @@ -17670,13 +17443,13 @@ dependencies = [ "staging-xcm-executor", "substrate-wasm-builder", "westend-runtime-constants", - "xcm-fee-payment-runtime-api", + "xcm-runtime-apis", ] [[package]] name = "westend-runtime-constants" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "polkadot-primitives", @@ -17739,7 +17512,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] @@ -18005,15 +17778,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - [[package]] name = "winnow" version = "0.6.18" @@ -18061,42 +17825,30 @@ dependencies = [ "tap", ] -[[package]] -name = "x25519-dalek" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a0c105152107e3b96f6a00a65e86ce82d9b125230e1c4302940eca58ff71f4f" -dependencies = [ - "curve25519-dalek 3.2.0", - "rand_core 0.5.1", - "zeroize", -] - [[package]] name = "x25519-dalek" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277" dependencies = [ - "curve25519-dalek 4.1.3", - "rand_core 0.6.4", + "curve25519-dalek", + "rand_core", "serde", "zeroize", ] [[package]] name = "x509-parser" -version = "0.14.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" +checksum = "7069fba5b66b9193bd2c5d3d4ff12b839118f6bcbef5328efafafb5395cf63da" dependencies = [ - "asn1-rs", - "base64 0.13.1", + "asn1-rs 0.5.2", "data-encoding", - "der-parser", + "der-parser 8.2.0", "lazy_static", "nom", - "oid-registry", + "oid-registry 0.6.1", "rusticata-macros", "thiserror", "time", @@ -18104,51 +17856,50 @@ dependencies = [ [[package]] name = "x509-parser" -version = "0.15.1" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7069fba5b66b9193bd2c5d3d4ff12b839118f6bcbef5328efafafb5395cf63da" +checksum = "fcbc162f30700d6f3f82a24bf7cc62ffe7caea42c0b2cba8bf7f3ae50cf51f69" dependencies = [ - "asn1-rs", + "asn1-rs 0.6.2", "data-encoding", - "der-parser", + "der-parser 9.0.0", "lazy_static", "nom", - "oid-registry", + "oid-registry 0.7.1", "rusticata-macros", "thiserror", "time", ] [[package]] -name = "xcm-fee-payment-runtime-api" -version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +name = "xcm-procedural" +version = "10.1.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +dependencies = [ + "Inflector", + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "xcm-runtime-apis" +version = "0.3.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "parity-scale-codec", "scale-info", "sp-api", - "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", "sp-weights", "staging-xcm", -] - -[[package]] -name = "xcm-procedural" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" -dependencies = [ - "Inflector", - "proc-macro2", - "quote", - "syn 2.0.77", + "staging-xcm-executor", ] [[package]] name = "xcm-simulator" -version = "7.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0#d5160c1d567cc73c7df6c816d41e21aa3adb188d" +version = "16.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" dependencies = [ "frame-support", "frame-system", @@ -18161,7 +17912,7 @@ dependencies = [ "scale-info", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -18202,8 +17953,8 @@ dependencies = [ "sp-core", "sp-io", "sp-runtime", - "sp-std 14.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", - "sp-tracing 16.0.0 (git+https://github.com/paritytech/polkadot-sdk?branch=release-polkadot-v1.13.0)", + "sp-std", + "sp-tracing", "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", @@ -18228,17 +17979,33 @@ dependencies = [ "substrate-build-script-utils", ] +[[package]] +name = "xml-rs" +version = "0.8.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af4e2e2f7cba5a093896c1e150fbfe177d1883e7448200efb81d40b9d339ef26" + +[[package]] +name = "xmltree" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7d8a75eaf6557bb84a65ace8609883db44a29951042ada9b393151532e41fcb" +dependencies = [ + "xml-rs", +] + [[package]] name = "yamux" -version = "0.10.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5" +checksum = "9ed0164ae619f2dc144909a9f082187ebb5893693d8c0196e8085283ccd4b776" dependencies = [ "futures 0.3.30", "log", "nohash-hasher", "parking_lot 0.12.3", - "rand 0.8.5", + "pin-project", + "rand", "static_assertions", ] diff --git a/Cargo.toml b/Cargo.toml index dc1ac1641..0f52be206 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,10 +73,10 @@ clap = { version = "4.2.5", features = ["derive"] } env_logger = "0.10.0" futures = { version = "0.3.30" } serde = { version = "1.0.151", default-features = false, features = ["derive", "alloc"] } -serde_json = { version = "1.0.92", default-features = false } +serde_json = { version = "1.0.121", default-features = false } tokio = { version = "1.24.2", features = ["macros", "sync"] } url = "2.2.2" -jsonrpsee = { version = "0.22.5", features = ["server"] } +jsonrpsee = { version = "0.23.2", features = ["server"] } hex-literal = "0.4.1" rlp = "0.5" tracing = "0.1.34" @@ -93,96 +93,96 @@ ethers = { version = "2.0.9", default-features = false } # Substrate # (wasm) -sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-core-hashing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-staking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } +sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-core-hashing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-staking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # (native) -sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-sysinfo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } +sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-sysinfo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } # Substrate pallets # (wasm) -pallet-assets = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-contracts = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-contracts-uapi = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-identity = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-migrations = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false, features = ["historical"] } -pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-vesting = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-collective = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-democracy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-treasury = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } +pallet-assets = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-contracts = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-contracts-uapi = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-identity = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-migrations = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false, features = ["historical"] } +pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-vesting = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-collective = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-democracy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-treasury = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # EVM & Ethereum # (wasm) @@ -195,90 +195,90 @@ ethereum = { version = "0.15.0", default-features = false } # Frontier # (wasm) -fp-rpc = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false } -fp-self-contained = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false, features = ["serde"] } -pallet-ethereum = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false, features = ["forbid-evm-reentrancy"] } -pallet-evm = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false, features = ["forbid-evm-reentrancy"] } -pallet-evm-precompile-blake2 = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false } -pallet-evm-precompile-bn128 = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false } -pallet-evm-precompile-dispatch = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false } -pallet-evm-precompile-ed25519 = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false } -pallet-evm-precompile-modexp = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false } -pallet-evm-precompile-sha3fips = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false } -pallet-evm-precompile-simple = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false } -pallet-base-fee = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false } -pallet-evm-chain-id = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false } -fp-evm = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false } -fp-ethereum = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false } -precompile-utils = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", default-features = false } +fp-rpc = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false } +fp-self-contained = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false, features = ["serde"] } +pallet-ethereum = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false, features = ["forbid-evm-reentrancy"] } +pallet-evm = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false, features = ["forbid-evm-reentrancy"] } +pallet-evm-precompile-blake2 = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false } +pallet-evm-precompile-bn128 = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false } +pallet-evm-precompile-dispatch = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false } +pallet-evm-precompile-ed25519 = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false } +pallet-evm-precompile-modexp = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false } +pallet-evm-precompile-sha3fips = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false } +pallet-evm-precompile-simple = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false } +pallet-base-fee = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false } +pallet-evm-chain-id = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false } +fp-evm = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false } +fp-ethereum = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false } +precompile-utils = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", default-features = false } # (native) -fc-consensus = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0" } -fc-db = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0" } -fc-api = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0" } -fc-mapping-sync = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0" } -fc-rpc = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0", features = ["rpc-binary-search-estimate", "txpool"] } -fc-rpc-core = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0" } -fp-consensus = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0" } -fp-storage = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0" } -fc-storage = { git = "https://github.com/AstarNetwork/frontier", branch = "polkadot-v1.13.0" } +fc-consensus = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407" } +fc-db = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407" } +fc-api = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407" } +fc-mapping-sync = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407" } +fc-rpc = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407", features = ["rpc-binary-search-estimate", "txpool"] } +fc-rpc-core = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407" } +fp-consensus = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407" } +fp-storage = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407" } +fc-storage = { git = "https://github.com/AstarNetwork/frontier", branch = "stable2407" } # Cumulus # (wasm) -cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -cumulus-primitives-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -parachain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -parachains-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } +cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-primitives-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +parachain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +parachains-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # (native) -cumulus-client-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-client-consensus-relay-chain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-client-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-relay-chain-rpc-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -cumulus-test-relay-sproof-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } +cumulus-client-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-relay-chain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-relay-chain-rpc-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-test-relay-sproof-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } # Polkadot # (wasm) -polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -polkadot-core-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -polkadot-parachain = { package = "polkadot-parachain-primitives", git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } +polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-core-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-parachain = { package = "polkadot-parachain-primitives", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # XCM # (wasm) -cumulus-pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -pallet-xcm-benchmarks = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -xcm-executor = { package = "staging-xcm-executor", git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -xcm-simulator = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } -xcm-fee-payment-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0", default-features = false } +cumulus-pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-xcm-benchmarks = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +xcm-executor = { package = "staging-xcm-executor", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +xcm-simulator = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +xcm-runtime-apis = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # (native) -polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -polkadot-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } +polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +polkadot-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } # ORML # (wasm) -orml-xtokens = { git = "https://github.com/AstarNetwork/open-runtime-module-library", branch = "polkadot-v1.13.0", default-features = false } -orml-traits = { git = "https://github.com/AstarNetwork/open-runtime-module-library", branch = "polkadot-v1.13.0", default-features = false } -orml-xcm-support = { git = "https://github.com/AstarNetwork/open-runtime-module-library", branch = "polkadot-v1.13.0", default-features = false } -orml-oracle = { git = "https://github.com/AstarNetwork/open-runtime-module-library", branch = "polkadot-v1.13.0", default-features = false } +orml-xtokens = { git = "https://github.com/AstarNetwork/open-runtime-module-library", branch = "stable2407", default-features = false } +orml-traits = { git = "https://github.com/AstarNetwork/open-runtime-module-library", branch = "stable2407", default-features = false } +orml-xcm-support = { git = "https://github.com/AstarNetwork/open-runtime-module-library", branch = "stable2407", default-features = false } +orml-oracle = { git = "https://github.com/AstarNetwork/open-runtime-module-library", branch = "stable2407", default-features = false } # Astar pallets & modules # (wasm) @@ -338,5 +338,5 @@ moonbeam-rpc-core-trace = { path = "./vendor/rpc-core/trace" } moonbeam-rpc-core-debug = { path = "./vendor/rpc-core/debug" } # Build deps -substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } -substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "release-polkadot-v1.13.0" } +substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } diff --git a/bin/collator/src/parachain/fake_runtime_api.rs b/bin/collator/src/parachain/fake_runtime_api.rs index 6583330f4..5a4e0a545 100644 --- a/bin/collator/src/parachain/fake_runtime_api.rs +++ b/bin/collator/src/parachain/fake_runtime_api.rs @@ -224,6 +224,10 @@ impl_runtime_apis! { fn pending_block(_xts: Vec<::Extrinsic>) -> (Option, Option>) { unimplemented!() } + + fn initialize_pending_block(_header: &::Header) { + unimplemented!() + } } impl fp_rpc::ConvertTransactionRuntimeApi for Runtime { diff --git a/bin/collator/src/parachain/service.rs b/bin/collator/src/parachain/service.rs index a1dbb4b5b..64566c934 100644 --- a/bin/collator/src/parachain/service.rs +++ b/bin/collator/src/parachain/service.rs @@ -620,7 +620,6 @@ fn start_aura_consensus( .map(|c| ValidationCode::from(c).hash()) } }, - sync_oracle: sync_oracle.clone(), keystore, collator_key, para_id, @@ -634,7 +633,7 @@ fn start_aura_consensus( let fut = async move { wait_for_aura(client).await; - aura::run::(params).await + aura::run::(params).await }; task_manager diff --git a/bin/collator/src/parachain/shell_upgrade.rs b/bin/collator/src/parachain/shell_upgrade.rs index 55ccd068a..28abe1fd1 100644 --- a/bin/collator/src/parachain/shell_upgrade.rs +++ b/bin/collator/src/parachain/shell_upgrade.rs @@ -50,7 +50,7 @@ where Client::Api: AuraApi, { async fn verify( - &mut self, + &self, block_import: BlockImportParams, ) -> Result, String> { if self diff --git a/chain-extensions/pallet-assets/src/mock.rs b/chain-extensions/pallet-assets/src/mock.rs index ab514822e..810a42d55 100644 --- a/chain-extensions/pallet-assets/src/mock.rs +++ b/chain-extensions/pallet-assets/src/mock.rs @@ -126,6 +126,7 @@ impl pallet_contracts::Config for Test { type UploadOrigin = EnsureSigned; type InstantiateOrigin = EnsureSigned; type ApiVersion = (); + type MaxTransientStorageSize = ConstU32<{ 1 * 1024 * 1024 }>; } impl RegisteredChainExtension for AssetsExtension { diff --git a/pallets/vesting-mbm/src/tests.rs b/pallets/vesting-mbm/src/tests.rs index 052c18b69..612f59dde 100644 --- a/pallets/vesting-mbm/src/tests.rs +++ b/pallets/vesting-mbm/src/tests.rs @@ -45,15 +45,15 @@ fn migrate_to_new_block_time() { assert_eq!(Vesting::vesting_balance(&DAVE), Some(300)); // starts vesting at block 5, 20 per block assert_eq!( - Vesting::vesting(&BOB).unwrap().to_vec(), + Vesting::vesting(BOB).unwrap().to_vec(), vec![VestingInfo::new(100, 10, 10)] ); assert_eq!( - Vesting::vesting(&CHARLIE).unwrap().to_vec(), + Vesting::vesting(CHARLIE).unwrap().to_vec(), vec![VestingInfo::new(1000, 100, 20)] ); assert_eq!( - Vesting::vesting(&DAVE).unwrap().to_vec(), + Vesting::vesting(DAVE).unwrap().to_vec(), vec![VestingInfo::new(400, 20, 5)] ); @@ -67,15 +67,15 @@ fn migrate_to_new_block_time() { assert_eq!(Vesting::vesting_balance(&DAVE), Some(290)); // 10 unlocked assert_eq!( - Vesting::vesting(&BOB).unwrap().to_vec(), + Vesting::vesting(BOB).unwrap().to_vec(), vec![VestingInfo::new(100, 5, 10)] ); assert_eq!( - Vesting::vesting(&CHARLIE).unwrap().to_vec(), + Vesting::vesting(CHARLIE).unwrap().to_vec(), vec![VestingInfo::new(1000, 50, 30)] ); assert_eq!( - Vesting::vesting(&DAVE).unwrap().to_vec(), + Vesting::vesting(DAVE).unwrap().to_vec(), vec![VestingInfo::new(300, 10, 10)] ); diff --git a/pallets/xc-asset-config/src/tests.rs b/pallets/xc-asset-config/src/tests.rs index 420c792cb..80841ab4d 100644 --- a/pallets/xc-asset-config/src/tests.rs +++ b/pallets/xc-asset-config/src/tests.rs @@ -16,6 +16,7 @@ // You should have received a copy of the GNU General Public License // along with Astar. If not, see . +#![allow(deprecated)] use super::{pallet::Error, pallet::Event, *}; use frame_support::{assert_noop, assert_ok, WeakBoundedVec}; use mock::*; @@ -87,7 +88,7 @@ fn register_asset_location_and_units_per_sec_is_ok() { )); System::assert_last_event(mock::RuntimeEvent::XcAssetConfig(Event::AssetRegistered { asset_location: asset_location.clone().into_versioned(), - asset_id: asset_id, + asset_id, })); // Assert storage state after registering asset diff --git a/runtime/astar/Cargo.toml b/runtime/astar/Cargo.toml index bced40454..c8efe9434 100644 --- a/runtime/astar/Cargo.toml +++ b/runtime/astar/Cargo.toml @@ -91,7 +91,7 @@ polkadot-runtime-common = { workspace = true } xcm = { workspace = true } xcm-builder = { workspace = true } xcm-executor = { workspace = true } -xcm-fee-payment-runtime-api = { workspace = true } +xcm-runtime-apis = { workspace = true } # orml dependencies orml-oracle = { workspace = true } @@ -172,7 +172,7 @@ std = [ "pallet-balances/std", "pallet-proxy/std", "pallet-dapp-staking/std", - "xcm-fee-payment-runtime-api/std", + "xcm-runtime-apis/std", "dapp-staking-runtime-api/std", "pallet-inflation/std", "pallet-evm-precompile-dapp-staking/std", @@ -285,7 +285,7 @@ runtime-benchmarks = [ "polkadot-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "xcm-executor/runtime-benchmarks", - "xcm-fee-payment-runtime-api/runtime-benchmarks", + "xcm-runtime-apis/runtime-benchmarks", "cumulus-primitives-core/runtime-benchmarks", "parachains-common/runtime-benchmarks", "orml-oracle/runtime-benchmarks", diff --git a/runtime/astar/src/lib.rs b/runtime/astar/src/lib.rs index 43a100dee..1aeefe29a 100644 --- a/runtime/astar/src/lib.rs +++ b/runtime/astar/src/lib.rs @@ -71,7 +71,7 @@ use xcm::{ v4::{AssetId as XcmAssetId, Location as XcmLocation}, IntoVersion, VersionedAssetId, VersionedAssets, VersionedLocation, VersionedXcm, }; -use xcm_fee_payment_runtime_api::{ +use xcm_runtime_apis::{ dry_run::{CallDryRunEffects, Error as XcmDryRunApiError, XcmDryRunEffects}, fees::Error as XcmPaymentApiError, }; @@ -726,6 +726,7 @@ impl pallet_contracts::Config for Runtime { type UploadOrigin = EnsureSigned<::AccountId>; type InstantiateOrigin = EnsureSigned<::AccountId>; type ApiVersion = (); + type MaxTransientStorageSize = ConstU32<{ 1 * 1024 * 1024 }>; } // These values are based on the Astar 2.0 Tokenomics Modeling report. @@ -1812,6 +1813,10 @@ impl_runtime_apis! { pallet_ethereum::CurrentTransactionStatuses::::get() ) } + + fn initialize_pending_block(header: &::Header) { + Executive::initialize_block(header); + } } impl fp_rpc::ConvertTransactionRuntimeApi for Runtime { @@ -1910,7 +1915,7 @@ impl_runtime_apis! { } } - impl xcm_fee_payment_runtime_api::fees::XcmPaymentApi for Runtime { + impl xcm_runtime_apis::fees::XcmPaymentApi for Runtime { fn query_acceptable_payment_assets(xcm_version: xcm::Version) -> Result, XcmPaymentApiError> { if !matches!(xcm_version, xcm::v3::VERSION | xcm::v4::VERSION) { return Err(XcmPaymentApiError::UnhandledXcmVersion); @@ -1962,7 +1967,7 @@ impl_runtime_apis! { } } - impl xcm_fee_payment_runtime_api::dry_run::DryRunApi for Runtime { + impl xcm_runtime_apis::dry_run::DryRunApi for Runtime { fn dry_run_call(origin: OriginCaller, call: RuntimeCall) -> Result, XcmDryRunApiError> { PolkadotXcm::dry_run_call::(origin, call) } diff --git a/runtime/local/src/lib.rs b/runtime/local/src/lib.rs index 3326113f7..e443912c5 100644 --- a/runtime/local/src/lib.rs +++ b/runtime/local/src/lib.rs @@ -748,6 +748,7 @@ impl pallet_contracts::Config for Runtime { type UploadOrigin = EnsureSigned<::AccountId>; type InstantiateOrigin = EnsureSigned<::AccountId>; type ApiVersion = (); + type MaxTransientStorageSize = ConstU32<{ 1 * 1024 * 1024 }>; } impl pallet_sudo::Config for Runtime { @@ -1027,14 +1028,9 @@ impl pallet_treasury::Config for Runtime { type Currency = Balances; type RuntimeEvent = RuntimeEvent; - // Two origins which can either approve or reject the spending proposal - type ApproveOrigin = EnsureRootOrTwoThirdsMainCouncil; + // Origin to reject the spending proposal type RejectOrigin = EnsureRootOrTwoThirdsMainCouncil; - type OnSlash = Treasury; - type ProposalBond = ProposalBond; - type ProposalBondMinimum = ConstU128<{ 10 * AST }>; - type ProposalBondMaximum = ConstU128<{ 100 * AST }>; type SpendPeriod = ConstU32<{ 1 * MINUTES }>; // We don't do periodic burns of the treasury @@ -1067,14 +1063,9 @@ impl pallet_treasury::Config for Runtime { type Currency = Balances; type RuntimeEvent = RuntimeEvent; - // Two origins which can either approve or reject the spending proposal - type ApproveOrigin = EnsureRootOrTwoThirdsCommunityCouncil; + // Origin to reject the spending proposal type RejectOrigin = EnsureRootOrTwoThirdsCommunityCouncil; - type OnSlash = CommunityTreasury; - type ProposalBond = ProposalBond; - type ProposalBondMinimum = ConstU128<{ 10 * AST }>; - type ProposalBondMaximum = ConstU128<{ 100 * AST }>; type SpendPeriod = ConstU32<{ 1 * MINUTES }>; // We don't do periodic burns of the community treasury @@ -1698,6 +1689,10 @@ impl_runtime_apis! { pallet_ethereum::CurrentTransactionStatuses::::get() ) } + + fn initialize_pending_block(header: &::Header) { + Executive::initialize_block(header); + } } impl fp_rpc::ConvertTransactionRuntimeApi for Runtime { diff --git a/runtime/shibuya/Cargo.toml b/runtime/shibuya/Cargo.toml index 83b56af34..1662d54b7 100644 --- a/runtime/shibuya/Cargo.toml +++ b/runtime/shibuya/Cargo.toml @@ -98,7 +98,7 @@ polkadot-runtime-common = { workspace = true } xcm = { workspace = true } xcm-builder = { workspace = true } xcm-executor = { workspace = true } -xcm-fee-payment-runtime-api = { workspace = true } +xcm-runtime-apis = { workspace = true } # orml dependencies orml-oracle = { workspace = true } @@ -205,7 +205,7 @@ std = [ "pallet-evm-precompile-assets-erc20/std", "pallet-evm-precompile-xcm/std", "pallet-evm-precompile-unified-accounts/std", - "xcm-fee-payment-runtime-api/std", + "xcm-runtime-apis/std", "pallet-evm-precompile-dispatch-lockdrop/std", "pallet-dapp-staking/std", "orml-oracle/std", @@ -320,7 +320,7 @@ runtime-benchmarks = [ "polkadot-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "xcm-executor/runtime-benchmarks", - "xcm-fee-payment-runtime-api/runtime-benchmarks", + "xcm-runtime-apis/runtime-benchmarks", "cumulus-primitives-core/runtime-benchmarks", "parachains-common/runtime-benchmarks", "orml-oracle/runtime-benchmarks", diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index d80f48397..3881b9bec 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -73,7 +73,7 @@ use xcm::{ v4::{AssetId as XcmAssetId, Location as XcmLocation}, IntoVersion, VersionedAssetId, VersionedAssets, VersionedLocation, VersionedXcm, }; -use xcm_fee_payment_runtime_api::{ +use xcm_runtime_apis::{ dry_run::{CallDryRunEffects, Error as XcmDryRunApiError, XcmDryRunEffects}, fees::Error as XcmPaymentApiError, }; @@ -769,6 +769,7 @@ impl pallet_contracts::Config for Runtime { type UploadOrigin = EnsureSigned<::AccountId>; type InstantiateOrigin = EnsureSigned<::AccountId>; type ApiVersion = (); + type MaxTransientStorageSize = ConstU32<{ 1 * 1024 * 1024 }>; } // These values are based on the Astar 2.0 Tokenomics Modeling report. @@ -1417,14 +1418,9 @@ impl pallet_treasury::Config for Runtime { type Currency = Balances; type RuntimeEvent = RuntimeEvent; - // Two origins which can either approve or reject the spending proposal - type ApproveOrigin = EnsureRootOrHalfMainCouncil; + // Origin to reject the spending proposal type RejectOrigin = EnsureRootOrHalfMainCouncil; - type OnSlash = Treasury; - type ProposalBond = ProposalBond; - type ProposalBondMinimum = ConstU128<{ 100 * SBY }>; - type ProposalBondMaximum = ConstU128<{ 10000 * SBY }>; type SpendPeriod = ConstU32<{ 3 * DAYS }>; // We don't do periodic burns of the treasury @@ -1457,14 +1453,9 @@ impl pallet_treasury::Config for Runtime { type Currency = Balances; type RuntimeEvent = RuntimeEvent; - // Two origins which can either approve or reject the spending proposal - type ApproveOrigin = EnsureRootOrHalfCommunityCouncil; + // Origin to reject the spending proposal type RejectOrigin = EnsureRootOrHalfCommunityCouncil; - type OnSlash = CommunityTreasury; - type ProposalBond = ProposalBond; - type ProposalBondMinimum = ConstU128<{ 100 * SBY }>; - type ProposalBondMaximum = ConstU128<{ 10000 * SBY }>; type SpendPeriod = ConstU32<{ 3 * DAYS }>; // We don't do periodic burns of the community treasury @@ -2143,6 +2134,10 @@ impl_runtime_apis! { pallet_ethereum::CurrentTransactionStatuses::::get() ) } + + fn initialize_pending_block(header: &::Header) { + Executive::initialize_block(header); + } } impl fp_rpc::ConvertTransactionRuntimeApi for Runtime { @@ -2241,7 +2236,7 @@ impl_runtime_apis! { } } - impl xcm_fee_payment_runtime_api::fees::XcmPaymentApi for Runtime { + impl xcm_runtime_apis::fees::XcmPaymentApi for Runtime { fn query_acceptable_payment_assets(xcm_version: xcm::Version) -> Result, XcmPaymentApiError> { if !matches!(xcm_version, xcm::v3::VERSION | xcm::v4::VERSION) { return Err(XcmPaymentApiError::UnhandledXcmVersion); @@ -2293,7 +2288,7 @@ impl_runtime_apis! { } } - impl xcm_fee_payment_runtime_api::dry_run::DryRunApi for Runtime { + impl xcm_runtime_apis::dry_run::DryRunApi for Runtime { fn dry_run_call(origin: OriginCaller, call: RuntimeCall) -> Result, XcmDryRunApiError> { PolkadotXcm::dry_run_call::(origin, call) } diff --git a/runtime/shiden/Cargo.toml b/runtime/shiden/Cargo.toml index a28e5aa87..0d09e3177 100644 --- a/runtime/shiden/Cargo.toml +++ b/runtime/shiden/Cargo.toml @@ -93,7 +93,7 @@ polkadot-runtime-common = { workspace = true } xcm = { workspace = true } xcm-builder = { workspace = true } xcm-executor = { workspace = true } -xcm-fee-payment-runtime-api = { workspace = true } +xcm-runtime-apis = { workspace = true } # orml dependencies orml-oracle = { workspace = true } @@ -180,7 +180,7 @@ std = [ "pallet-evm-precompile-dispatch-lockdrop/std", "pallet-evm-precompile-ed25519/std", "pallet-evm-precompile-modexp/std", - "xcm-fee-payment-runtime-api/std", + "xcm-runtime-apis/std", "pallet-evm-precompile-sha3fips/std", "pallet-dapp-staking/std", "dapp-staking-runtime-api/std", @@ -289,7 +289,7 @@ runtime-benchmarks = [ "polkadot-primitives/runtime-benchmarks", "polkadot-runtime-common/runtime-benchmarks", "xcm-executor/runtime-benchmarks", - "xcm-fee-payment-runtime-api/runtime-benchmarks", + "xcm-runtime-apis/runtime-benchmarks", "cumulus-primitives-core/runtime-benchmarks", "pallet-message-queue/runtime-benchmarks", "parachains-common/runtime-benchmarks", diff --git a/runtime/shiden/src/lib.rs b/runtime/shiden/src/lib.rs index 5f5541a10..bbcb1355f 100644 --- a/runtime/shiden/src/lib.rs +++ b/runtime/shiden/src/lib.rs @@ -70,7 +70,7 @@ use xcm::{ v4::{AssetId as XcmAssetId, Location as XcmLocation}, IntoVersion, VersionedAssetId, VersionedAssets, VersionedLocation, VersionedXcm, }; -use xcm_fee_payment_runtime_api::{ +use xcm_runtime_apis::{ dry_run::{CallDryRunEffects, Error as XcmDryRunApiError, XcmDryRunEffects}, fees::Error as XcmPaymentApiError, }; @@ -754,6 +754,7 @@ impl pallet_contracts::Config for Runtime { type UploadOrigin = EnsureSigned<::AccountId>; type InstantiateOrigin = EnsureSigned<::AccountId>; type ApiVersion = (); + type MaxTransientStorageSize = ConstU32<{ 1 * 1024 * 1024 }>; } parameter_types! { @@ -1813,6 +1814,10 @@ impl_runtime_apis! { pallet_ethereum::CurrentTransactionStatuses::::get() ) } + + fn initialize_pending_block(header: &::Header) { + Executive::initialize_block(header); + } } impl fp_rpc::ConvertTransactionRuntimeApi for Runtime { @@ -1911,7 +1916,7 @@ impl_runtime_apis! { } } - impl xcm_fee_payment_runtime_api::fees::XcmPaymentApi for Runtime { + impl xcm_runtime_apis::fees::XcmPaymentApi for Runtime { fn query_acceptable_payment_assets(xcm_version: xcm::Version) -> Result, XcmPaymentApiError> { if !matches!(xcm_version, xcm::v3::VERSION | xcm::v4::VERSION) { return Err(XcmPaymentApiError::UnhandledXcmVersion); @@ -1963,7 +1968,7 @@ impl_runtime_apis! { } } - impl xcm_fee_payment_runtime_api::dry_run::DryRunApi for Runtime { + impl xcm_runtime_apis::dry_run::DryRunApi for Runtime { fn dry_run_call(origin: OriginCaller, call: RuntimeCall) -> Result, XcmDryRunApiError> { PolkadotXcm::dry_run_call::(origin, call) } diff --git a/tests/integration/Cargo.toml b/tests/integration/Cargo.toml index 845182498..4eada925a 100644 --- a/tests/integration/Cargo.toml +++ b/tests/integration/Cargo.toml @@ -46,7 +46,7 @@ sp-runtime = { workspace = true } sp-trie = { workspace = true } xcm = { workspace = true } xcm-executor = { workspace = true } -xcm-fee-payment-runtime-api = { workspace = true } +xcm-runtime-apis = { workspace = true } # astar dependencies assets-chain-extension-types = { workspace = true } @@ -126,7 +126,7 @@ std = [ "sp-runtime/std", "unified-accounts-chain-extension-types/std", "xcm/std", - "xcm-fee-payment-runtime-api/std", + "xcm-runtime-apis/std", "xcm-executor/std", "pallet-session/std", "sp-consensus-aura/std", diff --git a/tests/xcm-simulator/src/mocks/parachain.rs b/tests/xcm-simulator/src/mocks/parachain.rs index 016255e3c..26d211893 100644 --- a/tests/xcm-simulator/src/mocks/parachain.rs +++ b/tests/xcm-simulator/src/mocks/parachain.rs @@ -276,6 +276,7 @@ impl pallet_contracts::Config for Runtime { type UploadOrigin = EnsureSigned; type InstantiateOrigin = EnsureSigned; type ApiVersion = (); + type MaxTransientStorageSize = ConstU32<{ 1 * 1024 * 1024 }>; } /// The type used to represent the kinds of proxying allowed. From ca1ad2f2bcd96e20898b838591056d6ef6f8b7ac Mon Sep 17 00:00:00 2001 From: vedhavyas Date: Wed, 16 Oct 2024 15:57:40 +0530 Subject: [PATCH 02/12] fix integration tests --- tests/integration/src/xcm_api.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/integration/src/xcm_api.rs b/tests/integration/src/xcm_api.rs index a01fd203e..522cff29b 100644 --- a/tests/integration/src/xcm_api.rs +++ b/tests/integration/src/xcm_api.rs @@ -28,8 +28,8 @@ use xcm::{ }, VersionedLocation, VersionedXcm, }; -use xcm_fee_payment_runtime_api::dry_run::runtime_decl_for_dry_run_api::DryRunApiV1; -use xcm_fee_payment_runtime_api::fees::runtime_decl_for_xcm_payment_api::XcmPaymentApiV1; +use xcm_runtime_apis::dry_run::runtime_decl_for_dry_run_api::DryRunApiV1; +use xcm_runtime_apis::fees::runtime_decl_for_xcm_payment_api::XcmPaymentApiV1; /// Register an asset into `pallet-assets` instance, and register as as cross-chain asset. /// From b9be8d71066c5985cba955eda839f38b8b33e94c Mon Sep 17 00:00:00 2001 From: vedhavyas Date: Thu, 17 Oct 2024 13:55:04 +0530 Subject: [PATCH 03/12] update treasury parameters and mark deprecated to specific test instead --- pallets/xc-asset-config/src/tests.rs | 8 ++++---- primitives/src/governance.rs | 5 ++++- runtime/local/src/lib.rs | 16 +++++++--------- runtime/shibuya/src/lib.rs | 15 ++++++--------- 4 files changed, 21 insertions(+), 23 deletions(-) diff --git a/pallets/xc-asset-config/src/tests.rs b/pallets/xc-asset-config/src/tests.rs index 80841ab4d..c834a4f2b 100644 --- a/pallets/xc-asset-config/src/tests.rs +++ b/pallets/xc-asset-config/src/tests.rs @@ -16,7 +16,6 @@ // You should have received a copy of the GNU General Public License // along with Astar. If not, see . -#![allow(deprecated)] use super::{pallet::Error, pallet::Event, *}; use frame_support::{assert_noop, assert_ok, WeakBoundedVec}; use mock::*; @@ -183,7 +182,7 @@ fn change_asset_location_is_ok() { System::assert_last_event(mock::RuntimeEvent::XcAssetConfig( Event::AssetLocationChanged { previous_asset_location: asset_location.clone().into_versioned(), - asset_id: asset_id, + asset_id, new_asset_location: new_asset_location.clone().into_versioned(), }, )); @@ -276,7 +275,7 @@ fn remove_asset_is_ok() { assert_ok!(XcAssetConfig::remove_asset(RuntimeOrigin::root(), asset_id,)); System::assert_last_event(mock::RuntimeEvent::XcAssetConfig(Event::AssetRemoved { asset_location: asset_location.clone().into_versioned(), - asset_id: asset_id, + asset_id, })); // Assert that storage is empty after successful removal @@ -352,7 +351,7 @@ fn public_interfaces_are_ok() { ); assert!(XcAssetConfig::get_units_per_second(asset_location.clone()).is_none()); - // Register ups and expect value value to be returned + // Register ups and expect value to be returned assert_ok!(XcAssetConfig::set_asset_units_per_second( RuntimeOrigin::root(), Box::new(asset_location.clone().into_versioned()), @@ -389,6 +388,7 @@ fn different_xcm_versions_are_ok() { } #[test] +#[allow(deprecated)] fn incompatible_versioned_multilocations_are_not_ok() { ExternalityBuilder::build().execute_with(|| { // Location that cannot be converted from v2 to v4 diff --git a/primitives/src/governance.rs b/primitives/src/governance.rs index a7a1b9094..124d06fbf 100644 --- a/primitives/src/governance.rs +++ b/primitives/src/governance.rs @@ -18,7 +18,7 @@ use crate::AccountId; use frame_support::traits::EitherOfDiverse; -use frame_system::EnsureRoot; +use frame_system::{EnsureRoot, EnsureWithSuccess}; pub type OracleMembershipInst = pallet_membership::Instance1; pub type MainCouncilMembershipInst = pallet_membership::Instance2; @@ -44,6 +44,9 @@ pub type EnsureRootOrTwoThirdsMainCouncil = EitherOfDiverse< pallet_collective::EnsureProportionAtLeast, >; +pub type TreasurySpender = + EnsureWithSuccess; + pub type EnsureRootOrHalfMainCouncil = EitherOfDiverse< EnsureRoot, pallet_collective::EnsureProportionAtLeast, diff --git a/runtime/local/src/lib.rs b/runtime/local/src/lib.rs index e443912c5..4ff80193b 100644 --- a/runtime/local/src/lib.rs +++ b/runtime/local/src/lib.rs @@ -75,7 +75,7 @@ use astar_primitives::{ EnsureRootOrTwoThirdsCommunityCouncil, EnsureRootOrTwoThirdsMainCouncil, EnsureRootOrTwoThirdsTechnicalCommittee, MainCouncilCollectiveInst, MainCouncilMembershipInst, MainTreasuryInst, TechnicalCommitteeCollectiveInst, - TechnicalCommitteeMembershipInst, + TechnicalCommitteeMembershipInst, TreasurySpender, }, Address, AssetId, Balance, BlockNumber, Hash, Header, Nonce, }; @@ -96,6 +96,7 @@ pub use pallet_timestamp::Call as TimestampCall; pub use sp_consensus_aura::sr25519::AuthorityId as AuraId; #[cfg(any(feature = "std", test))] pub use sp_runtime::BuildStorage; + #[cfg(feature = "std")] /// Wasm binary unwrapped. If built with `BUILD_DUMMY_WASM_BINARY`, the function panics. pub fn wasm_binary_unwrap() -> &'static [u8] { @@ -1019,8 +1020,8 @@ impl pallet_democracy::Config for Runtime { } parameter_types! { - pub const ProposalBond: Permill = Permill::from_percent(5); pub MainTreasuryAccount: AccountId = Treasury::account_id(); + pub const MaxBalance: Balance = Balance::MAX; } impl pallet_treasury::Config for Runtime { @@ -1045,10 +1046,8 @@ impl pallet_treasury::Config for Runtime { type Paymaster = PayFromAccount; type BalanceConverter = UnityAssetBalanceConversion; - // New approach to using treasury, useful for OpenGov but not necessarily for us. - type SpendOrigin = frame_support::traits::NeverEnsureOrigin; - // Only used by 'spend' approach which is disabled - type PayoutPeriod = ConstU32<0>; + type SpendOrigin = TreasurySpender; + type PayoutPeriod = ConstU32<{ 30 * MINUTES }>; #[cfg(feature = "runtime-benchmarks")] type BenchmarkHelper = (); type WeightInfo = pallet_treasury::weights::SubstrateWeight; @@ -1081,9 +1080,8 @@ impl pallet_treasury::Config for Runtime { type BalanceConverter = UnityAssetBalanceConversion; // New approach to using treasury, useful for OpenGov but not necessarily for us. - type SpendOrigin = frame_support::traits::NeverEnsureOrigin; - // Only used by 'spend' approach which is disabled - type PayoutPeriod = ConstU32<0>; + type SpendOrigin = TreasurySpender; + type PayoutPeriod = ConstU32<{ 30 * MINUTES }>; #[cfg(feature = "runtime-benchmarks")] type BenchmarkHelper = (); type WeightInfo = pallet_treasury::weights::SubstrateWeight; diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index 3881b9bec..bfa98788f 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -90,7 +90,7 @@ use astar_primitives::{ EnsureRootOrFourFifthsCommunityCouncil, EnsureRootOrHalfCommunityCouncil, EnsureRootOrHalfMainCouncil, EnsureRootOrHalfTechnicalCommittee, MainCouncilCollectiveInst, MainCouncilMembershipInst, MainTreasuryInst, OracleMembershipInst, - TechnicalCommitteeCollectiveInst, TechnicalCommitteeMembershipInst, + TechnicalCommitteeCollectiveInst, TechnicalCommitteeMembershipInst, TreasurySpender, }, oracle::{CurrencyAmount, CurrencyId, DummyCombineData, Price}, xcm::AssetLocationIdConverter, @@ -1409,8 +1409,8 @@ impl pallet_democracy::Config for Runtime { } parameter_types! { - pub const ProposalBond: Permill = Permill::from_percent(5); pub MainTreasuryAccount: AccountId = Treasury::account_id(); + pub const MaxBalance: Balance = Balance::MAX; } impl pallet_treasury::Config for Runtime { @@ -1436,9 +1436,8 @@ impl pallet_treasury::Config for Runtime { type BalanceConverter = UnityAssetBalanceConversion; // New approach to using treasury, useful for OpenGov but not necessarily for us. - type SpendOrigin = frame_support::traits::NeverEnsureOrigin; - // Only used by 'spend' approach which is disabled - type PayoutPeriod = ConstU32<0>; + type SpendOrigin = TreasurySpender; + type PayoutPeriod = ConstU32<{ 3 * DAYS }>; #[cfg(feature = "runtime-benchmarks")] type BenchmarkHelper = (); type WeightInfo = pallet_treasury::weights::SubstrateWeight; @@ -1470,10 +1469,8 @@ impl pallet_treasury::Config for Runtime { type Paymaster = PayFromAccount; type BalanceConverter = UnityAssetBalanceConversion; - // New approach to using treasury, useful for OpenGov but not necessarily for us. - type SpendOrigin = frame_support::traits::NeverEnsureOrigin; - // Only used by 'spend' approach which is disabled - type PayoutPeriod = ConstU32<0>; + type SpendOrigin = TreasurySpender; + type PayoutPeriod = ConstU32<{ 3 * DAYS }>; #[cfg(feature = "runtime-benchmarks")] type BenchmarkHelper = (); type WeightInfo = pallet_treasury::weights::SubstrateWeight; From e20675808f927c0b3767f3c9f0726a1300f50a02 Mon Sep 17 00:00:00 2001 From: vedhavyas Date: Thu, 17 Oct 2024 22:27:24 +0530 Subject: [PATCH 04/12] include xcm migrations --- runtime/astar/src/lib.rs | 7 ++++++- runtime/shibuya/src/lib.rs | 10 ++++++---- runtime/shiden/src/lib.rs | 7 ++++++- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/runtime/astar/src/lib.rs b/runtime/astar/src/lib.rs index 1aeefe29a..bec0dc69f 100644 --- a/runtime/astar/src/lib.rs +++ b/runtime/astar/src/lib.rs @@ -1212,6 +1212,11 @@ impl pallet_migrations::Config for Runtime { type WeightInfo = pallet_migrations::weights::SubstrateWeight; } +impl cumulus_pallet_xcmp_queue::migration::v5::V5Config for Runtime { + // This must be the same as the `ChannelInfo` from the `Config`: + type ChannelList = ParachainSystem; +} + construct_runtime!( pub struct Runtime { @@ -1333,7 +1338,7 @@ parameter_types! { pub type Migrations = (Unreleased, Permanent); /// Unreleased migrations. Add new ones here: -pub type Unreleased = (); +pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v5::MigrateV4ToV5,); /// Migrations/checks that do not need to be versioned and can run on every upgrade. pub type Permanent = (pallet_xcm::migration::MigrateToLatestXcmVersion,); diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index bfa98788f..45499b450 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -1530,6 +1530,11 @@ impl pallet_migrations::Config for Runtime { #[cfg(feature = "runtime-benchmarks")] impl vesting_mbm::Config for Runtime {} +impl cumulus_pallet_xcmp_queue::migration::v5::V5Config for Runtime { + // This must be the same as the `ChannelInfo` from the `Config`: + type ChannelList = ParachainSystem; +} + construct_runtime!( pub struct Runtime { @@ -1643,10 +1648,7 @@ pub type Executive = frame_executive::Executive< pub type Migrations = (Unreleased, Permanent); /// Unreleased migrations. Add new ones here: -pub type Unreleased = ( - pallet_dapp_staking::migration::AdjustEraMigration, - pallet_inflation::migration::AdjustBlockRewardMigration, -); +pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v5::MigrateV4ToV5,); /// Migrations/checks that do not need to be versioned and can run on every upgrade. pub type Permanent = (pallet_xcm::migration::MigrateToLatestXcmVersion,); diff --git a/runtime/shiden/src/lib.rs b/runtime/shiden/src/lib.rs index bbcb1355f..77a3ae7af 100644 --- a/runtime/shiden/src/lib.rs +++ b/runtime/shiden/src/lib.rs @@ -1211,6 +1211,11 @@ impl pallet_migrations::Config for Runtime { type WeightInfo = pallet_migrations::weights::SubstrateWeight; } +impl cumulus_pallet_xcmp_queue::migration::v5::V5Config for Runtime { + // This must be the same as the `ChannelInfo` from the `Config`: + type ChannelList = ParachainSystem; +} + construct_runtime!( pub struct Runtime { @@ -1333,7 +1338,7 @@ parameter_types! { pub type Migrations = (Unreleased, Permanent); /// Unreleased migrations. Add new ones here: -pub type Unreleased = (); +pub type Unreleased = (cumulus_pallet_xcmp_queue::migration::v5::MigrateV4ToV5,); /// Migrations/checks that do not need to be versioned and can run on every upgrade. pub type Permanent = (pallet_xcm::migration::MigrateToLatestXcmVersion,); From 14e977472ac5a06c9f45a212e0c774ea2b58ebd0 Mon Sep 17 00:00:00 2001 From: vedhavyas Date: Fri, 18 Oct 2024 13:59:35 +0530 Subject: [PATCH 05/12] small cleanup --- pallets/collator-selection/src/lib.rs | 5 +++-- runtime/shibuya/src/lib.rs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pallets/collator-selection/src/lib.rs b/pallets/collator-selection/src/lib.rs index 0077c5e45..1116a632b 100644 --- a/pallets/collator-selection/src/lib.rs +++ b/pallets/collator-selection/src/lib.rs @@ -236,8 +236,9 @@ pub mod pallet { .invulnerables .iter() .collect::>(); - assert!( - duplicate_invulnerables.len() == self.invulnerables.len(), + assert_eq!( + duplicate_invulnerables.len(), + self.invulnerables.len(), "duplicate invulnerables in genesis." ); diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index 45499b450..f2320cb9c 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -1469,7 +1469,7 @@ impl pallet_treasury::Config for Runtime { type Paymaster = PayFromAccount; type BalanceConverter = UnityAssetBalanceConversion; - type SpendOrigin = TreasurySpender; + type SpendOrigin = TreasurySpender; type PayoutPeriod = ConstU32<{ 3 * DAYS }>; #[cfg(feature = "runtime-benchmarks")] type BenchmarkHelper = (); From 3818e3fc9a2468ef71e29ba3646ce57943e9bc37 Mon Sep 17 00:00:00 2001 From: vedhavyas Date: Mon, 21 Oct 2024 14:12:23 +0530 Subject: [PATCH 06/12] revert treasury changes --- Cargo.lock | 624 +++++++++++++++++------------------ Cargo.toml | 248 +++++++------- primitives/src/governance.rs | 5 +- runtime/local/src/lib.rs | 29 +- runtime/shibuya/src/lib.rs | 29 +- 5 files changed, 479 insertions(+), 456 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d75f85be6..a6e6bcf02 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1067,7 +1067,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "hash-db", "log", @@ -1280,7 +1280,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub-router" version = "0.14.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "scale-info", @@ -2090,7 +2090,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "clap", "parity-scale-codec", @@ -2107,7 +2107,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -2130,7 +2130,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.17.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "cumulus-client-collator", @@ -2175,7 +2175,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2205,7 +2205,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "anyhow", "async-trait", @@ -2220,7 +2220,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -2243,7 +2243,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2269,7 +2269,7 @@ dependencies = [ [[package]] name = "cumulus-client-parachain-inherent" version = "0.11.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2291,7 +2291,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2317,7 +2317,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -2354,7 +2354,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -2371,7 +2371,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.16.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -2407,7 +2407,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -2418,7 +2418,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2433,7 +2433,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.16.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bounded-collections", "bp-xcm-bridge-hub-router", @@ -2458,7 +2458,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2471,7 +2471,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2487,7 +2487,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2503,7 +2503,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "sp-externalities", "sp-runtime-interface", @@ -2513,7 +2513,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.16.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2532,7 +2532,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2556,7 +2556,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2575,7 +2575,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "async-trait", @@ -2610,7 +2610,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2649,7 +2649,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -3743,7 +3743,7 @@ dependencies = [ [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "async-trait", "fp-storage", @@ -3755,7 +3755,7 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "async-trait", "fp-consensus", @@ -3771,7 +3771,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "async-trait", "fc-api", @@ -3792,7 +3792,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "fc-db", "fc-storage", @@ -3813,7 +3813,7 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "ethereum", "ethereum-types", @@ -3867,7 +3867,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "ethereum", "ethereum-types", @@ -3882,7 +3882,7 @@ dependencies = [ [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "ethereum", "ethereum-types", @@ -4027,7 +4027,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", ] @@ -4054,7 +4054,7 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "hex", "impl-serde", @@ -4073,7 +4073,7 @@ dependencies = [ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "ethereum", "parity-scale-codec", @@ -4084,7 +4084,7 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "ethereum", "ethereum-types", @@ -4096,7 +4096,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "evm", "frame-support", @@ -4111,7 +4111,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "ethereum", "ethereum-types", @@ -4127,7 +4127,7 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "frame-support", "parity-scale-codec", @@ -4139,7 +4139,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "parity-scale-codec", "serde", @@ -4154,7 +4154,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-support-procedural", @@ -4178,7 +4178,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "42.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "Inflector", "array-bytes", @@ -4228,7 +4228,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "14.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -4239,7 +4239,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -4255,7 +4255,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "aquamarine", "frame-support", @@ -4285,7 +4285,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.5.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "docify", @@ -4300,7 +4300,7 @@ dependencies = [ [[package]] name = "frame-support" version = "37.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "aquamarine", "array-bytes", @@ -4341,7 +4341,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "30.0.4" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "Inflector", "cfg-expr", @@ -4360,7 +4360,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.2.0", @@ -4372,7 +4372,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "proc-macro2", "quote", @@ -4382,7 +4382,7 @@ dependencies = [ [[package]] name = "frame-system" version = "37.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "cfg-if", "docify", @@ -4402,7 +4402,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -4416,7 +4416,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "docify", "parity-scale-codec", @@ -4426,7 +4426,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "parity-scale-codec", @@ -6864,7 +6864,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "futures 0.3.30", "log", @@ -6883,7 +6883,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -7856,7 +7856,7 @@ dependencies = [ [[package]] name = "orml-oracle" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#51052f3a97933b544e28f7e29d9795f87ed89f5d" dependencies = [ "frame-benchmarking", "frame-support", @@ -7875,7 +7875,7 @@ dependencies = [ [[package]] name = "orml-traits" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#51052f3a97933b544e28f7e29d9795f87ed89f5d" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -7895,7 +7895,7 @@ dependencies = [ [[package]] name = "orml-utilities" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#51052f3a97933b544e28f7e29d9795f87ed89f5d" dependencies = [ "frame-support", "parity-scale-codec", @@ -7910,7 +7910,7 @@ dependencies = [ [[package]] name = "orml-xcm-support" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#51052f3a97933b544e28f7e29d9795f87ed89f5d" dependencies = [ "frame-support", "orml-traits", @@ -7924,7 +7924,7 @@ dependencies = [ [[package]] name = "orml-xtokens" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#51052f3a97933b544e28f7e29d9795f87ed89f5d" dependencies = [ "frame-support", "frame-system", @@ -7951,7 +7951,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallet-asset-conversion" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -7969,7 +7969,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -7983,7 +7983,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8000,7 +8000,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8016,7 +8016,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-system", @@ -8032,7 +8032,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-system", @@ -8047,7 +8047,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-system", @@ -8060,7 +8060,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8083,7 +8083,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "aquamarine", "docify", @@ -8104,7 +8104,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "docify", "frame-benchmarking", @@ -8119,7 +8119,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-system", @@ -8138,7 +8138,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "binary-merkle-tree", @@ -8162,7 +8162,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8179,7 +8179,7 @@ dependencies = [ [[package]] name = "pallet-broker" version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bitvec", "frame-benchmarking", @@ -8239,7 +8239,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8283,7 +8283,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8302,7 +8302,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8338,7 +8338,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bitflags 1.3.2", "environmental", @@ -8371,7 +8371,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "23.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "proc-macro2", "quote", @@ -8381,7 +8381,7 @@ dependencies = [ [[package]] name = "pallet-contracts-uapi" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -8393,7 +8393,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "assert_matches", "frame-benchmarking", @@ -8432,7 +8432,7 @@ dependencies = [ [[package]] name = "pallet-delegated-staking" version = "4.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-system", @@ -8445,7 +8445,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8482,7 +8482,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8504,7 +8504,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8517,7 +8517,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8535,7 +8535,7 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "ethereum", "ethereum-types", @@ -8582,7 +8582,7 @@ dependencies = [ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "environmental", "evm", @@ -8605,7 +8605,7 @@ dependencies = [ [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "frame-support", "frame-system", @@ -8642,7 +8642,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-blake2" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "fp-evm", ] @@ -8650,7 +8650,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "fp-evm", "sp-core", @@ -8688,7 +8688,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "fp-evm", "frame-support", @@ -8726,7 +8726,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-ed25519" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "ed25519-dalek", "fp-evm", @@ -8735,7 +8735,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "fp-evm", "num", @@ -8744,7 +8744,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "fp-evm", "tiny-keccak", @@ -8753,7 +8753,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "fp-evm", "ripemd", @@ -8877,7 +8877,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "docify", "frame-benchmarking", @@ -8895,7 +8895,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8917,7 +8917,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "enumflags2", "frame-benchmarking", @@ -8933,7 +8933,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8952,7 +8952,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -8987,7 +8987,7 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-system", @@ -9000,7 +9000,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9016,7 +9016,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "environmental", "frame-benchmarking", @@ -9035,7 +9035,7 @@ dependencies = [ [[package]] name = "pallet-migrations" version = "7.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "docify", "frame-benchmarking", @@ -9052,7 +9052,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9069,7 +9069,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9084,7 +9084,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9099,7 +9099,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-system", @@ -9117,7 +9117,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9137,7 +9137,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "32.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -9147,7 +9147,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-system", @@ -9163,7 +9163,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9186,7 +9186,7 @@ dependencies = [ [[package]] name = "pallet-parameters" version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "docify", "frame-benchmarking", @@ -9203,7 +9203,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9241,7 +9241,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9255,7 +9255,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9273,7 +9273,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9287,7 +9287,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "assert_matches", "frame-benchmarking", @@ -9305,7 +9305,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-system", @@ -9319,7 +9319,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "docify", "frame-benchmarking", @@ -9336,7 +9336,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-system", @@ -9357,7 +9357,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9373,7 +9373,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9390,7 +9390,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9412,7 +9412,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -9423,7 +9423,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "log", "sp-arithmetic", @@ -9432,7 +9432,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "sp-api", @@ -9442,7 +9442,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9478,7 +9478,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "docify", "frame-benchmarking", @@ -9493,7 +9493,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "36.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "docify", "frame-benchmarking", @@ -9512,7 +9512,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9530,7 +9530,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-system", @@ -9545,7 +9545,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -9561,7 +9561,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -9573,7 +9573,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "36.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "docify", "frame-benchmarking", @@ -9616,7 +9616,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "37.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9631,7 +9631,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9645,7 +9645,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9679,7 +9679,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "16.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bounded-collections", "frame-benchmarking", @@ -9702,7 +9702,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-benchmarking", "frame-support", @@ -9720,7 +9720,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -10059,7 +10059,7 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "polkadot-approval-distribution" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bitvec", "futures 0.3.30", @@ -10079,7 +10079,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "always-assert", "futures 0.3.30", @@ -10095,7 +10095,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "17.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "derive_more", "fatality", @@ -10119,7 +10119,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "fatality", @@ -10152,7 +10152,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "cfg-if", "clap", @@ -10180,7 +10180,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bitvec", "fatality", @@ -10202,7 +10202,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "scale-info", @@ -10213,7 +10213,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "17.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "derive_more", "fatality", @@ -10238,7 +10238,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -10252,7 +10252,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "futures 0.3.30", "futures-timer", @@ -10274,7 +10274,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "always-assert", "async-trait", @@ -10297,7 +10297,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "futures 0.3.30", "parity-scale-codec", @@ -10315,7 +10315,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bitvec", "derive_more", @@ -10348,7 +10348,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bitvec", "futures 0.3.30", @@ -10370,7 +10370,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bitvec", "fatality", @@ -10390,7 +10390,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "futures 0.3.30", "polkadot-node-subsystem", @@ -10405,7 +10405,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "17.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "futures 0.3.30", @@ -10428,7 +10428,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "futures 0.3.30", "polkadot-node-metrics", @@ -10442,7 +10442,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "futures 0.3.30", "futures-timer", @@ -10459,7 +10459,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "fatality", "futures 0.3.30", @@ -10478,7 +10478,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "futures 0.3.30", @@ -10495,7 +10495,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "16.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "fatality", "futures 0.3.30", @@ -10509,7 +10509,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bitvec", "fatality", @@ -10527,7 +10527,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "always-assert", "array-bytes", @@ -10556,7 +10556,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "futures 0.3.30", "polkadot-node-primitives", @@ -10572,7 +10572,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "cpu-time", "futures 0.3.30", @@ -10598,7 +10598,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "futures 0.3.30", "polkadot-node-metrics", @@ -10613,7 +10613,7 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "lazy_static", "log", @@ -10632,7 +10632,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bs58 0.5.1", "futures 0.3.30", @@ -10651,7 +10651,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -10677,7 +10677,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bitvec", "bounded-vec", @@ -10700,7 +10700,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -10710,7 +10710,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "17.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "bitvec", @@ -10740,7 +10740,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "17.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "derive_more", @@ -10776,7 +10776,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "futures 0.3.30", @@ -10798,7 +10798,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bounded-collections", "derive_more", @@ -10814,7 +10814,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bitvec", "hex-literal", @@ -10840,7 +10840,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -10875,7 +10875,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "16.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bitvec", "frame-benchmarking", @@ -10925,7 +10925,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bs58 0.5.1", "frame-benchmarking", @@ -10937,7 +10937,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "16.0.2" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -10984,7 +10984,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "17.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "frame-benchmarking", @@ -11102,7 +11102,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "arrayvec 0.7.6", "bitvec", @@ -11125,7 +11125,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -11294,7 +11294,7 @@ dependencies = [ [[package]] name = "precompile-utils" version = "0.1.0" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "derive_more", "environmental", @@ -11323,7 +11323,7 @@ dependencies = [ [[package]] name = "precompile-utils-macro" version = "0.1.0" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" dependencies = [ "case", "num_enum 0.7.3", @@ -12187,7 +12187,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "binary-merkle-tree", "bitvec", @@ -12287,7 +12287,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "polkadot-primitives", @@ -12637,7 +12637,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "log", "sp-core", @@ -12648,7 +12648,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "futures 0.3.30", @@ -12678,7 +12678,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "futures 0.3.30", "futures-timer", @@ -12700,7 +12700,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.42.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "sp-api", @@ -12715,7 +12715,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "docify", @@ -12742,7 +12742,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -12753,7 +12753,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.46.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "chrono", @@ -12794,7 +12794,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "fnv", "futures 0.3.30", @@ -12821,7 +12821,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "hash-db", "kvdb", @@ -12847,7 +12847,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "futures 0.3.30", @@ -12871,7 +12871,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "futures 0.3.30", @@ -12900,7 +12900,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "fork-tree", @@ -12936,7 +12936,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -12958,7 +12958,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -12994,7 +12994,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -13014,7 +13014,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "fork-tree", "parity-scale-codec", @@ -13027,7 +13027,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.29.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "ahash", "array-bytes", @@ -13071,7 +13071,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "finality-grandpa", "futures 0.3.30", @@ -13091,7 +13091,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.45.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "assert_matches", "async-trait", @@ -13126,7 +13126,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "futures 0.3.30", @@ -13149,7 +13149,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -13172,7 +13172,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "polkavm", "sc-allocator", @@ -13185,7 +13185,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "log", "polkavm", @@ -13196,7 +13196,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "anyhow", "cfg-if", @@ -13214,7 +13214,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "ansi_term", "futures 0.3.30", @@ -13231,7 +13231,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "33.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "parking_lot 0.12.3", @@ -13245,7 +13245,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.14.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "arrayvec 0.7.6", @@ -13274,7 +13274,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13325,7 +13325,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -13343,7 +13343,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "ahash", "futures 0.3.30", @@ -13362,7 +13362,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13383,7 +13383,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13420,7 +13420,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "futures 0.3.30", @@ -13439,7 +13439,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.12.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bs58 0.5.1", "ed25519-dalek", @@ -13456,7 +13456,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "bytes", @@ -13490,7 +13490,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -13499,7 +13499,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -13531,7 +13531,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -13551,7 +13551,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "16.0.2" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "forwarded-header-value", "futures 0.3.30", @@ -13573,7 +13573,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "futures 0.3.30", @@ -13605,7 +13605,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.45.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "directories", @@ -13669,7 +13669,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "log", "parity-scale-codec", @@ -13680,7 +13680,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.22.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "clap", "fs4", @@ -13693,7 +13693,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -13712,7 +13712,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "derive_more", "futures 0.3.30", @@ -13733,7 +13733,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "chrono", "futures 0.3.30", @@ -13753,7 +13753,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "ansi_term", "chrono", @@ -13783,7 +13783,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -13794,7 +13794,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "futures 0.3.30", @@ -13821,7 +13821,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "futures 0.3.30", @@ -13837,7 +13837,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-channel 1.9.0", "futures 0.3.30", @@ -14641,7 +14641,7 @@ dependencies = [ [[package]] name = "slot-range-helper" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "enumn", "parity-scale-codec", @@ -14848,7 +14848,7 @@ dependencies = [ [[package]] name = "sp-api" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "docify", "hash-db", @@ -14870,7 +14870,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "Inflector", "blake2 0.10.6", @@ -14884,7 +14884,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "scale-info", @@ -14896,7 +14896,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "docify", "integer-sqrt", @@ -14910,7 +14910,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "scale-info", @@ -14922,7 +14922,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "sp-api", "sp-inherents", @@ -14932,7 +14932,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "37.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "futures 0.3.30", "parity-scale-codec", @@ -14951,7 +14951,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "futures 0.3.30", @@ -14966,7 +14966,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "parity-scale-codec", @@ -14982,7 +14982,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "parity-scale-codec", @@ -15000,7 +15000,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "lazy_static", "parity-scale-codec", @@ -15020,7 +15020,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "finality-grandpa", "log", @@ -15037,7 +15037,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "scale-info", @@ -15048,7 +15048,7 @@ dependencies = [ [[package]] name = "sp-core" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "bitflags 1.3.2", @@ -15094,7 +15094,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "blake2b_simd", "byteorder", @@ -15107,7 +15107,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "quote", "sp-crypto-hashing", @@ -15117,7 +15117,7 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "kvdb", "parking_lot 0.12.3", @@ -15126,7 +15126,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "proc-macro2", "quote", @@ -15136,7 +15136,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "environmental", "parity-scale-codec", @@ -15146,7 +15146,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "scale-info", @@ -15158,7 +15158,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -15171,7 +15171,7 @@ dependencies = [ [[package]] name = "sp-io" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bytes", "docify", @@ -15197,7 +15197,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "sp-core", "sp-runtime", @@ -15207,7 +15207,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -15218,7 +15218,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "thiserror", "zstd 0.12.4", @@ -15227,7 +15227,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -15237,7 +15237,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.12.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "scale-info", @@ -15248,7 +15248,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "log", "parity-scale-codec", @@ -15265,7 +15265,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "scale-info", @@ -15278,7 +15278,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "sp-api", "sp-core", @@ -15288,7 +15288,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "backtrace", "lazy_static", @@ -15298,7 +15298,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "32.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "rustc-hash", "serde", @@ -15308,7 +15308,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "39.0.2" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "docify", "either", @@ -15334,7 +15334,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -15353,7 +15353,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "Inflector", "expander", @@ -15366,7 +15366,7 @@ dependencies = [ [[package]] name = "sp-session" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "scale-info", @@ -15380,7 +15380,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -15393,7 +15393,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "hash-db", "log", @@ -15413,7 +15413,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -15437,12 +15437,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" [[package]] name = "sp-storage" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "impl-serde", "parity-scale-codec", @@ -15454,7 +15454,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "parity-scale-codec", @@ -15466,7 +15466,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "tracing", @@ -15477,7 +15477,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "sp-api", "sp-runtime", @@ -15486,7 +15486,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "async-trait", "parity-scale-codec", @@ -15500,7 +15500,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "ahash", "hash-db", @@ -15523,7 +15523,7 @@ dependencies = [ [[package]] name = "sp-version" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "impl-serde", "parity-scale-codec", @@ -15540,7 +15540,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -15551,7 +15551,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -15563,7 +15563,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -15629,7 +15629,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-parachain-info" version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -15642,7 +15642,7 @@ dependencies = [ [[package]] name = "staging-xcm" version = "14.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "bounded-collections", @@ -15660,7 +15660,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "16.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-system", @@ -15681,7 +15681,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "environmental", "frame-benchmarking", @@ -15813,7 +15813,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "hmac 0.12.1", "pbkdf2 0.12.2", @@ -15838,12 +15838,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" [[package]] name = "substrate-frame-rpc-system" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -15863,7 +15863,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "http-body-util", "hyper 1.4.1", @@ -15877,7 +15877,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -15894,7 +15894,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "array-bytes", "build-helper", @@ -16436,7 +16436,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "coarsetime", "polkadot-primitives", @@ -16447,7 +16447,7 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "expander", "proc-macro-crate 3.2.0", @@ -17343,7 +17343,7 @@ dependencies = [ [[package]] name = "westend-runtime" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "binary-merkle-tree", "bitvec", @@ -17449,7 +17449,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "polkadot-primitives", @@ -17874,7 +17874,7 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "10.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "Inflector", "proc-macro2", @@ -17885,7 +17885,7 @@ dependencies = [ [[package]] name = "xcm-runtime-apis" version = "0.3.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "parity-scale-codec", @@ -17899,7 +17899,7 @@ dependencies = [ [[package]] name = "xcm-simulator" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#88c3250104c1ce074bae14545e8443b18b1c3a67" +source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" dependencies = [ "frame-support", "frame-system", diff --git a/Cargo.toml b/Cargo.toml index 0f52be206..76c2431ac 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -93,96 +93,96 @@ ethers = { version = "2.0.9", default-features = false } # Substrate # (wasm) -sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-core-hashing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-staking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-core = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-core-hashing = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-io = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-runtime = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-std = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-tracing = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-api = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-block-builder = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-consensus-aura = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-inherents = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-offchain = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-runtime-interface = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-session = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-transaction-pool = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-version = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-arithmetic = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-staking = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-externalities = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-genesis-builder = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } # (native) -sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-sysinfo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-blockchain = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sp-consensus = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sp-keyring = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sp-keystore = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sp-timestamp = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sp-trie = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-basic-authorship = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-chain-spec = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-client-api = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-client-db = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-consensus = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-consensus-aura = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-consensus-babe = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-executor = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-consensus-grandpa = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-consensus-manual-seal = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-network = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-network-sync = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-offchain = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-rpc = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-service = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-sysinfo = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-telemetry = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-tracing = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-transaction-pool = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-transaction-pool-api = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-utils = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +substrate-prometheus-endpoint = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +pallet-transaction-payment-rpc = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +substrate-frame-rpc-system = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sc-cli = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +frame-benchmarking-cli = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } # Substrate pallets # (wasm) -pallet-assets = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-contracts = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-contracts-uapi = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-identity = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-migrations = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false, features = ["historical"] } -pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-vesting = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-collective = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-democracy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-treasury = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-assets = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-balances = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-proxy = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-utility = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +frame-support = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +frame-system = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +frame-executive = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-aura = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-authorship = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-contracts = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-contracts-uapi = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-identity = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-multisig = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-migrations = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-session = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false, features = ["historical"] } +pallet-sudo = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-timestamp = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-transaction-payment = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-vesting = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +frame-benchmarking = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +frame-system-benchmarking = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +frame-try-runtime = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-preimage = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-scheduler = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-grandpa = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-message-queue = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-membership = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-collective = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-democracy = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-treasury = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } # EVM & Ethereum # (wasm) @@ -225,53 +225,53 @@ fc-storage = { git = "https://github.com/AstarNetwork/frontier", branch = "stabl # Cumulus # (wasm) -cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -cumulus-primitives-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -parachain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -parachains-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-pallet-aura-ext = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-pallet-parachain-system = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-pallet-xcmp-queue = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-primitives-aura = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-primitives-core = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-primitives-utility = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +parachain-info = { package = "staging-parachain-info", git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +parachains-common = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } # (native) -cumulus-client-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -cumulus-client-consensus-relay-chain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -cumulus-client-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -cumulus-relay-chain-rpc-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -cumulus-test-relay-sproof-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-cli = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-aura = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-common = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-relay-chain = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-client-network = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-client-service = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-client-collator = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-proposer = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-primitives-parachain-inherent = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-relay-chain-inprocess-interface = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-relay-chain-interface = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-relay-chain-minimal-node = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-relay-chain-rpc-interface = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-test-relay-sproof-builder = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } # Polkadot # (wasm) -polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -polkadot-core-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -polkadot-parachain = { package = "polkadot-parachain-primitives", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-primitives = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-runtime-common = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-core-primitives = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-parachain = { package = "polkadot-parachain-primitives", git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-runtime-parachains = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } # XCM # (wasm) -cumulus-pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-xcm-benchmarks = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -xcm-executor = { package = "staging-xcm-executor", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -xcm-simulator = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } -xcm-runtime-apis = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-pallet-xcm = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +xcm = { package = "staging-xcm", git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-xcm = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-xcm-benchmarks = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +xcm-executor = { package = "staging-xcm-executor", git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +xcm-simulator = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +xcm-runtime-apis = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } # (native) -polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -polkadot-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +polkadot-cli = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +polkadot-service = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } # ORML # (wasm) @@ -338,5 +338,5 @@ moonbeam-rpc-core-trace = { path = "./vendor/rpc-core/trace" } moonbeam-rpc-core-debug = { path = "./vendor/rpc-core/debug" } # Build deps -substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } -substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +substrate-wasm-builder = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +substrate-build-script-utils = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } diff --git a/primitives/src/governance.rs b/primitives/src/governance.rs index 124d06fbf..a7a1b9094 100644 --- a/primitives/src/governance.rs +++ b/primitives/src/governance.rs @@ -18,7 +18,7 @@ use crate::AccountId; use frame_support::traits::EitherOfDiverse; -use frame_system::{EnsureRoot, EnsureWithSuccess}; +use frame_system::EnsureRoot; pub type OracleMembershipInst = pallet_membership::Instance1; pub type MainCouncilMembershipInst = pallet_membership::Instance2; @@ -44,9 +44,6 @@ pub type EnsureRootOrTwoThirdsMainCouncil = EitherOfDiverse< pallet_collective::EnsureProportionAtLeast, >; -pub type TreasurySpender = - EnsureWithSuccess; - pub type EnsureRootOrHalfMainCouncil = EitherOfDiverse< EnsureRoot, pallet_collective::EnsureProportionAtLeast, diff --git a/runtime/local/src/lib.rs b/runtime/local/src/lib.rs index 4ff80193b..185347545 100644 --- a/runtime/local/src/lib.rs +++ b/runtime/local/src/lib.rs @@ -75,7 +75,7 @@ use astar_primitives::{ EnsureRootOrTwoThirdsCommunityCouncil, EnsureRootOrTwoThirdsMainCouncil, EnsureRootOrTwoThirdsTechnicalCommittee, MainCouncilCollectiveInst, MainCouncilMembershipInst, MainTreasuryInst, TechnicalCommitteeCollectiveInst, - TechnicalCommitteeMembershipInst, TreasurySpender, + TechnicalCommitteeMembershipInst, }, Address, AssetId, Balance, BlockNumber, Hash, Header, Nonce, }; @@ -1020,8 +1020,8 @@ impl pallet_democracy::Config for Runtime { } parameter_types! { + pub const ProposalBond: Permill = Permill::from_percent(5); pub MainTreasuryAccount: AccountId = Treasury::account_id(); - pub const MaxBalance: Balance = Balance::MAX; } impl pallet_treasury::Config for Runtime { @@ -1029,9 +1029,14 @@ impl pallet_treasury::Config for Runtime { type Currency = Balances; type RuntimeEvent = RuntimeEvent; - // Origin to reject the spending proposal + // Two origins which can either approve or reject the spending proposal + type ApproveOrigin = EnsureRootOrTwoThirdsMainCouncil; type RejectOrigin = EnsureRootOrTwoThirdsMainCouncil; + type OnSlash = Treasury; + type ProposalBond = ProposalBond; + type ProposalBondMinimum = ConstU128<{ 10 * AST }>; + type ProposalBondMaximum = ConstU128<{ 100 * AST }>; type SpendPeriod = ConstU32<{ 1 * MINUTES }>; // We don't do periodic burns of the treasury @@ -1046,8 +1051,10 @@ impl pallet_treasury::Config for Runtime { type Paymaster = PayFromAccount; type BalanceConverter = UnityAssetBalanceConversion; - type SpendOrigin = TreasurySpender; - type PayoutPeriod = ConstU32<{ 30 * MINUTES }>; + // New approach to using treasury, useful for OpenGov but not necessarily for us. + type SpendOrigin = frame_support::traits::NeverEnsureOrigin; + // Only used by 'spend' approach which is disabled + type PayoutPeriod = ConstU32<0>; #[cfg(feature = "runtime-benchmarks")] type BenchmarkHelper = (); type WeightInfo = pallet_treasury::weights::SubstrateWeight; @@ -1062,9 +1069,14 @@ impl pallet_treasury::Config for Runtime { type Currency = Balances; type RuntimeEvent = RuntimeEvent; - // Origin to reject the spending proposal + // Two origins which can either approve or reject the spending proposal + type ApproveOrigin = EnsureRootOrTwoThirdsCommunityCouncil; type RejectOrigin = EnsureRootOrTwoThirdsCommunityCouncil; + type OnSlash = CommunityTreasury; + type ProposalBond = ProposalBond; + type ProposalBondMinimum = ConstU128<{ 10 * AST }>; + type ProposalBondMaximum = ConstU128<{ 100 * AST }>; type SpendPeriod = ConstU32<{ 1 * MINUTES }>; // We don't do periodic burns of the community treasury @@ -1080,8 +1092,9 @@ impl pallet_treasury::Config for Runtime { type BalanceConverter = UnityAssetBalanceConversion; // New approach to using treasury, useful for OpenGov but not necessarily for us. - type SpendOrigin = TreasurySpender; - type PayoutPeriod = ConstU32<{ 30 * MINUTES }>; + type SpendOrigin = frame_support::traits::NeverEnsureOrigin; + // Only used by 'spend' approach which is disabled + type PayoutPeriod = ConstU32<0>; #[cfg(feature = "runtime-benchmarks")] type BenchmarkHelper = (); type WeightInfo = pallet_treasury::weights::SubstrateWeight; diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index f2320cb9c..8b441aa0c 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -90,7 +90,7 @@ use astar_primitives::{ EnsureRootOrFourFifthsCommunityCouncil, EnsureRootOrHalfCommunityCouncil, EnsureRootOrHalfMainCouncil, EnsureRootOrHalfTechnicalCommittee, MainCouncilCollectiveInst, MainCouncilMembershipInst, MainTreasuryInst, OracleMembershipInst, - TechnicalCommitteeCollectiveInst, TechnicalCommitteeMembershipInst, TreasurySpender, + TechnicalCommitteeCollectiveInst, TechnicalCommitteeMembershipInst, }, oracle::{CurrencyAmount, CurrencyId, DummyCombineData, Price}, xcm::AssetLocationIdConverter, @@ -1409,8 +1409,8 @@ impl pallet_democracy::Config for Runtime { } parameter_types! { + pub const ProposalBond: Permill = Permill::from_percent(5); pub MainTreasuryAccount: AccountId = Treasury::account_id(); - pub const MaxBalance: Balance = Balance::MAX; } impl pallet_treasury::Config for Runtime { @@ -1418,9 +1418,14 @@ impl pallet_treasury::Config for Runtime { type Currency = Balances; type RuntimeEvent = RuntimeEvent; - // Origin to reject the spending proposal + // Two origins which can either approve or reject the spending proposal + type ApproveOrigin = EnsureRootOrHalfMainCouncil; type RejectOrigin = EnsureRootOrHalfMainCouncil; + type OnSlash = Treasury; + type ProposalBond = ProposalBond; + type ProposalBondMinimum = ConstU128<{ 100 * SBY }>; + type ProposalBondMaximum = ConstU128<{ 10000 * SBY }>; type SpendPeriod = ConstU32<{ 3 * DAYS }>; // We don't do periodic burns of the treasury @@ -1436,8 +1441,9 @@ impl pallet_treasury::Config for Runtime { type BalanceConverter = UnityAssetBalanceConversion; // New approach to using treasury, useful for OpenGov but not necessarily for us. - type SpendOrigin = TreasurySpender; - type PayoutPeriod = ConstU32<{ 3 * DAYS }>; + type SpendOrigin = frame_support::traits::NeverEnsureOrigin; + // Only used by 'spend' approach which is disabled + type PayoutPeriod = ConstU32<0>; #[cfg(feature = "runtime-benchmarks")] type BenchmarkHelper = (); type WeightInfo = pallet_treasury::weights::SubstrateWeight; @@ -1452,9 +1458,14 @@ impl pallet_treasury::Config for Runtime { type Currency = Balances; type RuntimeEvent = RuntimeEvent; - // Origin to reject the spending proposal + // Two origins which can either approve or reject the spending proposal + type ApproveOrigin = EnsureRootOrHalfCommunityCouncil; type RejectOrigin = EnsureRootOrHalfCommunityCouncil; + type OnSlash = CommunityTreasury; + type ProposalBond = ProposalBond; + type ProposalBondMinimum = ConstU128<{ 100 * SBY }>; + type ProposalBondMaximum = ConstU128<{ 10000 * SBY }>; type SpendPeriod = ConstU32<{ 3 * DAYS }>; // We don't do periodic burns of the community treasury @@ -1469,8 +1480,10 @@ impl pallet_treasury::Config for Runtime { type Paymaster = PayFromAccount; type BalanceConverter = UnityAssetBalanceConversion; - type SpendOrigin = TreasurySpender; - type PayoutPeriod = ConstU32<{ 3 * DAYS }>; + // New approach to using treasury, useful for OpenGov but not necessarily for us. + type SpendOrigin = frame_support::traits::NeverEnsureOrigin; + // Only used by 'spend' approach which is disabled + type PayoutPeriod = ConstU32<0>; #[cfg(feature = "runtime-benchmarks")] type BenchmarkHelper = (); type WeightInfo = pallet_treasury::weights::SubstrateWeight; From dabfea0744a6fc05376dbcd6ac2a38a406ca7a0f Mon Sep 17 00:00:00 2001 From: vedhavyas Date: Mon, 21 Oct 2024 17:28:38 +0530 Subject: [PATCH 07/12] fix xcm dry run tests --- tests/integration/src/xcm_api.rs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/integration/src/xcm_api.rs b/tests/integration/src/xcm_api.rs index 522cff29b..26e285d36 100644 --- a/tests/integration/src/xcm_api.rs +++ b/tests/integration/src/xcm_api.rs @@ -18,9 +18,8 @@ use crate::setup::*; -use cumulus_primitives_core::Parent; use cumulus_primitives_core::Unlimited; -use sp_runtime::traits::Zero; +use sp_runtime::traits::{BlakeTwo256, Hash, Zero}; use xcm::{ v4::{ Asset as XcmAsset, AssetId as XcmAssetId, Fungibility, Junction, Junctions::*, Location, @@ -203,16 +202,20 @@ fn query_delivery_fees_is_ok() { #[test] fn dry_run_call_is_ok() { new_test_ext().execute_with(|| { - let origin = OriginCaller::system(frame_system::RawOrigin::Root.into()); + let origin = OriginCaller::system(frame_system::RawOrigin::Signed(ALICE.clone()).into()); // TODO: Improve this test using an XCM call with more side effects and compare local_xcm with recorded one to get ride of `xcm_recorder_configuration_is_ok` test - let call = RuntimeCall::System(frame_system::Call::remark { + let call = RuntimeCall::System(frame_system::Call::remark_with_event { remark: vec![0u8; 32], }); let result = Runtime::dry_run_call(origin, call).expect("Must return some effects."); + assert_eq!(result.forwarded_xcms, vec![]); assert_eq!( - result.forwarded_xcms, - vec![(VersionedLocation::from((Parent, Here)), vec![],),] + result.emitted_events[0], + RuntimeEvent::System(frame_system::Event::Remarked { + sender: ALICE.into(), + hash: BlakeTwo256::hash_of(&[0u8; 32]).into(), + }), ); }) } @@ -253,10 +256,7 @@ fn dry_run_xcm_is_ok() { let result = Runtime::dry_run_xcm(origin_location, versioned_xcm) .expect("Must return some effects."); - assert_eq!( - result.forwarded_xcms, - vec![(VersionedLocation::from((Parent, Here)), vec![],),] - ); + assert_eq!(result.forwarded_xcms, vec![]); assert_eq!( result.emitted_events[0], From ff229db0733fa447cf5ce19058ee3b5408f6d13c Mon Sep 17 00:00:00 2001 From: vedhavyas Date: Tue, 22 Oct 2024 13:40:45 +0530 Subject: [PATCH 08/12] fork pallet-treasury and revert to upstream polkadot-sdk --- Cargo.lock | 667 ++++++------- Cargo.toml | 249 ++--- pallets/treasury/Cargo.toml | 59 ++ pallets/treasury/README.md | 47 + pallets/treasury/src/benchmarking.rs | 426 +++++++++ pallets/treasury/src/lib.rs | 1187 +++++++++++++++++++++++ pallets/treasury/src/tests.rs | 1321 ++++++++++++++++++++++++++ pallets/treasury/src/weights.rs | 367 +++++++ 8 files changed, 3875 insertions(+), 448 deletions(-) create mode 100644 pallets/treasury/Cargo.toml create mode 100644 pallets/treasury/README.md create mode 100644 pallets/treasury/src/benchmarking.rs create mode 100644 pallets/treasury/src/lib.rs create mode 100644 pallets/treasury/src/tests.rs create mode 100644 pallets/treasury/src/weights.rs diff --git a/Cargo.lock b/Cargo.lock index a6e6bcf02..1d573cc46 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -593,7 +593,7 @@ dependencies = [ "pallet-evm-precompile-assets-erc20", "pallet-evm-precompile-dispatch", "pallet-membership", - "pallet-treasury", + "pallet-treasury 36.0.1", "pallet-xc-asset-config", "parity-scale-codec", "scale-info", @@ -1067,7 +1067,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "15.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "hash-db", "log", @@ -1280,7 +1280,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub-router" version = "0.14.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "scale-info", @@ -2090,7 +2090,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.17.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "clap", "parity-scale-codec", @@ -2107,7 +2107,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.17.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -2130,7 +2130,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.17.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "cumulus-client-collator", @@ -2175,7 +2175,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.17.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2205,7 +2205,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.15.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "anyhow", "async-trait", @@ -2220,7 +2220,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.17.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -2243,7 +2243,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.17.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2269,7 +2269,7 @@ dependencies = [ [[package]] name = "cumulus-client-parachain-inherent" version = "0.11.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2291,7 +2291,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.17.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2317,7 +2317,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.17.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -2354,7 +2354,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.16.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -2371,7 +2371,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" version = "0.16.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -2407,7 +2407,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -2418,7 +2418,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.16.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2433,7 +2433,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.16.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bounded-collections", "bp-xcm-bridge-hub-router", @@ -2458,7 +2458,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.15.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2471,7 +2471,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.15.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2487,7 +2487,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.15.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2503,7 +2503,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.10.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "sp-externalities", "sp-runtime-interface", @@ -2513,7 +2513,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.16.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2532,7 +2532,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.17.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2556,7 +2556,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.17.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2575,7 +2575,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.17.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "async-trait", @@ -2610,7 +2610,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.17.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2649,7 +2649,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.15.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -3743,7 +3743,7 @@ dependencies = [ [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "async-trait", "fp-storage", @@ -3755,7 +3755,7 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "async-trait", "fp-consensus", @@ -3771,7 +3771,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "async-trait", "fc-api", @@ -3792,7 +3792,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fc-db", "fc-storage", @@ -3813,7 +3813,7 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -3867,7 +3867,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -3882,7 +3882,7 @@ dependencies = [ [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -4027,7 +4027,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "13.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", ] @@ -4054,7 +4054,7 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "hex", "impl-serde", @@ -4073,7 +4073,7 @@ dependencies = [ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "parity-scale-codec", @@ -4084,7 +4084,7 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -4096,7 +4096,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "evm", "frame-support", @@ -4111,7 +4111,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -4127,7 +4127,7 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "frame-support", "parity-scale-codec", @@ -4139,7 +4139,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "parity-scale-codec", "serde", @@ -4154,7 +4154,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-support-procedural", @@ -4178,7 +4178,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "42.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "Inflector", "array-bytes", @@ -4228,7 +4228,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "14.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -4239,7 +4239,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -4255,7 +4255,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "aquamarine", "frame-support", @@ -4285,7 +4285,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.5.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "docify", @@ -4300,7 +4300,7 @@ dependencies = [ [[package]] name = "frame-support" version = "37.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "aquamarine", "array-bytes", @@ -4341,7 +4341,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "30.0.4" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "Inflector", "cfg-expr", @@ -4360,7 +4360,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "13.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.2.0", @@ -4372,7 +4372,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "proc-macro2", "quote", @@ -4382,7 +4382,7 @@ dependencies = [ [[package]] name = "frame-system" version = "37.1.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "cfg-if", "docify", @@ -4402,7 +4402,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -4416,7 +4416,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "docify", "parity-scale-codec", @@ -4426,7 +4426,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.43.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "parity-scale-codec", @@ -5833,7 +5833,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -6541,7 +6541,7 @@ dependencies = [ "pallet-timestamp", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", + "pallet-treasury 36.0.1", "pallet-unified-accounts", "pallet-utility", "pallet-vesting", @@ -6864,7 +6864,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "39.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "futures 0.3.30", "log", @@ -6883,7 +6883,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -7654,7 +7654,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate 3.2.0", "proc-macro2", "quote", "syn 2.0.77", @@ -7856,7 +7856,7 @@ dependencies = [ [[package]] name = "orml-oracle" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#51052f3a97933b544e28f7e29d9795f87ed89f5d" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" dependencies = [ "frame-benchmarking", "frame-support", @@ -7875,7 +7875,7 @@ dependencies = [ [[package]] name = "orml-traits" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#51052f3a97933b544e28f7e29d9795f87ed89f5d" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" dependencies = [ "frame-support", "impl-trait-for-tuples", @@ -7895,7 +7895,7 @@ dependencies = [ [[package]] name = "orml-utilities" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#51052f3a97933b544e28f7e29d9795f87ed89f5d" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" dependencies = [ "frame-support", "parity-scale-codec", @@ -7910,7 +7910,7 @@ dependencies = [ [[package]] name = "orml-xcm-support" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#51052f3a97933b544e28f7e29d9795f87ed89f5d" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" dependencies = [ "frame-support", "orml-traits", @@ -7924,7 +7924,7 @@ dependencies = [ [[package]] name = "orml-xtokens" version = "0.13.0" -source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#51052f3a97933b544e28f7e29d9795f87ed89f5d" +source = "git+https://github.com/AstarNetwork/open-runtime-module-library?branch=stable2407#0f6cc403416e8e2a0d9f1f40745b463ee56b8439" dependencies = [ "frame-support", "frame-system", @@ -7951,7 +7951,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallet-asset-conversion" version = "19.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7969,7 +7969,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "16.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -7983,7 +7983,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8000,7 +8000,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "39.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8016,7 +8016,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "36.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-system", @@ -8032,7 +8032,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-system", @@ -8047,7 +8047,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-system", @@ -8060,7 +8060,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8083,7 +8083,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "36.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "aquamarine", "docify", @@ -8104,7 +8104,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "38.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "docify", "frame-benchmarking", @@ -8119,7 +8119,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "38.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-system", @@ -8138,7 +8138,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "38.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "binary-merkle-tree", @@ -8162,13 +8162,13 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "36.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-treasury", + "pallet-treasury 36.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "parity-scale-codec", "scale-info", "sp-core", @@ -8179,7 +8179,7 @@ dependencies = [ [[package]] name = "pallet-broker" version = "0.16.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bitvec", "frame-benchmarking", @@ -8239,14 +8239,14 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "36.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", "pallet-bounties", - "pallet-treasury", + "pallet-treasury 36.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "parity-scale-codec", "scale-info", "sp-core", @@ -8283,7 +8283,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "18.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8302,7 +8302,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8338,7 +8338,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bitflags 1.3.2", "environmental", @@ -8371,7 +8371,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "23.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "proc-macro2", "quote", @@ -8381,7 +8381,7 @@ dependencies = [ [[package]] name = "pallet-contracts-uapi" version = "12.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -8393,7 +8393,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "assert_matches", "frame-benchmarking", @@ -8432,7 +8432,7 @@ dependencies = [ [[package]] name = "pallet-delegated-staking" version = "4.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-system", @@ -8445,7 +8445,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8482,7 +8482,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "36.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8504,7 +8504,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "36.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8517,7 +8517,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "38.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8535,7 +8535,7 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ethereum", "ethereum-types", @@ -8582,7 +8582,7 @@ dependencies = [ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "environmental", "evm", @@ -8605,7 +8605,7 @@ dependencies = [ [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "frame-support", "frame-system", @@ -8642,7 +8642,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-blake2" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", ] @@ -8650,7 +8650,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "sp-core", @@ -8688,7 +8688,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "frame-support", @@ -8726,7 +8726,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-ed25519" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "ed25519-dalek", "fp-evm", @@ -8735,7 +8735,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "num", @@ -8744,7 +8744,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "tiny-keccak", @@ -8753,7 +8753,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "fp-evm", "ripemd", @@ -8877,7 +8877,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "36.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "docify", "frame-benchmarking", @@ -8895,7 +8895,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8917,7 +8917,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "enumflags2", "frame-benchmarking", @@ -8933,7 +8933,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "36.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8952,7 +8952,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -8987,7 +8987,7 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" version = "25.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-system", @@ -9000,7 +9000,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9016,7 +9016,7 @@ dependencies = [ [[package]] name = "pallet-message-queue" version = "40.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "environmental", "frame-benchmarking", @@ -9035,7 +9035,7 @@ dependencies = [ [[package]] name = "pallet-migrations" version = "7.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "docify", "frame-benchmarking", @@ -9052,7 +9052,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9069,7 +9069,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9084,7 +9084,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9099,7 +9099,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-system", @@ -9117,7 +9117,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "35.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9137,7 +9137,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "32.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -9147,7 +9147,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "36.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-system", @@ -9163,7 +9163,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9186,7 +9186,7 @@ dependencies = [ [[package]] name = "pallet-parameters" version = "0.8.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "docify", "frame-benchmarking", @@ -9203,7 +9203,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9241,7 +9241,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9255,7 +9255,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9273,7 +9273,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9287,7 +9287,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "assert_matches", "frame-benchmarking", @@ -9305,7 +9305,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "13.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-system", @@ -9319,7 +9319,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "38.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "docify", "frame-benchmarking", @@ -9336,7 +9336,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-system", @@ -9357,7 +9357,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9373,7 +9373,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9390,7 +9390,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9412,7 +9412,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "12.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -9423,7 +9423,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "22.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "log", "sp-arithmetic", @@ -9432,7 +9432,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "22.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "sp-api", @@ -9442,7 +9442,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "39.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9478,7 +9478,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "docify", "frame-benchmarking", @@ -9493,7 +9493,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "36.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "docify", "frame-benchmarking", @@ -9512,13 +9512,13 @@ dependencies = [ [[package]] name = "pallet-tips" version = "36.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", "frame-system", "log", - "pallet-treasury", + "pallet-treasury 36.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "parity-scale-codec", "scale-info", "serde", @@ -9530,7 +9530,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-system", @@ -9545,7 +9545,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "40.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -9561,7 +9561,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -9573,7 +9573,26 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "36.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "impl-trait-for-tuples", + "pallet-balances", + "pallet-utility", + "parity-scale-codec", + "scale-info", + "serde", + "sp-core", + "sp-io", + "sp-runtime", +] + +[[package]] +name = "pallet-treasury" +version = "36.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "docify", "frame-benchmarking", @@ -9616,7 +9635,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "37.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9631,7 +9650,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9645,7 +9664,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "36.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9679,7 +9698,7 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "16.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bounded-collections", "frame-benchmarking", @@ -9702,7 +9721,7 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "16.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-benchmarking", "frame-support", @@ -9720,7 +9739,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -10059,7 +10078,7 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "polkadot-approval-distribution" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bitvec", "futures 0.3.30", @@ -10079,7 +10098,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "always-assert", "futures 0.3.30", @@ -10095,7 +10114,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "17.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "derive_more", "fatality", @@ -10119,7 +10138,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "fatality", @@ -10152,7 +10171,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "cfg-if", "clap", @@ -10180,7 +10199,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bitvec", "fatality", @@ -10202,7 +10221,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "15.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "scale-info", @@ -10213,7 +10232,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "17.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "derive_more", "fatality", @@ -10238,7 +10257,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "15.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -10252,7 +10271,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "futures 0.3.30", "futures-timer", @@ -10274,7 +10293,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "always-assert", "async-trait", @@ -10297,7 +10316,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "futures 0.3.30", "parity-scale-codec", @@ -10315,7 +10334,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bitvec", "derive_more", @@ -10348,7 +10367,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bitvec", "futures 0.3.30", @@ -10370,7 +10389,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bitvec", "fatality", @@ -10390,7 +10409,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "futures 0.3.30", "polkadot-node-subsystem", @@ -10405,7 +10424,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "17.1.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "futures 0.3.30", @@ -10428,7 +10447,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "futures 0.3.30", "polkadot-node-metrics", @@ -10442,7 +10461,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "futures 0.3.30", "futures-timer", @@ -10459,7 +10478,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "fatality", "futures 0.3.30", @@ -10478,7 +10497,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "futures 0.3.30", @@ -10495,7 +10514,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "16.1.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "fatality", "futures 0.3.30", @@ -10509,7 +10528,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bitvec", "fatality", @@ -10527,7 +10546,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "always-assert", "array-bytes", @@ -10556,7 +10575,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "futures 0.3.30", "polkadot-node-primitives", @@ -10572,7 +10591,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "15.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "cpu-time", "futures 0.3.30", @@ -10598,7 +10617,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "futures 0.3.30", "polkadot-node-metrics", @@ -10613,7 +10632,7 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "lazy_static", "log", @@ -10632,7 +10651,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bs58 0.5.1", "futures 0.3.30", @@ -10651,7 +10670,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -10677,7 +10696,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "15.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bitvec", "bounded-vec", @@ -10700,7 +10719,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -10710,7 +10729,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "17.1.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "bitvec", @@ -10740,7 +10759,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "17.1.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "derive_more", @@ -10776,7 +10795,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "futures 0.3.30", @@ -10798,7 +10817,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "14.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bounded-collections", "derive_more", @@ -10814,7 +10833,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "15.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bitvec", "hex-literal", @@ -10840,7 +10859,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -10875,7 +10894,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "16.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bitvec", "frame-benchmarking", @@ -10898,7 +10917,7 @@ dependencies = [ "pallet-staking-reward-fn", "pallet-timestamp", "pallet-transaction-payment", - "pallet-treasury", + "pallet-treasury 36.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "pallet-vesting", "parity-scale-codec", "polkadot-primitives", @@ -10925,7 +10944,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "16.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bs58 0.5.1", "frame-benchmarking", @@ -10937,7 +10956,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "16.0.2" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -10984,7 +11003,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "17.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "frame-benchmarking", @@ -11102,7 +11121,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "arrayvec 0.7.6", "bitvec", @@ -11125,7 +11144,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "15.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -11294,7 +11313,7 @@ dependencies = [ [[package]] name = "precompile-utils" version = "0.1.0" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "derive_more", "environmental", @@ -11323,7 +11342,7 @@ dependencies = [ [[package]] name = "precompile-utils-macro" version = "0.1.0" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#46185523fea27f382a5bd11aed4803227c68ad4c" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" dependencies = [ "case", "num_enum 0.7.3", @@ -12187,7 +12206,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "binary-merkle-tree", "bitvec", @@ -12240,7 +12259,7 @@ dependencies = [ "pallet-tips", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", + "pallet-treasury 36.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "pallet-utility", "pallet-vesting", "pallet-whitelist", @@ -12287,7 +12306,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "16.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "polkadot-primitives", @@ -12637,7 +12656,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "29.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "log", "sp-core", @@ -12648,7 +12667,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.44.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "futures 0.3.30", @@ -12678,7 +12697,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.44.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "futures 0.3.30", "futures-timer", @@ -12700,7 +12719,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.42.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "sp-api", @@ -12715,7 +12734,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "docify", @@ -12742,7 +12761,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "12.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -12753,7 +12772,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.46.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "chrono", @@ -12794,7 +12813,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "fnv", "futures 0.3.30", @@ -12821,7 +12840,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.44.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "hash-db", "kvdb", @@ -12847,7 +12866,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.43.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "futures 0.3.30", @@ -12871,7 +12890,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.44.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "futures 0.3.30", @@ -12900,7 +12919,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.44.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "fork-tree", @@ -12936,7 +12955,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.44.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -12958,7 +12977,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "23.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -12994,7 +13013,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "23.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -13014,7 +13033,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.43.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "fork-tree", "parity-scale-codec", @@ -13027,7 +13046,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.29.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "ahash", "array-bytes", @@ -13071,7 +13090,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.29.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "finality-grandpa", "futures 0.3.30", @@ -13091,7 +13110,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.45.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "assert_matches", "async-trait", @@ -13126,7 +13145,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.43.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "futures 0.3.30", @@ -13149,7 +13168,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.40.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -13172,7 +13191,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.35.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "polkavm", "sc-allocator", @@ -13185,7 +13204,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.32.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "log", "polkavm", @@ -13196,7 +13215,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.35.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "anyhow", "cfg-if", @@ -13214,7 +13233,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.43.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "ansi_term", "futures 0.3.30", @@ -13231,7 +13250,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "33.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "parking_lot 0.12.3", @@ -13245,7 +13264,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.14.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "arrayvec 0.7.6", @@ -13274,7 +13293,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.44.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13325,7 +13344,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.43.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -13343,7 +13362,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.44.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "ahash", "futures 0.3.30", @@ -13362,7 +13381,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.43.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13383,7 +13402,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.43.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13420,7 +13439,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.43.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "futures 0.3.30", @@ -13439,7 +13458,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.12.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bs58 0.5.1", "ed25519-dalek", @@ -13456,7 +13475,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "39.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "bytes", @@ -13490,7 +13509,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.18.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -13499,7 +13518,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "39.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -13531,7 +13550,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.43.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -13551,7 +13570,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "16.0.2" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "forwarded-header-value", "futures 0.3.30", @@ -13573,7 +13592,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.44.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "futures 0.3.30", @@ -13605,7 +13624,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.45.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "directories", @@ -13669,7 +13688,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.36.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "log", "parity-scale-codec", @@ -13680,7 +13699,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.22.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "clap", "fs4", @@ -13693,7 +13712,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.44.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -13712,7 +13731,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "derive_more", "futures 0.3.30", @@ -13733,7 +13752,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "24.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "chrono", "futures 0.3.30", @@ -13753,7 +13772,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "ansi_term", "chrono", @@ -13783,7 +13802,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -13794,7 +13813,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "futures 0.3.30", @@ -13821,7 +13840,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "futures 0.3.30", @@ -13837,7 +13856,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-channel 1.9.0", "futures 0.3.30", @@ -14370,7 +14389,7 @@ dependencies = [ "pallet-timestamp", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", + "pallet-treasury 36.0.1", "pallet-unified-accounts", "pallet-utility", "pallet-vesting", @@ -14641,7 +14660,7 @@ dependencies = [ [[package]] name = "slot-range-helper" version = "15.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "enumn", "parity-scale-codec", @@ -14848,7 +14867,7 @@ dependencies = [ [[package]] name = "sp-api" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "docify", "hash-db", @@ -14870,7 +14889,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "20.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "Inflector", "blake2 0.10.6", @@ -14884,7 +14903,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "38.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "scale-info", @@ -14896,7 +14915,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "26.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "docify", "integer-sqrt", @@ -14910,7 +14929,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "scale-info", @@ -14922,7 +14941,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "sp-api", "sp-inherents", @@ -14932,7 +14951,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "37.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "futures 0.3.30", "parity-scale-codec", @@ -14951,7 +14970,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.40.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "futures 0.3.30", @@ -14966,7 +14985,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.40.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "parity-scale-codec", @@ -14982,7 +15001,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.40.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "parity-scale-codec", @@ -15000,7 +15019,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "22.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "lazy_static", "parity-scale-codec", @@ -15020,7 +15039,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "21.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "finality-grandpa", "log", @@ -15037,7 +15056,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.40.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "scale-info", @@ -15048,7 +15067,7 @@ dependencies = [ [[package]] name = "sp-core" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "bitflags 1.3.2", @@ -15094,7 +15113,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "blake2b_simd", "byteorder", @@ -15107,7 +15126,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "quote", "sp-crypto-hashing", @@ -15117,7 +15136,7 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "kvdb", "parking_lot 0.12.3", @@ -15126,7 +15145,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "proc-macro2", "quote", @@ -15136,7 +15155,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.29.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "environmental", "parity-scale-codec", @@ -15146,7 +15165,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.15.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "scale-info", @@ -15158,7 +15177,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -15171,7 +15190,7 @@ dependencies = [ [[package]] name = "sp-io" version = "38.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bytes", "docify", @@ -15197,7 +15216,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "39.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "sp-core", "sp-runtime", @@ -15207,7 +15226,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.40.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -15218,7 +15237,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "thiserror", "zstd 0.12.4", @@ -15227,7 +15246,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.7.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -15237,7 +15256,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.12.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "scale-info", @@ -15248,7 +15267,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "log", "parity-scale-codec", @@ -15265,7 +15284,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "scale-info", @@ -15278,7 +15297,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "sp-api", "sp-core", @@ -15288,7 +15307,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "backtrace", "lazy_static", @@ -15298,7 +15317,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "32.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "rustc-hash", "serde", @@ -15308,7 +15327,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "39.0.2" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "docify", "either", @@ -15334,7 +15353,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "28.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -15353,7 +15372,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "18.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "Inflector", "expander", @@ -15366,7 +15385,7 @@ dependencies = [ [[package]] name = "sp-session" version = "35.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "scale-info", @@ -15380,7 +15399,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -15393,7 +15412,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.43.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "hash-db", "log", @@ -15413,7 +15432,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "18.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -15437,12 +15456,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" [[package]] name = "sp-storage" version = "21.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "impl-serde", "parity-scale-codec", @@ -15454,7 +15473,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "parity-scale-codec", @@ -15466,7 +15485,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "tracing", @@ -15477,7 +15496,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "sp-api", "sp-runtime", @@ -15486,7 +15505,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "34.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "async-trait", "parity-scale-codec", @@ -15500,7 +15519,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "ahash", "hash-db", @@ -15523,7 +15542,7 @@ dependencies = [ [[package]] name = "sp-version" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "impl-serde", "parity-scale-codec", @@ -15540,7 +15559,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "14.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -15551,7 +15570,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "21.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -15563,7 +15582,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "31.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -15629,7 +15648,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-parachain-info" version = "0.16.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -15642,7 +15661,7 @@ dependencies = [ [[package]] name = "staging-xcm" version = "14.1.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "bounded-collections", @@ -15660,7 +15679,7 @@ dependencies = [ [[package]] name = "staging-xcm-builder" version = "16.0.1" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-system", @@ -15681,7 +15700,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "16.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "environmental", "frame-benchmarking", @@ -15813,7 +15832,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.6.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "hmac 0.12.1", "pbkdf2 0.12.2", @@ -15838,12 +15857,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" [[package]] name = "substrate-frame-rpc-system" version = "38.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -15863,7 +15882,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "http-body-util", "hyper 1.4.1", @@ -15877,7 +15896,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "37.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -15894,7 +15913,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "24.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "array-bytes", "build-helper", @@ -16436,7 +16455,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "15.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "coarsetime", "polkadot-primitives", @@ -16447,7 +16466,7 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "expander", "proc-macro-crate 3.2.0", @@ -17343,7 +17362,7 @@ dependencies = [ [[package]] name = "westend-runtime" version = "17.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "binary-merkle-tree", "bitvec", @@ -17403,7 +17422,7 @@ dependencies = [ "pallet-timestamp", "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", - "pallet-treasury", + "pallet-treasury 36.0.1 (git+https://github.com/paritytech/polkadot-sdk?branch=stable2407)", "pallet-utility", "pallet-vesting", "pallet-whitelist", @@ -17449,7 +17468,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "16.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "polkadot-primitives", @@ -17512,7 +17531,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -17874,7 +17893,7 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "10.1.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "Inflector", "proc-macro2", @@ -17885,7 +17904,7 @@ dependencies = [ [[package]] name = "xcm-runtime-apis" version = "0.3.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "parity-scale-codec", @@ -17899,7 +17918,7 @@ dependencies = [ [[package]] name = "xcm-simulator" version = "16.0.0" -source = "git+https://github.com/AstarNetwork/polkadot-sdk?branch=stable2407#6447c63441413ca8972069541775ceea13f5197e" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" dependencies = [ "frame-support", "frame-system", diff --git a/Cargo.toml b/Cargo.toml index 76c2431ac..d9a544597 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -90,99 +90,99 @@ proc-macro2 = "1.0" quote = "1.0" syn = { version = "1.0" } ethers = { version = "2.0.9", default-features = false } +docify = { version = "0.2.8" } # Substrate # (wasm) -sp-core = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-core-hashing = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-io = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-runtime = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-std = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-tracing = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-api = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-block-builder = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-consensus-aura = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-inherents = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-offchain = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-runtime-interface = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-session = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-transaction-pool = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-version = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-arithmetic = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-staking = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-externalities = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -sp-genesis-builder = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +sp-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-core-hashing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-io = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-std = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-block-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-inherents = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-runtime-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-version = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-staking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-externalities = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +sp-genesis-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # (native) -sp-blockchain = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sp-consensus = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sp-keyring = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sp-keystore = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sp-timestamp = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sp-trie = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-basic-authorship = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-chain-spec = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-client-api = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-client-db = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-consensus = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-consensus-aura = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-consensus-babe = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-executor = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-consensus-grandpa = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-consensus-manual-seal = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-network = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-network-sync = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-offchain = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-rpc = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-service = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-sysinfo = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-telemetry = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-tracing = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-transaction-pool = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-transaction-pool-api = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-utils = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -substrate-prometheus-endpoint = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -pallet-transaction-payment-rpc = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -substrate-frame-rpc-system = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -sc-cli = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -frame-benchmarking-cli = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-keyring = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-keystore = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sp-trie = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-basic-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-chain-spec = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-client-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-client-db = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus-babe = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-executor = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-consensus-manual-seal = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-network-sync = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-offchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-sysinfo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-telemetry = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-tracing = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-transaction-pool = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-transaction-pool-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +substrate-prometheus-endpoint = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +substrate-frame-rpc-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +sc-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +frame-benchmarking-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } # Substrate pallets # (wasm) -pallet-assets = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-balances = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-proxy = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-utility = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -frame-support = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -frame-system = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -frame-executive = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -frame-metadata-hash-extension = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -frame-system-rpc-runtime-api = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-aura = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-authorship = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-contracts = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-contracts-uapi = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-identity = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-multisig = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-migrations = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-insecure-randomness-collective-flip = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-session = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false, features = ["historical"] } -pallet-sudo = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-timestamp = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-transaction-payment = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-vesting = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -frame-benchmarking = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -frame-system-benchmarking = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -frame-try-runtime = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-preimage = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-scheduler = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-grandpa = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-message-queue = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-membership = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-collective = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-democracy = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-treasury = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-assets = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-balances = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-proxy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-support = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-executive = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-metadata-hash-extension = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-system-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-authorship = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-contracts = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-contracts-uapi = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-identity = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-multisig = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-migrations = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-insecure-randomness-collective-flip = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-session = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false, features = ["historical"] } +pallet-sudo = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-timestamp = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-transaction-payment = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-vesting = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-system-benchmarking = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +frame-try-runtime = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-preimage = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-scheduler = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-grandpa = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-membership = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-collective = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-democracy = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # EVM & Ethereum # (wasm) @@ -225,53 +225,53 @@ fc-storage = { git = "https://github.com/AstarNetwork/frontier", branch = "stabl # Cumulus # (wasm) -cumulus-pallet-aura-ext = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -cumulus-pallet-parachain-system = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -cumulus-pallet-xcmp-queue = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -cumulus-primitives-aura = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -cumulus-primitives-core = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -cumulus-primitives-utility = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -parachain-info = { package = "staging-parachain-info", git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -parachains-common = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-pallet-aura-ext = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-pallet-parachain-system = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-pallet-xcmp-queue = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-primitives-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-primitives-core = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-primitives-utility = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +parachain-info = { package = "staging-parachain-info", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +parachains-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # (native) -cumulus-client-cli = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -cumulus-client-consensus-aura = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -cumulus-client-consensus-common = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -cumulus-client-consensus-relay-chain = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -cumulus-client-network = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -cumulus-client-service = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -cumulus-client-collator = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -cumulus-client-consensus-proposer = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -cumulus-primitives-parachain-inherent = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -cumulus-relay-chain-inprocess-interface = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -cumulus-relay-chain-interface = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -cumulus-relay-chain-minimal-node = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -cumulus-relay-chain-rpc-interface = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -cumulus-test-relay-sproof-builder = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +cumulus-client-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-aura = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-relay-chain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-network = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-collator = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-client-consensus-proposer = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-primitives-parachain-inherent = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-relay-chain-inprocess-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-relay-chain-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-relay-chain-minimal-node = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-relay-chain-rpc-interface = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +cumulus-test-relay-sproof-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } # Polkadot # (wasm) -polkadot-primitives = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -polkadot-runtime-common = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -polkadot-core-primitives = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -polkadot-parachain = { package = "polkadot-parachain-primitives", git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -polkadot-runtime-parachains = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-runtime-common = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-core-primitives = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-parachain = { package = "polkadot-parachain-primitives", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +polkadot-runtime-parachains = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # XCM # (wasm) -cumulus-pallet-xcm = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -xcm = { package = "staging-xcm", git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-xcm = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -pallet-xcm-benchmarks = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -xcm-executor = { package = "staging-xcm-executor", git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -xcm-simulator = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } -xcm-runtime-apis = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407", default-features = false } +cumulus-pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +xcm = { package = "staging-xcm", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-xcm = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-xcm-benchmarks = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +xcm-builder = { package = "staging-xcm-builder", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +xcm-executor = { package = "staging-xcm-executor", git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +xcm-simulator = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +xcm-runtime-apis = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # (native) -polkadot-cli = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -polkadot-service = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +polkadot-cli = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +polkadot-service = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } # ORML # (wasm) @@ -294,6 +294,7 @@ pallet-static-price-provider = { path = "./pallets/static-price-provider", defau pallet-price-aggregator = { path = "./pallets/price-aggregator", default-features = false } pallet-collective-proxy = { path = "./pallets/collective-proxy", default-features = false } vesting-mbm = { path = "./pallets/vesting-mbm", default-features = false } +pallet-treasury = { path = "./pallets/treasury", default-features = false } dapp-staking-runtime-api = { path = "./pallets/dapp-staking/rpc/runtime-api", default-features = false } @@ -338,5 +339,5 @@ moonbeam-rpc-core-trace = { path = "./vendor/rpc-core/trace" } moonbeam-rpc-core-debug = { path = "./vendor/rpc-core/debug" } # Build deps -substrate-wasm-builder = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } -substrate-build-script-utils = { git = "https://github.com/AstarNetwork/polkadot-sdk", branch = "stable2407" } +substrate-wasm-builder = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } +substrate-build-script-utils = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } diff --git a/pallets/treasury/Cargo.toml b/pallets/treasury/Cargo.toml new file mode 100644 index 000000000..04e269454 --- /dev/null +++ b/pallets/treasury/Cargo.toml @@ -0,0 +1,59 @@ +[package] +name = "pallet-treasury" +version = "36.0.1" +authors.workspace = true +edition.workspace = true +license = "Apache-2.0" +homepage = "https://substrate.io" +repository.workspace = true +description = "FRAME pallet to manage treasury (polkadot v1.15.0)" +readme = "README.md" + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + +[dependencies] +parity-scale-codec = { features = ["derive", "max-encoded-len"], workspace = true } +docify = { workspace = true } +impl-trait-for-tuples = { workspace = true } +scale-info = { features = ["derive"], workspace = true } +serde = { features = ["derive"], optional = true, workspace = true, default-features = true } +frame-benchmarking = { optional = true, workspace = true } +frame-support.workspace = true +frame-system.workspace = true +pallet-balances.workspace = true +sp-runtime.workspace = true +sp-core = { optional = true, workspace = true } + +[dev-dependencies] +sp-io = { workspace = true } +pallet-utility = { workspace = true } +sp-core = { workspace = true } + +[features] +default = ["std"] +std = [ + "parity-scale-codec/std", + "frame-benchmarking?/std", + "frame-support/std", + "frame-system/std", + "pallet-balances/std", + "scale-info/std", + "serde", + "sp-core?/std", + "sp-runtime/std", +] +runtime-benchmarks = [ + "dep:sp-core", + "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", +] +try-runtime = [ + "frame-support/try-runtime", + "frame-system/try-runtime", + "pallet-balances/try-runtime", + "sp-runtime/try-runtime", +] diff --git a/pallets/treasury/README.md b/pallets/treasury/README.md new file mode 100644 index 000000000..48fd1e269 --- /dev/null +++ b/pallets/treasury/README.md @@ -0,0 +1,47 @@ +# Treasury Pallet + +The Treasury pallet provides a "pot" of funds that can be managed by stakeholders in the system and +a structure for making spending proposals from this pot. + +## Overview + +The Treasury Pallet itself provides the pot to store funds, and a means for stakeholders to propose, +approve, and deny expenditures. The chain will need to provide a method (e.g.inflation, fees) for +collecting funds. + +By way of example, the Council could vote to fund the Treasury with a portion of the block reward +and use the funds to pay developers. + +### Terminology + +- **Proposal:** A suggestion to allocate funds from the pot to a beneficiary. +- **Beneficiary:** An account who will receive the funds from a proposal if the proposal is + approved. +- **Deposit:** Funds that a proposer must lock when making a proposal. The deposit will be returned + or slashed if the proposal is approved or rejected respectively. +- **Pot:** Unspent funds accumulated by the treasury pallet. + +## Interface + +### Dispatchable Functions + +General spending/proposal protocol: +- `spend_local` - Propose and approve a spend of treasury funds, enables the + creation of spends using the native currency of the chain, utilizing the funds + stored in the pot +- `spend` - Propose and approve a spend of treasury funds, allows spending any + asset kind managed by the treasury +- `remove_approval` - Force a previously approved proposal to be removed from + the approval queue +- `payout` - Claim a spend +- `check_status` - Check the status of the spend and remove it from the storage + if processed +- `void_spend` - Void previously approved spend + + +## Release + +polkadot v1.15.0 +- `propose_spend` - Make a spending proposal and stake the required deposit. +- `reject_proposal` - Reject a proposal, slashing the deposit. +- `approve_proposal` - Accept the proposal, returning the deposit. diff --git a/pallets/treasury/src/benchmarking.rs b/pallets/treasury/src/benchmarking.rs new file mode 100644 index 000000000..2a8b080d3 --- /dev/null +++ b/pallets/treasury/src/benchmarking.rs @@ -0,0 +1,426 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Treasury pallet benchmarking. + +#![cfg(feature = "runtime-benchmarks")] + +use super::{Pallet as Treasury, *}; + +use frame_benchmarking::{ + v1::{account, BenchmarkError}, + v2::*, +}; +use frame_support::{ + assert_err, assert_ok, ensure, + traits::{ + tokens::{ConversionFromAssetBalance, PaymentStatus}, + EnsureOrigin, OnInitialize, + }, +}; +use frame_system::RawOrigin; +use sp_core::crypto::FromEntropy; + +/// Trait describing factory functions for dispatchables' parameters. +pub trait ArgumentsFactory { + /// Factory function for an asset kind. + fn create_asset_kind(seed: u32) -> AssetKind; + /// Factory function for a beneficiary. + fn create_beneficiary(seed: [u8; 32]) -> Beneficiary; +} + +/// Implementation that expects the parameters implement the [`FromEntropy`] trait. +impl ArgumentsFactory for () +where + AssetKind: FromEntropy, + Beneficiary: FromEntropy, +{ + fn create_asset_kind(seed: u32) -> AssetKind { + AssetKind::from_entropy(&mut seed.encode().as_slice()).unwrap() + } + fn create_beneficiary(seed: [u8; 32]) -> Beneficiary { + Beneficiary::from_entropy(&mut seed.as_slice()).unwrap() + } +} + +const SEED: u32 = 0; + +// Create the pre-requisite information needed to create a treasury `propose_spend`. +fn setup_proposal, I: 'static>( + u: u32, +) -> (T::AccountId, BalanceOf, AccountIdLookupOf) { + let caller = account("caller", u, SEED); + let value: BalanceOf = T::ProposalBondMinimum::get().saturating_mul(100u32.into()); + let _ = T::Currency::make_free_balance_be(&caller, value); + let beneficiary = account("beneficiary", u, SEED); + let beneficiary_lookup = T::Lookup::unlookup(beneficiary); + (caller, value, beneficiary_lookup) +} + +// Create proposals that are approved for use in `on_initialize`. +fn create_approved_proposals, I: 'static>(n: u32) -> Result<(), &'static str> { + for i in 0..n { + let (caller, value, lookup) = setup_proposal::(i); + #[allow(deprecated)] + Treasury::::propose_spend(RawOrigin::Signed(caller).into(), value, lookup)?; + let proposal_id = >::get() - 1; + Approvals::::try_append(proposal_id).unwrap(); + } + + ensure!( + Approvals::::get().len() == n as usize, + "Not all approved" + ); + + Ok(()) +} + +fn setup_pot_account, I: 'static>() { + let pot_account = Treasury::::account_id(); + let value = T::Currency::minimum_balance().saturating_mul(1_000_000_000u32.into()); + let _ = T::Currency::make_free_balance_be(&pot_account, value); +} + +fn assert_last_event, I: 'static>(generic_event: >::RuntimeEvent) { + frame_system::Pallet::::assert_last_event(generic_event.into()); +} + +// Create the arguments for the `spend` dispatchable. +fn create_spend_arguments, I: 'static>( + seed: u32, +) -> ( + T::AssetKind, + AssetBalanceOf, + T::Beneficiary, + BeneficiaryLookupOf, +) { + let asset_kind = T::BenchmarkHelper::create_asset_kind(seed); + let beneficiary = T::BenchmarkHelper::create_beneficiary([seed.try_into().unwrap(); 32]); + let beneficiary_lookup = T::BeneficiaryLookup::unlookup(beneficiary.clone()); + (asset_kind, 100u32.into(), beneficiary, beneficiary_lookup) +} + +#[instance_benchmarks] +mod benchmarks { + use super::*; + + /// This benchmark is short-circuited if `SpendOrigin` cannot provide + /// a successful origin, in which case `spend` is un-callable and can use weight=0. + #[benchmark] + fn spend_local() -> Result<(), BenchmarkError> { + let (_, value, beneficiary_lookup) = setup_proposal::(SEED); + let origin = + T::SpendOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + let beneficiary = T::Lookup::lookup(beneficiary_lookup.clone()).unwrap(); + + #[extrinsic_call] + _(origin as T::RuntimeOrigin, value, beneficiary_lookup); + + assert_last_event::( + Event::SpendApproved { + proposal_index: 0, + amount: value, + beneficiary, + } + .into(), + ); + Ok(()) + } + + #[benchmark] + fn propose_spend() -> Result<(), BenchmarkError> { + let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); + // Whitelist caller account from further DB operations. + let caller_key = frame_system::Account::::hashed_key_for(&caller); + frame_benchmarking::benchmarking::add_to_whitelist(caller_key.into()); + + #[extrinsic_call] + _(RawOrigin::Signed(caller), value, beneficiary_lookup); + + Ok(()) + } + + #[benchmark] + fn reject_proposal() -> Result<(), BenchmarkError> { + let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); + #[allow(deprecated)] + Treasury::::propose_spend( + RawOrigin::Signed(caller).into(), + value, + beneficiary_lookup, + )?; + let proposal_id = Treasury::::proposal_count() - 1; + let reject_origin = + T::RejectOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + #[extrinsic_call] + _(reject_origin as T::RuntimeOrigin, proposal_id); + Ok(()) + } + + #[benchmark] + fn approve_proposal( + p: Linear<0, { T::MaxApprovals::get() - 1 }>, + ) -> Result<(), BenchmarkError> { + let approve_origin = + T::ApproveOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + create_approved_proposals::(p)?; + let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); + #[allow(deprecated)] + Treasury::::propose_spend( + RawOrigin::Signed(caller).into(), + value, + beneficiary_lookup, + )?; + let proposal_id = Treasury::::proposal_count() - 1; + + #[extrinsic_call] + _(approve_origin as T::RuntimeOrigin, proposal_id); + + Ok(()) + } + + #[benchmark] + fn remove_approval() -> Result<(), BenchmarkError> { + let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); + #[allow(deprecated)] + Treasury::::propose_spend( + RawOrigin::Signed(caller).into(), + value, + beneficiary_lookup, + )?; + let proposal_id = Treasury::::proposal_count() - 1; + Approvals::::try_append(proposal_id).unwrap(); + let reject_origin = + T::RejectOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + + #[extrinsic_call] + _(reject_origin as T::RuntimeOrigin, proposal_id); + + Ok(()) + } + + #[benchmark] + fn on_initialize_proposals( + p: Linear<0, { T::MaxApprovals::get() - 1 }>, + ) -> Result<(), BenchmarkError> { + setup_pot_account::(); + create_approved_proposals::(p)?; + + #[block] + { + Treasury::::on_initialize(0u32.into()); + } + + Ok(()) + } + + /// This benchmark is short-circuited if `SpendOrigin` cannot provide + /// a successful origin, in which case `spend` is un-callable and can use weight=0. + #[benchmark] + fn spend() -> Result<(), BenchmarkError> { + let origin = + T::SpendOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + let (asset_kind, amount, beneficiary, beneficiary_lookup) = + create_spend_arguments::(SEED); + T::BalanceConverter::ensure_successful(asset_kind.clone()); + + #[extrinsic_call] + _( + origin as T::RuntimeOrigin, + Box::new(asset_kind.clone()), + amount, + Box::new(beneficiary_lookup), + None, + ); + + let valid_from = frame_system::Pallet::::block_number(); + let expire_at = valid_from.saturating_add(T::PayoutPeriod::get()); + assert_last_event::( + Event::AssetSpendApproved { + index: 0, + asset_kind, + amount, + beneficiary, + valid_from, + expire_at, + } + .into(), + ); + Ok(()) + } + + #[benchmark] + fn payout() -> Result<(), BenchmarkError> { + let (asset_kind, amount, beneficiary, beneficiary_lookup) = + create_spend_arguments::(SEED); + T::BalanceConverter::ensure_successful(asset_kind.clone()); + + let spend_exists = if let Ok(origin) = T::SpendOrigin::try_successful_origin() { + Treasury::::spend( + origin, + Box::new(asset_kind.clone()), + amount, + Box::new(beneficiary_lookup), + None, + )?; + + true + } else { + false + }; + + T::Paymaster::ensure_successful(&beneficiary, asset_kind, amount); + let caller: T::AccountId = account("caller", 0, SEED); + + #[block] + { + let res = Treasury::::payout(RawOrigin::Signed(caller.clone()).into(), 0u32); + + if spend_exists { + assert_ok!(res); + } else { + assert_err!(res, crate::Error::::InvalidIndex); + } + } + + if spend_exists { + let id = match Spends::::get(0).unwrap().status { + PaymentState::Attempted { id, .. } => { + assert_ne!(T::Paymaster::check_payment(id), PaymentStatus::Failure); + id + } + _ => panic!("No payout attempt made"), + }; + assert_last_event::( + Event::Paid { + index: 0, + payment_id: id, + } + .into(), + ); + assert!(Treasury::::payout(RawOrigin::Signed(caller).into(), 0u32).is_err()); + } + + Ok(()) + } + + #[benchmark] + fn check_status() -> Result<(), BenchmarkError> { + let (asset_kind, amount, beneficiary, beneficiary_lookup) = + create_spend_arguments::(SEED); + + T::BalanceConverter::ensure_successful(asset_kind.clone()); + T::Paymaster::ensure_successful(&beneficiary, asset_kind.clone(), amount); + let caller: T::AccountId = account("caller", 0, SEED); + + let spend_exists = if let Ok(origin) = T::SpendOrigin::try_successful_origin() { + Treasury::::spend( + origin, + Box::new(asset_kind), + amount, + Box::new(beneficiary_lookup), + None, + )?; + + Treasury::::payout(RawOrigin::Signed(caller.clone()).into(), 0u32)?; + match Spends::::get(0).unwrap().status { + PaymentState::Attempted { id, .. } => { + T::Paymaster::ensure_concluded(id); + } + _ => panic!("No payout attempt made"), + }; + + true + } else { + false + }; + + #[block] + { + let res = + Treasury::::check_status(RawOrigin::Signed(caller.clone()).into(), 0u32); + + if spend_exists { + assert_ok!(res); + } else { + assert_err!(res, crate::Error::::InvalidIndex); + } + } + + if let Some(s) = Spends::::get(0) { + assert!(!matches!(s.status, PaymentState::Attempted { .. })); + } + + Ok(()) + } + + #[benchmark] + fn void_spend() -> Result<(), BenchmarkError> { + let (asset_kind, amount, _, beneficiary_lookup) = create_spend_arguments::(SEED); + T::BalanceConverter::ensure_successful(asset_kind.clone()); + let spend_exists = if let Ok(origin) = T::SpendOrigin::try_successful_origin() { + Treasury::::spend( + origin, + Box::new(asset_kind.clone()), + amount, + Box::new(beneficiary_lookup), + None, + )?; + assert!(Spends::::get(0).is_some()); + + true + } else { + false + }; + + let origin = + T::RejectOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + + #[block] + { + let res = Treasury::::void_spend(origin as T::RuntimeOrigin, 0u32); + + if spend_exists { + assert_ok!(res); + } else { + assert_err!(res, crate::Error::::InvalidIndex); + } + } + + assert!(Spends::::get(0).is_none()); + Ok(()) + } + + impl_benchmark_test_suite!( + Treasury, + crate::tests::ExtBuilder::default().build(), + crate::tests::Test + ); + + mod no_spend_origin_tests { + use super::*; + + impl_benchmark_test_suite!( + Treasury, + crate::tests::ExtBuilder::default() + .spend_origin_succesful_origin_err() + .build(), + crate::tests::Test, + benchmarks_path = benchmarking + ); + } +} diff --git a/pallets/treasury/src/lib.rs b/pallets/treasury/src/lib.rs new file mode 100644 index 000000000..fcf99f718 --- /dev/null +++ b/pallets/treasury/src/lib.rs @@ -0,0 +1,1187 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! > Made with *Substrate*, for *Polkadot*. +//! +//! [![github]](https://github.com/paritytech/substrate/frame/fast-unstake) - +//! [![polkadot]](https://polkadot.network) +//! +//! [polkadot]: https://img.shields.io/badge/polkadot-E6007A?style=for-the-badge&logo=polkadot&logoColor=white +//! [github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=github +//! +//! # Treasury Pallet +//! +//! The Treasury pallet provides a "pot" of funds that can be managed by stakeholders in the system +//! and a structure for making spending proposals from this pot. +//! +//! ## Overview +//! +//! The Treasury Pallet itself provides the pot to store funds, and a means for stakeholders to +//! propose and claim expenditures (aka spends). The chain will need to provide a method to approve +//! spends (e.g. public referendum) and a method for collecting funds (e.g. inflation, fees). +//! +//! By way of example, stakeholders could vote to fund the Treasury with a portion of the block +//! reward and use the funds to pay developers. +//! +//! ### Terminology +//! +//! - **Proposal:** A suggestion to allocate funds from the pot to a beneficiary. +//! - **Beneficiary:** An account who will receive the funds from a proposal iff the proposal is +//! approved. +//! - **Pot:** Unspent funds accumulated by the treasury pallet. +//! - **Spend** An approved proposal for transferring a specific amount of funds to a designated +//! beneficiary. +//! +//! ### Example +//! +//! 1. Multiple local spends approved by spend origins and received by a beneficiary. +#![doc = docify::embed!("src/tests.rs", spend_local_origin_works)] +//! +//! 2. Approve a spend of some asset kind and claim it. +#![doc = docify::embed!("src/tests.rs", spend_payout_works)] +//! +//! ## Pallet API +//! +//! See the [`pallet`] module for more information about the interfaces this pallet exposes, +//! including its configuration trait, dispatchables, storage items, events and errors. +//! +//! ## Low Level / Implementation Details +//! +//! Spends can be initiated using either the `spend_local` or `spend` dispatchable. The +//! `spend_local` dispatchable enables the creation of spends using the native currency of the +//! chain, utilizing the funds stored in the pot. These spends are automatically paid out every +//! [`pallet::Config::SpendPeriod`]. On the other hand, the `spend` dispatchable allows spending of +//! any asset kind managed by the treasury, with payment facilitated by a designated +//! [`pallet::Config::Paymaster`]. To claim these spends, the `payout` dispatchable should be called +//! within some temporal bounds, starting from the moment they become valid and within one +//! [`pallet::Config::PayoutPeriod`]. + +#![cfg_attr(not(feature = "std"), no_std)] + +mod benchmarking; +#[cfg(test)] +mod tests; +pub mod weights; +use core::marker::PhantomData; + +#[cfg(feature = "runtime-benchmarks")] +pub use benchmarking::ArgumentsFactory; + +extern crate alloc; + +use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; +use scale_info::TypeInfo; + +use alloc::{boxed::Box, collections::btree_map::BTreeMap}; +use sp_runtime::{ + traits::{AccountIdConversion, CheckedAdd, Saturating, StaticLookup, Zero}, + Permill, RuntimeDebug, +}; + +use frame_support::{ + dispatch::{DispatchResult, DispatchResultWithPostInfo}, + ensure, print, + traits::{ + tokens::Pay, Currency, ExistenceRequirement::KeepAlive, Get, Imbalance, OnUnbalanced, + ReservableCurrency, WithdrawReasons, + }, + weights::Weight, + PalletId, +}; + +pub use pallet::*; +pub use weights::WeightInfo; + +pub type BalanceOf = + <>::Currency as Currency<::AccountId>>::Balance; +pub type AssetBalanceOf = <>::Paymaster as Pay>::Balance; +pub type PositiveImbalanceOf = <>::Currency as Currency< + ::AccountId, +>>::PositiveImbalance; +pub type NegativeImbalanceOf = <>::Currency as Currency< + ::AccountId, +>>::NegativeImbalance; +type AccountIdLookupOf = <::Lookup as StaticLookup>::Source; +type BeneficiaryLookupOf = <>::BeneficiaryLookup as StaticLookup>::Source; + +/// A trait to allow the Treasury Pallet to spend it's funds for other purposes. +/// There is an expectation that the implementer of this trait will correctly manage +/// the mutable variables passed to it: +/// * `budget_remaining`: How much available funds that can be spent by the treasury. As funds are +/// spent, you must correctly deduct from this value. +/// * `imbalance`: Any imbalances that you create should be subsumed in here to maximize efficiency +/// of updating the total issuance. (i.e. `deposit_creating`) +/// * `total_weight`: Track any weight that your `spend_fund` implementation uses by updating this +/// value. +/// * `missed_any`: If there were items that you want to spend on, but there were not enough funds, +/// mark this value as `true`. This will prevent the treasury from burning the excess funds. +#[impl_trait_for_tuples::impl_for_tuples(30)] +pub trait SpendFunds, I: 'static = ()> { + fn spend_funds( + budget_remaining: &mut BalanceOf, + imbalance: &mut PositiveImbalanceOf, + total_weight: &mut Weight, + missed_any: &mut bool, + ); +} + +/// An index of a proposal. Just a `u32`. +pub type ProposalIndex = u32; + +/// A spending proposal. +#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] +#[derive(Encode, Decode, Clone, PartialEq, Eq, MaxEncodedLen, RuntimeDebug, TypeInfo)] +pub struct Proposal { + /// The account proposing it. + proposer: AccountId, + /// The (total) amount that should be paid if the proposal is accepted. + value: Balance, + /// The account to whom the payment should be made if the proposal is accepted. + beneficiary: AccountId, + /// The amount held on deposit (reserved) for making this proposal. + bond: Balance, +} + +/// The state of the payment claim. +#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] +#[derive(Encode, Decode, Clone, PartialEq, Eq, MaxEncodedLen, RuntimeDebug, TypeInfo)] +pub enum PaymentState { + /// Pending claim. + Pending, + /// Payment attempted with a payment identifier. + Attempted { id: Id }, + /// Payment failed. + Failed, +} + +/// Info regarding an approved treasury spend. +#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] +#[derive(Encode, Decode, Clone, PartialEq, Eq, MaxEncodedLen, RuntimeDebug, TypeInfo)] +pub struct SpendStatus { + // The kind of asset to be spent. + asset_kind: AssetKind, + /// The asset amount of the spend. + amount: AssetBalance, + /// The beneficiary of the spend. + beneficiary: Beneficiary, + /// The block number from which the spend can be claimed. + valid_from: BlockNumber, + /// The block number by which the spend has to be claimed. + expire_at: BlockNumber, + /// The status of the payout/claim. + status: PaymentState, +} + +/// Index of an approved treasury spend. +pub type SpendIndex = u32; + +#[frame_support::pallet] +pub mod pallet { + use super::*; + use frame_support::{ + dispatch_context::with_context, + pallet_prelude::*, + traits::tokens::{ConversionFromAssetBalance, PaymentStatus}, + }; + use frame_system::pallet_prelude::*; + + #[pallet::pallet] + pub struct Pallet(PhantomData<(T, I)>); + + #[pallet::config] + pub trait Config: frame_system::Config { + /// The staking balance. + type Currency: Currency + ReservableCurrency; + + /// Origin from which approvals must come. + type ApproveOrigin: EnsureOrigin; + + /// Origin from which rejections must come. + type RejectOrigin: EnsureOrigin; + + /// The overarching event type. + type RuntimeEvent: From> + + IsType<::RuntimeEvent>; + + /// Handler for the unbalanced decrease when slashing for a rejected proposal or bounty. + type OnSlash: OnUnbalanced>; + + /// Fraction of a proposal's value that should be bonded in order to place the proposal. + /// An accepted proposal gets these back. A rejected proposal does not. + #[pallet::constant] + type ProposalBond: Get; + + /// Minimum amount of funds that should be placed in a deposit for making a proposal. + #[pallet::constant] + type ProposalBondMinimum: Get>; + + /// Maximum amount of funds that should be placed in a deposit for making a proposal. + #[pallet::constant] + type ProposalBondMaximum: Get>>; + + /// Period between successive spends. + #[pallet::constant] + type SpendPeriod: Get>; + + /// Percentage of spare funds (if any) that are burnt per spend period. + #[pallet::constant] + type Burn: Get; + + /// The treasury's pallet id, used for deriving its sovereign account ID. + #[pallet::constant] + type PalletId: Get; + + /// Handler for the unbalanced decrease when treasury funds are burned. + type BurnDestination: OnUnbalanced>; + + /// Weight information for extrinsics in this pallet. + type WeightInfo: WeightInfo; + + /// Runtime hooks to external pallet using treasury to compute spend funds. + type SpendFunds: SpendFunds; + + /// The maximum number of approvals that can wait in the spending queue. + /// + /// NOTE: This parameter is also used within the Bounties Pallet extension if enabled. + #[pallet::constant] + type MaxApprovals: Get; + + /// The origin required for approving spends from the treasury outside of the proposal + /// process. The `Success` value is the maximum amount in a native asset that this origin + /// is allowed to spend at a time. + type SpendOrigin: EnsureOrigin>; + + /// Type parameter representing the asset kinds to be spent from the treasury. + type AssetKind: Parameter + MaxEncodedLen; + + /// Type parameter used to identify the beneficiaries eligible to receive treasury spends. + type Beneficiary: Parameter + MaxEncodedLen; + + /// Converting trait to take a source type and convert to [`Self::Beneficiary`]. + type BeneficiaryLookup: StaticLookup; + + /// Type for processing spends of [Self::AssetKind] in favor of [`Self::Beneficiary`]. + type Paymaster: Pay; + + /// Type for converting the balance of an [Self::AssetKind] to the balance of the native + /// asset, solely for the purpose of asserting the result against the maximum allowed spend + /// amount of the [`Self::SpendOrigin`]. + type BalanceConverter: ConversionFromAssetBalance< + ::Balance, + Self::AssetKind, + BalanceOf, + >; + + /// The period during which an approved treasury spend has to be claimed. + #[pallet::constant] + type PayoutPeriod: Get>; + + /// Helper type for benchmarks. + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper: ArgumentsFactory; + } + + /// Number of proposals that have been made. + #[pallet::storage] + #[pallet::getter(fn proposal_count)] + pub(crate) type ProposalCount = StorageValue<_, ProposalIndex, ValueQuery>; + + /// Proposals that have been made. + #[pallet::storage] + #[pallet::getter(fn proposals)] + pub type Proposals, I: 'static = ()> = StorageMap< + _, + Twox64Concat, + ProposalIndex, + Proposal>, + OptionQuery, + >; + + /// The amount which has been reported as inactive to Currency. + #[pallet::storage] + pub type Deactivated, I: 'static = ()> = + StorageValue<_, BalanceOf, ValueQuery>; + + /// Proposal indices that have been approved but not yet awarded. + #[pallet::storage] + #[pallet::getter(fn approvals)] + pub type Approvals, I: 'static = ()> = + StorageValue<_, BoundedVec, ValueQuery>; + + /// The count of spends that have been made. + #[pallet::storage] + pub(crate) type SpendCount = StorageValue<_, SpendIndex, ValueQuery>; + + /// Spends that have been approved and being processed. + // Hasher: Twox safe since `SpendIndex` is an internal count based index. + #[pallet::storage] + pub type Spends, I: 'static = ()> = StorageMap< + _, + Twox64Concat, + SpendIndex, + SpendStatus< + T::AssetKind, + AssetBalanceOf, + T::Beneficiary, + BlockNumberFor, + ::Id, + >, + OptionQuery, + >; + + #[pallet::genesis_config] + #[derive(frame_support::DefaultNoBound)] + pub struct GenesisConfig, I: 'static = ()> { + #[serde(skip)] + _config: core::marker::PhantomData<(T, I)>, + } + + #[pallet::genesis_build] + impl, I: 'static> BuildGenesisConfig for GenesisConfig { + fn build(&self) { + // Create Treasury account + let account_id = >::account_id(); + let min = T::Currency::minimum_balance(); + if T::Currency::free_balance(&account_id) < min { + let _ = T::Currency::make_free_balance_be(&account_id, min); + } + } + } + + #[pallet::event] + #[pallet::generate_deposit(pub(super) fn deposit_event)] + pub enum Event, I: 'static = ()> { + /// New proposal. + Proposed { proposal_index: ProposalIndex }, + /// We have ended a spend period and will now allocate funds. + Spending { budget_remaining: BalanceOf }, + /// Some funds have been allocated. + Awarded { + proposal_index: ProposalIndex, + award: BalanceOf, + account: T::AccountId, + }, + /// A proposal was rejected; funds were slashed. + Rejected { + proposal_index: ProposalIndex, + slashed: BalanceOf, + }, + /// Some of our funds have been burnt. + Burnt { burnt_funds: BalanceOf }, + /// Spending has finished; this is the amount that rolls over until next spend. + Rollover { rollover_balance: BalanceOf }, + /// Some funds have been deposited. + Deposit { value: BalanceOf }, + /// A new spend proposal has been approved. + SpendApproved { + proposal_index: ProposalIndex, + amount: BalanceOf, + beneficiary: T::AccountId, + }, + /// The inactive funds of the pallet have been updated. + UpdatedInactive { + reactivated: BalanceOf, + deactivated: BalanceOf, + }, + /// A new asset spend proposal has been approved. + AssetSpendApproved { + index: SpendIndex, + asset_kind: T::AssetKind, + amount: AssetBalanceOf, + beneficiary: T::Beneficiary, + valid_from: BlockNumberFor, + expire_at: BlockNumberFor, + }, + /// An approved spend was voided. + AssetSpendVoided { index: SpendIndex }, + /// A payment happened. + Paid { + index: SpendIndex, + payment_id: ::Id, + }, + /// A payment failed and can be retried. + PaymentFailed { + index: SpendIndex, + payment_id: ::Id, + }, + /// A spend was processed and removed from the storage. It might have been successfully + /// paid or it may have expired. + SpendProcessed { index: SpendIndex }, + } + + /// Error for the treasury pallet. + #[pallet::error] + pub enum Error { + /// Proposer's balance is too low. + InsufficientProposersBalance, + /// No proposal, bounty or spend at that index. + InvalidIndex, + /// Too many approvals in the queue. + TooManyApprovals, + /// The spend origin is valid but the amount it is allowed to spend is lower than the + /// amount to be spent. + InsufficientPermission, + /// Proposal has not been approved. + ProposalNotApproved, + /// The balance of the asset kind is not convertible to the balance of the native asset. + FailedToConvertBalance, + /// The spend has expired and cannot be claimed. + SpendExpired, + /// The spend is not yet eligible for payout. + EarlyPayout, + /// The payment has already been attempted. + AlreadyAttempted, + /// There was some issue with the mechanism of payment. + PayoutError, + /// The payout was not yet attempted/claimed. + NotAttempted, + /// The payment has neither failed nor succeeded yet. + Inconclusive, + } + + #[pallet::hooks] + impl, I: 'static> Hooks> for Pallet { + /// ## Complexity + /// - `O(A)` where `A` is the number of approvals + fn on_initialize(n: frame_system::pallet_prelude::BlockNumberFor) -> Weight { + let pot = Self::pot(); + let deactivated = Deactivated::::get(); + if pot != deactivated { + T::Currency::reactivate(deactivated); + T::Currency::deactivate(pot); + Deactivated::::put(&pot); + Self::deposit_event(Event::::UpdatedInactive { + reactivated: deactivated, + deactivated: pot, + }); + } + + // Check to see if we should spend some funds! + if (n % T::SpendPeriod::get()).is_zero() { + Self::spend_funds() + } else { + Weight::zero() + } + } + + #[cfg(feature = "try-runtime")] + fn try_state( + _: frame_system::pallet_prelude::BlockNumberFor, + ) -> Result<(), sp_runtime::TryRuntimeError> { + Self::do_try_state()?; + Ok(()) + } + } + + #[derive(Default)] + struct SpendContext { + spend_in_context: BTreeMap, + } + + #[pallet::call] + impl, I: 'static> Pallet { + /// Put forward a suggestion for spending. + /// + /// ## Dispatch Origin + /// + /// Must be signed. + /// + /// ## Details + /// A deposit proportional to the value is reserved and slashed if the proposal is rejected. + /// It is returned once the proposal is awarded. + /// + /// ### Complexity + /// - O(1) + /// + /// ## Events + /// + /// Emits [`Event::Proposed`] if successful. + #[pallet::call_index(0)] + #[pallet::weight(T::WeightInfo::propose_spend())] + #[allow(deprecated)] + #[deprecated( + note = "`propose_spend` will be removed in February 2024. Use `spend` instead." + )] + pub fn propose_spend( + origin: OriginFor, + #[pallet::compact] value: BalanceOf, + beneficiary: AccountIdLookupOf, + ) -> DispatchResult { + let proposer = ensure_signed(origin)?; + let beneficiary = T::Lookup::lookup(beneficiary)?; + + let bond = Self::calculate_bond(value); + T::Currency::reserve(&proposer, bond) + .map_err(|_| Error::::InsufficientProposersBalance)?; + + let c = Self::proposal_count(); + >::put(c + 1); + >::insert( + c, + Proposal { + proposer, + value, + beneficiary, + bond, + }, + ); + + Self::deposit_event(Event::Proposed { proposal_index: c }); + Ok(()) + } + + /// Reject a proposed spend. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::RejectOrigin`]. + /// + /// ## Details + /// The original deposit will be slashed. + /// + /// ### Complexity + /// - O(1) + /// + /// ## Events + /// + /// Emits [`Event::Rejected`] if successful. + #[pallet::call_index(1)] + #[pallet::weight((T::WeightInfo::reject_proposal(), DispatchClass::Operational))] + #[allow(deprecated)] + #[deprecated( + note = "`reject_proposal` will be removed in February 2024. Use `spend` instead." + )] + pub fn reject_proposal( + origin: OriginFor, + #[pallet::compact] proposal_id: ProposalIndex, + ) -> DispatchResult { + T::RejectOrigin::ensure_origin(origin)?; + + let proposal = + >::take(&proposal_id).ok_or(Error::::InvalidIndex)?; + let value = proposal.bond; + let imbalance = T::Currency::slash_reserved(&proposal.proposer, value).0; + T::OnSlash::on_unbalanced(imbalance); + + Self::deposit_event(Event::::Rejected { + proposal_index: proposal_id, + slashed: value, + }); + Ok(()) + } + + /// Approve a proposal. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::ApproveOrigin`]. + /// + /// ## Details + /// + /// At a later time, the proposal will be allocated to the beneficiary and the original + /// deposit will be returned. + /// + /// ### Complexity + /// - O(1). + /// + /// ## Events + /// + /// No events are emitted from this dispatch. + #[pallet::call_index(2)] + #[pallet::weight((T::WeightInfo::approve_proposal(T::MaxApprovals::get()), DispatchClass::Operational))] + #[allow(deprecated)] + #[deprecated( + note = "`approve_proposal` will be removed in February 2024. Use `spend` instead." + )] + pub fn approve_proposal( + origin: OriginFor, + #[pallet::compact] proposal_id: ProposalIndex, + ) -> DispatchResult { + T::ApproveOrigin::ensure_origin(origin)?; + + ensure!( + >::contains_key(proposal_id), + Error::::InvalidIndex + ); + Approvals::::try_append(proposal_id) + .map_err(|_| Error::::TooManyApprovals)?; + Ok(()) + } + + /// Propose and approve a spend of treasury funds. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`. + /// + /// ### Details + /// NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the + /// beneficiary. + /// + /// ### Parameters + /// - `amount`: The amount to be transferred from the treasury to the `beneficiary`. + /// - `beneficiary`: The destination account for the transfer. + /// + /// ## Events + /// + /// Emits [`Event::SpendApproved`] if successful. + #[pallet::call_index(3)] + #[pallet::weight(T::WeightInfo::spend_local())] + pub fn spend_local( + origin: OriginFor, + #[pallet::compact] amount: BalanceOf, + beneficiary: AccountIdLookupOf, + ) -> DispatchResult { + let max_amount = T::SpendOrigin::ensure_origin(origin)?; + ensure!(amount <= max_amount, Error::::InsufficientPermission); + + with_context::>, _>(|v| { + let context = v.or_default(); + + // We group based on `max_amount`, to distinguish between different kind of + // origins. (assumes that all origins have different `max_amount`) + // + // Worst case is that we reject some "valid" request. + let spend = context.spend_in_context.entry(max_amount).or_default(); + + // Ensure that we don't overflow nor use more than `max_amount` + if spend + .checked_add(&amount) + .map(|s| s > max_amount) + .unwrap_or(true) + { + Err(Error::::InsufficientPermission) + } else { + *spend = spend.saturating_add(amount); + + Ok(()) + } + }) + .unwrap_or(Ok(()))?; + + let beneficiary = T::Lookup::lookup(beneficiary)?; + let proposal_index = Self::proposal_count(); + Approvals::::try_append(proposal_index) + .map_err(|_| Error::::TooManyApprovals)?; + let proposal = Proposal { + proposer: beneficiary.clone(), + value: amount, + beneficiary: beneficiary.clone(), + bond: Default::default(), + }; + Proposals::::insert(proposal_index, proposal); + ProposalCount::::put(proposal_index + 1); + + Self::deposit_event(Event::SpendApproved { + proposal_index, + amount, + beneficiary, + }); + Ok(()) + } + + /// Force a previously approved proposal to be removed from the approval queue. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::RejectOrigin`]. + /// + /// ## Details + /// + /// The original deposit will no longer be returned. + /// + /// ### Parameters + /// - `proposal_id`: The index of a proposal + /// + /// ### Complexity + /// - O(A) where `A` is the number of approvals + /// + /// ### Errors + /// - [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the + /// approval queue, i.e., the proposal has not been approved. This could also mean the + /// proposal does not exist altogether, thus there is no way it would have been approved + /// in the first place. + #[pallet::call_index(4)] + #[pallet::weight((T::WeightInfo::remove_approval(), DispatchClass::Operational))] + pub fn remove_approval( + origin: OriginFor, + #[pallet::compact] proposal_id: ProposalIndex, + ) -> DispatchResult { + T::RejectOrigin::ensure_origin(origin)?; + + Approvals::::try_mutate(|v| -> DispatchResult { + if let Some(index) = v.iter().position(|x| x == &proposal_id) { + v.remove(index); + Ok(()) + } else { + Err(Error::::ProposalNotApproved.into()) + } + })?; + + Ok(()) + } + + /// Propose and approve a spend of treasury funds. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::SpendOrigin`] with the `Success` value being at least + /// `amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted + /// for assertion using the [`Config::BalanceConverter`]. + /// + /// ## Details + /// + /// Create an approved spend for transferring a specific `amount` of `asset_kind` to a + /// designated beneficiary. The spend must be claimed using the `payout` dispatchable within + /// the [`Config::PayoutPeriod`]. + /// + /// ### Parameters + /// - `asset_kind`: An indicator of the specific asset class to be spent. + /// - `amount`: The amount to be transferred from the treasury to the `beneficiary`. + /// - `beneficiary`: The beneficiary of the spend. + /// - `valid_from`: The block number from which the spend can be claimed. It can refer to + /// the past if the resulting spend has not yet expired according to the + /// [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after + /// approval. + /// + /// ## Events + /// + /// Emits [`Event::AssetSpendApproved`] if successful. + #[pallet::call_index(5)] + #[pallet::weight(T::WeightInfo::spend())] + pub fn spend( + origin: OriginFor, + asset_kind: Box, + #[pallet::compact] amount: AssetBalanceOf, + beneficiary: Box>, + valid_from: Option>, + ) -> DispatchResult { + let max_amount = T::SpendOrigin::ensure_origin(origin)?; + let beneficiary = T::BeneficiaryLookup::lookup(*beneficiary)?; + + let now = frame_system::Pallet::::block_number(); + let valid_from = valid_from.unwrap_or(now); + let expire_at = valid_from.saturating_add(T::PayoutPeriod::get()); + ensure!(expire_at > now, Error::::SpendExpired); + + let native_amount = + T::BalanceConverter::from_asset_balance(amount, *asset_kind.clone()) + .map_err(|_| Error::::FailedToConvertBalance)?; + + ensure!( + native_amount <= max_amount, + Error::::InsufficientPermission + ); + + with_context::>, _>(|v| { + let context = v.or_default(); + // We group based on `max_amount`, to distinguish between different kind of + // origins. (assumes that all origins have different `max_amount`) + // + // Worst case is that we reject some "valid" request. + let spend = context.spend_in_context.entry(max_amount).or_default(); + + // Ensure that we don't overflow nor use more than `max_amount` + if spend + .checked_add(&native_amount) + .map(|s| s > max_amount) + .unwrap_or(true) + { + Err(Error::::InsufficientPermission) + } else { + *spend = spend.saturating_add(native_amount); + Ok(()) + } + }) + .unwrap_or(Ok(()))?; + + let index = SpendCount::::get(); + Spends::::insert( + index, + SpendStatus { + asset_kind: *asset_kind.clone(), + amount, + beneficiary: beneficiary.clone(), + valid_from, + expire_at, + status: PaymentState::Pending, + }, + ); + SpendCount::::put(index + 1); + + Self::deposit_event(Event::AssetSpendApproved { + index, + asset_kind: *asset_kind, + amount, + beneficiary, + valid_from, + expire_at, + }); + Ok(()) + } + + /// Claim a spend. + /// + /// ## Dispatch Origin + /// + /// Must be signed. + /// + /// ## Details + /// + /// Spends must be claimed within some temporal bounds. A spend may be claimed within one + /// [`Config::PayoutPeriod`] from the `valid_from` block. + /// In case of a payout failure, the spend status must be updated with the `check_status` + /// dispatchable before retrying with the current function. + /// + /// ### Parameters + /// - `index`: The spend index. + /// + /// ## Events + /// + /// Emits [`Event::Paid`] if successful. + #[pallet::call_index(6)] + #[pallet::weight(T::WeightInfo::payout())] + pub fn payout(origin: OriginFor, index: SpendIndex) -> DispatchResult { + ensure_signed(origin)?; + let mut spend = Spends::::get(index).ok_or(Error::::InvalidIndex)?; + let now = frame_system::Pallet::::block_number(); + ensure!(now >= spend.valid_from, Error::::EarlyPayout); + ensure!(spend.expire_at > now, Error::::SpendExpired); + ensure!( + matches!(spend.status, PaymentState::Pending | PaymentState::Failed), + Error::::AlreadyAttempted + ); + + let id = T::Paymaster::pay(&spend.beneficiary, spend.asset_kind.clone(), spend.amount) + .map_err(|_| Error::::PayoutError)?; + + spend.status = PaymentState::Attempted { id }; + Spends::::insert(index, spend); + + Self::deposit_event(Event::::Paid { + index, + payment_id: id, + }); + + Ok(()) + } + + /// Check the status of the spend and remove it from the storage if processed. + /// + /// ## Dispatch Origin + /// + /// Must be signed. + /// + /// ## Details + /// + /// The status check is a prerequisite for retrying a failed payout. + /// If a spend has either succeeded or expired, it is removed from the storage by this + /// function. In such instances, transaction fees are refunded. + /// + /// ### Parameters + /// - `index`: The spend index. + /// + /// ## Events + /// + /// Emits [`Event::PaymentFailed`] if the spend payout has failed. + /// Emits [`Event::SpendProcessed`] if the spend payout has succeed. + #[pallet::call_index(7)] + #[pallet::weight(T::WeightInfo::check_status())] + pub fn check_status(origin: OriginFor, index: SpendIndex) -> DispatchResultWithPostInfo { + use PaymentState as State; + use PaymentStatus as Status; + + ensure_signed(origin)?; + let mut spend = Spends::::get(index).ok_or(Error::::InvalidIndex)?; + let now = frame_system::Pallet::::block_number(); + + if now > spend.expire_at && !matches!(spend.status, State::Attempted { .. }) { + // spend has expired and no further status update is expected. + Spends::::remove(index); + Self::deposit_event(Event::::SpendProcessed { index }); + return Ok(Pays::No.into()); + } + + let payment_id = match spend.status { + State::Attempted { id } => id, + _ => return Err(Error::::NotAttempted.into()), + }; + + match T::Paymaster::check_payment(payment_id) { + Status::Failure => { + spend.status = PaymentState::Failed; + Spends::::insert(index, spend); + Self::deposit_event(Event::::PaymentFailed { index, payment_id }); + } + Status::Success | Status::Unknown => { + Spends::::remove(index); + Self::deposit_event(Event::::SpendProcessed { index }); + return Ok(Pays::No.into()); + } + Status::InProgress => return Err(Error::::Inconclusive.into()), + } + return Ok(Pays::Yes.into()); + } + + /// Void previously approved spend. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::RejectOrigin`]. + /// + /// ## Details + /// + /// A spend void is only possible if the payout has not been attempted yet. + /// + /// ### Parameters + /// - `index`: The spend index. + /// + /// ## Events + /// + /// Emits [`Event::AssetSpendVoided`] if successful. + #[pallet::call_index(8)] + #[pallet::weight(T::WeightInfo::void_spend())] + pub fn void_spend(origin: OriginFor, index: SpendIndex) -> DispatchResult { + T::RejectOrigin::ensure_origin(origin)?; + let spend = Spends::::get(index).ok_or(Error::::InvalidIndex)?; + ensure!( + matches!(spend.status, PaymentState::Pending | PaymentState::Failed), + Error::::AlreadyAttempted + ); + + Spends::::remove(index); + Self::deposit_event(Event::::AssetSpendVoided { index }); + Ok(()) + } + } +} + +impl, I: 'static> Pallet { + // Add public immutables and private mutables. + + /// The account ID of the treasury pot. + /// + /// This actually does computation. If you need to keep using it, then make sure you cache the + /// value and only call this once. + pub fn account_id() -> T::AccountId { + T::PalletId::get().into_account_truncating() + } + + /// The needed bond for a proposal whose spend is `value`. + fn calculate_bond(value: BalanceOf) -> BalanceOf { + let mut r = T::ProposalBondMinimum::get().max(T::ProposalBond::get() * value); + if let Some(m) = T::ProposalBondMaximum::get() { + r = r.min(m); + } + r + } + + /// Spend some money! returns number of approvals before spend. + pub fn spend_funds() -> Weight { + let mut total_weight = Weight::zero(); + + let mut budget_remaining = Self::pot(); + Self::deposit_event(Event::Spending { budget_remaining }); + let account_id = Self::account_id(); + + let mut missed_any = false; + let mut imbalance = >::zero(); + let proposals_len = Approvals::::mutate(|v| { + let proposals_approvals_len = v.len() as u32; + v.retain(|&index| { + // Should always be true, but shouldn't panic if false or we're screwed. + if let Some(p) = Self::proposals(index) { + if p.value <= budget_remaining { + budget_remaining -= p.value; + >::remove(index); + + // return their deposit. + let err_amount = T::Currency::unreserve(&p.proposer, p.bond); + debug_assert!(err_amount.is_zero()); + + // provide the allocation. + imbalance.subsume(T::Currency::deposit_creating(&p.beneficiary, p.value)); + + Self::deposit_event(Event::Awarded { + proposal_index: index, + award: p.value, + account: p.beneficiary, + }); + false + } else { + missed_any = true; + true + } + } else { + false + } + }); + proposals_approvals_len + }); + + total_weight += T::WeightInfo::on_initialize_proposals(proposals_len); + + // Call Runtime hooks to external pallet using treasury to compute spend funds. + T::SpendFunds::spend_funds( + &mut budget_remaining, + &mut imbalance, + &mut total_weight, + &mut missed_any, + ); + + if !missed_any { + // burn some proportion of the remaining budget if we run a surplus. + let burn = (T::Burn::get() * budget_remaining).min(budget_remaining); + budget_remaining -= burn; + + let (debit, credit) = T::Currency::pair(burn); + imbalance.subsume(debit); + T::BurnDestination::on_unbalanced(credit); + Self::deposit_event(Event::Burnt { burnt_funds: burn }) + } + + // Must never be an error, but better to be safe. + // proof: budget_remaining is account free balance minus ED; + // Thus we can't spend more than account free balance minus ED; + // Thus account is kept alive; qed; + if let Err(problem) = + T::Currency::settle(&account_id, imbalance, WithdrawReasons::TRANSFER, KeepAlive) + { + print("Inconsistent state - couldn't settle imbalance for funds spent by treasury"); + // Nothing else to do here. + drop(problem); + } + + Self::deposit_event(Event::Rollover { + rollover_balance: budget_remaining, + }); + + total_weight + } + + /// Return the amount of money in the pot. + // The existential deposit is not part of the pot so treasury account never gets deleted. + pub fn pot() -> BalanceOf { + T::Currency::free_balance(&Self::account_id()) + // Must never be less than 0 but better be safe. + .saturating_sub(T::Currency::minimum_balance()) + } + + /// Ensure the correctness of the state of this pallet. + #[cfg(any(feature = "try-runtime", test))] + fn do_try_state() -> Result<(), sp_runtime::TryRuntimeError> { + Self::try_state_proposals()?; + Self::try_state_spends()?; + + Ok(()) + } + + /// ### Invariants of proposal storage items + /// + /// 1. [`ProposalCount`] >= Number of elements in [`Proposals`]. + /// 2. Each entry in [`Proposals`] should be saved under a key strictly less than current + /// [`ProposalCount`]. + /// 3. Each [`ProposalIndex`] contained in [`Approvals`] should exist in [`Proposals`]. + /// Note, that this automatically implies [`Approvals`].count() <= [`Proposals`].count(). + #[cfg(any(feature = "try-runtime", test))] + fn try_state_proposals() -> Result<(), sp_runtime::TryRuntimeError> { + let current_proposal_count = ProposalCount::::get(); + ensure!( + current_proposal_count as usize >= Proposals::::iter().count(), + "Actual number of proposals exceeds `ProposalCount`." + ); + + Proposals::::iter_keys().try_for_each(|proposal_index| -> DispatchResult { + ensure!( + current_proposal_count as u32 > proposal_index, + "`ProposalCount` should by strictly greater than any ProposalIndex used as a key for `Proposals`." + ); + Ok(()) + })?; + + Approvals::::get() + .iter() + .try_for_each(|proposal_index| -> DispatchResult { + ensure!( + Proposals::::contains_key(proposal_index), + "Proposal indices in `Approvals` must also be contained in `Proposals`." + ); + Ok(()) + })?; + + Ok(()) + } + + /// ## Invariants of spend storage items + /// + /// 1. [`SpendCount`] >= Number of elements in [`Spends`]. + /// 2. Each entry in [`Spends`] should be saved under a key strictly less than current + /// [`SpendCount`]. + /// 3. For each spend entry contained in [`Spends`] we should have spend.expire_at + /// > spend.valid_from. + #[cfg(any(feature = "try-runtime", test))] + fn try_state_spends() -> Result<(), sp_runtime::TryRuntimeError> { + let current_spend_count = SpendCount::::get(); + ensure!( + current_spend_count as usize >= Spends::::iter().count(), + "Actual number of spends exceeds `SpendCount`." + ); + + Spends::::iter_keys().try_for_each(|spend_index| -> DispatchResult { + ensure!( + current_spend_count > spend_index, + "`SpendCount` should by strictly greater than any SpendIndex used as a key for `Spends`." + ); + Ok(()) + })?; + + Spends::::iter().try_for_each(|(_index, spend)| -> DispatchResult { + ensure!( + spend.valid_from < spend.expire_at, + "Spend cannot expire before it becomes valid." + ); + Ok(()) + })?; + + Ok(()) + } +} + +impl, I: 'static> OnUnbalanced> for Pallet { + fn on_nonzero_unbalanced(amount: NegativeImbalanceOf) { + let numeric_amount = amount.peek(); + + // Must resolve into existing but better to be safe. + let _ = T::Currency::resolve_creating(&Self::account_id(), amount); + + Self::deposit_event(Event::Deposit { + value: numeric_amount, + }); + } +} + +/// TypedGet implementation to get the AccountId of the Treasury. +pub struct TreasuryAccountId(PhantomData); +impl sp_runtime::traits::TypedGet for TreasuryAccountId +where + R: crate::Config, +{ + type Type = ::AccountId; + fn get() -> Self::Type { + >::account_id() + } +} diff --git a/pallets/treasury/src/tests.rs b/pallets/treasury/src/tests.rs new file mode 100644 index 000000000..2bda67d36 --- /dev/null +++ b/pallets/treasury/src/tests.rs @@ -0,0 +1,1321 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Treasury pallet tests. + +#![cfg(test)] + +use core::{cell::RefCell, marker::PhantomData}; +use sp_runtime::{ + traits::{BadOrigin, Dispatchable, IdentityLookup}, + BuildStorage, +}; + +use frame_support::{ + assert_err_ignore_postinfo, assert_noop, assert_ok, derive_impl, + pallet_prelude::Pays, + parameter_types, + traits::{ + tokens::{ConversionFromAssetBalance, PaymentStatus}, + ConstU32, ConstU64, OnInitialize, + }, + PalletId, +}; + +use super::*; +use crate as treasury; + +type Block = frame_system::mocking::MockBlock; +type UtilityCall = pallet_utility::Call; +type TreasuryCall = crate::Call; + +frame_support::construct_runtime!( + pub enum Test + { + System: frame_system, + Balances: pallet_balances, + Treasury: treasury, + Utility: pallet_utility, + } +); + +#[derive_impl(frame_system::config_preludes::TestDefaultConfig)] +impl frame_system::Config for Test { + type AccountId = u128; // u64 is not enough to hold bytes used to generate bounty account + type Lookup = IdentityLookup; + type Block = Block; + type AccountData = pallet_balances::AccountData; +} + +#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)] +impl pallet_balances::Config for Test { + type AccountStore = System; +} + +impl pallet_utility::Config for Test { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type PalletsOrigin = OriginCaller; + type WeightInfo = (); +} + +thread_local! { + pub static PAID: RefCell> = RefCell::new(BTreeMap::new()); + pub static STATUS: RefCell> = RefCell::new(BTreeMap::new()); + pub static LAST_ID: RefCell = RefCell::new(0u64); + + #[cfg(feature = "runtime-benchmarks")] + pub static TEST_SPEND_ORIGIN_TRY_SUCCESFUL_ORIGIN_ERR: RefCell = RefCell::new(false); +} + +/// paid balance for a given account and asset ids +fn paid(who: u128, asset_id: u32) -> u64 { + PAID.with(|p| p.borrow().get(&(who, asset_id)).cloned().unwrap_or(0)) +} + +/// reduce paid balance for a given account and asset ids +fn unpay(who: u128, asset_id: u32, amount: u64) { + PAID.with(|p| { + p.borrow_mut() + .entry((who, asset_id)) + .or_default() + .saturating_reduce(amount) + }) +} + +/// set status for a given payment id +fn set_status(id: u64, s: PaymentStatus) { + STATUS.with(|m| m.borrow_mut().insert(id, s)); +} + +pub struct TestPay; +impl Pay for TestPay { + type Beneficiary = u128; + type Balance = u64; + type Id = u64; + type AssetKind = u32; + type Error = (); + + fn pay( + who: &Self::Beneficiary, + asset_kind: Self::AssetKind, + amount: Self::Balance, + ) -> Result { + PAID.with(|paid| *paid.borrow_mut().entry((*who, asset_kind)).or_default() += amount); + Ok(LAST_ID.with(|lid| { + let x = *lid.borrow(); + lid.replace(x + 1); + x + })) + } + fn check_payment(id: Self::Id) -> PaymentStatus { + STATUS.with(|s| { + s.borrow() + .get(&id) + .cloned() + .unwrap_or(PaymentStatus::Unknown) + }) + } + #[cfg(feature = "runtime-benchmarks")] + fn ensure_successful(_: &Self::Beneficiary, _: Self::AssetKind, _: Self::Balance) {} + #[cfg(feature = "runtime-benchmarks")] + fn ensure_concluded(id: Self::Id) { + set_status(id, PaymentStatus::Failure) + } +} + +parameter_types! { + pub const ProposalBond: Permill = Permill::from_percent(5); + pub const Burn: Permill = Permill::from_percent(50); + pub const TreasuryPalletId: PalletId = PalletId(*b"py/trsry"); + pub TreasuryAccount: u128 = Treasury::account_id(); + pub const SpendPayoutPeriod: u64 = 5; +} + +pub struct TestSpendOrigin; +impl frame_support::traits::EnsureOrigin for TestSpendOrigin { + type Success = u64; + fn try_origin(o: RuntimeOrigin) -> Result { + Result::, RuntimeOrigin>::from(o).and_then(|o| match o { + frame_system::RawOrigin::Root => Ok(u64::max_value()), + frame_system::RawOrigin::Signed(10) => Ok(5), + frame_system::RawOrigin::Signed(11) => Ok(10), + frame_system::RawOrigin::Signed(12) => Ok(20), + frame_system::RawOrigin::Signed(13) => Ok(50), + r => Err(RuntimeOrigin::from(r)), + }) + } + #[cfg(feature = "runtime-benchmarks")] + fn try_successful_origin() -> Result { + if TEST_SPEND_ORIGIN_TRY_SUCCESFUL_ORIGIN_ERR.with(|i| *i.borrow()) { + Err(()) + } else { + Ok(frame_system::RawOrigin::Root.into()) + } + } +} + +pub struct MulBy(PhantomData); +impl> ConversionFromAssetBalance for MulBy { + type Error = (); + fn from_asset_balance(balance: u64, _asset_id: u32) -> Result { + return balance.checked_mul(N::get()).ok_or(()); + } + #[cfg(feature = "runtime-benchmarks")] + fn ensure_successful(_: u32) {} +} + +impl Config for Test { + type PalletId = TreasuryPalletId; + type Currency = pallet_balances::Pallet; + type ApproveOrigin = frame_system::EnsureRoot; + type RejectOrigin = frame_system::EnsureRoot; + type RuntimeEvent = RuntimeEvent; + type OnSlash = (); + type ProposalBond = ProposalBond; + type ProposalBondMinimum = ConstU64<1>; + type ProposalBondMaximum = (); + type SpendPeriod = ConstU64<2>; + type Burn = Burn; + type BurnDestination = (); // Just gets burned. + type WeightInfo = (); + type SpendFunds = (); + type MaxApprovals = ConstU32<100>; + type SpendOrigin = TestSpendOrigin; + type AssetKind = u32; + type Beneficiary = u128; + type BeneficiaryLookup = IdentityLookup; + type Paymaster = TestPay; + type BalanceConverter = MulBy>; + type PayoutPeriod = SpendPayoutPeriod; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); +} + +pub struct ExtBuilder {} + +impl Default for ExtBuilder { + fn default() -> Self { + #[cfg(feature = "runtime-benchmarks")] + TEST_SPEND_ORIGIN_TRY_SUCCESFUL_ORIGIN_ERR.with(|i| *i.borrow_mut() = false); + + Self {} + } +} + +impl ExtBuilder { + #[cfg(feature = "runtime-benchmarks")] + pub fn spend_origin_succesful_origin_err(self) -> Self { + TEST_SPEND_ORIGIN_TRY_SUCCESFUL_ORIGIN_ERR.with(|i| *i.borrow_mut() = true); + self + } + + pub fn build(self) -> sp_io::TestExternalities { + let mut t = frame_system::GenesisConfig::::default() + .build_storage() + .unwrap(); + pallet_balances::GenesisConfig:: { + // Total issuance will be 200 with treasury account initialized at ED. + balances: vec![(0, 100), (1, 98), (2, 1)], + } + .assimilate_storage(&mut t) + .unwrap(); + crate::GenesisConfig::::default() + .assimilate_storage(&mut t) + .unwrap(); + let mut ext = sp_io::TestExternalities::new(t); + ext.execute_with(|| System::set_block_number(1)); + ext + } +} + +fn get_payment_id(i: SpendIndex) -> Option { + let spend = Spends::::get(i).expect("no spend"); + match spend.status { + PaymentState::Attempted { id } => Some(id), + _ => None, + } +} + +#[test] +fn genesis_config_works() { + ExtBuilder::default().build().execute_with(|| { + assert_eq!(Treasury::pot(), 0); + assert_eq!(Treasury::proposal_count(), 0); + }); +} + +#[test] +fn spend_local_origin_permissioning_works() { + ExtBuilder::default().build().execute_with(|| { + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(1), 1, 1), + BadOrigin + ); + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(10), 6, 1), + Error::::InsufficientPermission + ); + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(11), 11, 1), + Error::::InsufficientPermission + ); + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(12), 21, 1), + Error::::InsufficientPermission + ); + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(13), 51, 1), + Error::::InsufficientPermission + ); + }); +} + +#[docify::export] +#[test] +fn spend_local_origin_works() { + ExtBuilder::default().build().execute_with(|| { + // Check that accumulate works when we have Some value in Dummy already. + Balances::make_free_balance_be(&Treasury::account_id(), 101); + // approve spend of some amount to beneficiary `6`. + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(11), 10, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(12), 20, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(13), 50, 6)); + // free balance of `6` is zero, spend period has not passed. + >::on_initialize(1); + assert_eq!(Balances::free_balance(6), 0); + // free balance of `6` is `100`, spend period has passed. + >::on_initialize(2); + assert_eq!(Balances::free_balance(6), 100); + // `100` spent, `1` burned. + assert_eq!(Treasury::pot(), 0); + }); +} + +#[test] +fn minting_works() { + ExtBuilder::default().build().execute_with(|| { + // Check that accumulate works when we have Some value in Dummy already. + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Treasury::pot(), 100); + }); +} + +#[test] +fn spend_proposal_takes_min_deposit() { + ExtBuilder::default().build().execute_with(|| { + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) + }); + assert_eq!(Balances::free_balance(0), 99); + assert_eq!(Balances::reserved_balance(0), 1); + }); +} + +#[test] +fn spend_proposal_takes_proportional_deposit() { + ExtBuilder::default().build().execute_with(|| { + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_eq!(Balances::free_balance(0), 95); + assert_eq!(Balances::reserved_balance(0), 5); + }); +} + +#[test] +fn spend_proposal_fails_when_proposer_poor() { + ExtBuilder::default().build().execute_with(|| { + assert_noop!( + { + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(2), 100, 3) + }, + Error::::InsufficientProposersBalance, + ); + }); +} + +#[test] +fn accepted_spend_proposal_ignored_outside_spend_period() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(1); + assert_eq!(Balances::free_balance(3), 0); + assert_eq!(Treasury::pot(), 100); + }); +} + +#[test] +fn unused_pot_should_diminish() { + ExtBuilder::default().build().execute_with(|| { + let init_total_issuance = Balances::total_issuance(); + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Balances::total_issuance(), init_total_issuance + 100); + + >::on_initialize(2); + assert_eq!(Treasury::pot(), 50); + assert_eq!(Balances::total_issuance(), init_total_issuance + 50); + }); +} + +#[test] +fn rejected_spend_proposal_ignored_on_spend_period() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(2); + assert_eq!(Balances::free_balance(3), 0); + assert_eq!(Treasury::pot(), 50); + }); +} + +#[test] +fn reject_already_rejected_spend_proposal_fails() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }); + assert_noop!( + { + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }, + Error::::InvalidIndex + ); + }); +} + +#[test] +fn reject_non_existent_spend_proposal_fails() { + ExtBuilder::default().build().execute_with(|| { + assert_noop!( + { + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }, + Error::::InvalidIndex + ); + }); +} + +#[test] +fn accept_non_existent_spend_proposal_fails() { + ExtBuilder::default().build().execute_with(|| { + assert_noop!( + { + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }, + Error::::InvalidIndex + ); + }); +} + +#[test] +fn accept_already_rejected_spend_proposal_fails() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }); + assert_noop!( + { + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }, + Error::::InvalidIndex + ); + }); +} + +#[test] +fn accepted_spend_proposal_enacted_on_spend_period() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Treasury::pot(), 100); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(2); + assert_eq!(Balances::free_balance(3), 100); + assert_eq!(Treasury::pot(), 0); + }); +} + +#[test] +fn pot_underflow_should_not_diminish() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Treasury::pot(), 100); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 150, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(2); + assert_eq!(Treasury::pot(), 100); // Pot hasn't changed + + let _ = Balances::deposit_into_existing(&Treasury::account_id(), 100).unwrap(); + >::on_initialize(4); + assert_eq!(Balances::free_balance(3), 150); // Fund has been spent + assert_eq!(Treasury::pot(), 25); // Pot has finally changed + }); +} + +// Treasury account doesn't get deleted if amount approved to spend is all its free balance. +// i.e. pot should not include existential deposit needed for account survival. +#[test] +fn treasury_account_doesnt_get_deleted() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Treasury::pot(), 100); + let treasury_balance = Balances::free_balance(&Treasury::account_id()); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), treasury_balance, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(2); + assert_eq!(Treasury::pot(), 100); // Pot hasn't changed + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), Treasury::pot(), 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 1) + }); + + >::on_initialize(4); + assert_eq!(Treasury::pot(), 0); // Pot is emptied + assert_eq!(Balances::free_balance(Treasury::account_id()), 1); // but the account is still there + }); +} + +// In case treasury account is not existing then it works fine. +// This is useful for chain that will just update runtime. +#[test] +fn inexistent_account_works() { + let mut t = frame_system::GenesisConfig::::default() + .build_storage() + .unwrap(); + pallet_balances::GenesisConfig:: { + balances: vec![(0, 100), (1, 99), (2, 1)], + } + .assimilate_storage(&mut t) + .unwrap(); + // Treasury genesis config is not build thus treasury account does not exist + let mut t: sp_io::TestExternalities = t.into(); + + t.execute_with(|| { + assert_eq!(Balances::free_balance(Treasury::account_id()), 0); // Account does not exist + assert_eq!(Treasury::pot(), 0); // Pot is empty + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 99, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 1) + }); + >::on_initialize(2); + assert_eq!(Treasury::pot(), 0); // Pot hasn't changed + assert_eq!(Balances::free_balance(3), 0); // Balance of `3` hasn't changed + + Balances::make_free_balance_be(&Treasury::account_id(), 100); + assert_eq!(Treasury::pot(), 99); // Pot now contains funds + assert_eq!(Balances::free_balance(Treasury::account_id()), 100); // Account does exist + + >::on_initialize(4); + + assert_eq!(Treasury::pot(), 0); // Pot has changed + assert_eq!(Balances::free_balance(3), 99); // Balance of `3` has changed + }); +} + +#[test] +fn genesis_funding_works() { + let mut t = frame_system::GenesisConfig::::default() + .build_storage() + .unwrap(); + let initial_funding = 100; + pallet_balances::GenesisConfig:: { + // Total issuance will be 200 with treasury account initialized with 100. + balances: vec![(0, 100), (Treasury::account_id(), initial_funding)], + } + .assimilate_storage(&mut t) + .unwrap(); + crate::GenesisConfig::::default() + .assimilate_storage(&mut t) + .unwrap(); + let mut t: sp_io::TestExternalities = t.into(); + + t.execute_with(|| { + assert_eq!( + Balances::free_balance(Treasury::account_id()), + initial_funding + ); + assert_eq!( + Treasury::pot(), + initial_funding - Balances::minimum_balance() + ); + }); +} + +#[test] +fn max_approvals_limited() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), u64::MAX); + Balances::make_free_balance_be(&0, u64::MAX); + + for _ in 0..::MaxApprovals::get() { + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + } + + // One too many will fail + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_noop!( + { + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }, + Error::::TooManyApprovals + ); + }); +} + +#[test] +fn remove_already_removed_approval_fails() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + assert_eq!(Treasury::approvals(), vec![0]); + assert_ok!(Treasury::remove_approval(RuntimeOrigin::root(), 0)); + assert_eq!(Treasury::approvals(), vec![]); + + assert_noop!( + Treasury::remove_approval(RuntimeOrigin::root(), 0), + Error::::ProposalNotApproved + ); + }); +} + +#[test] +fn spending_local_in_batch_respects_max_total() { + ExtBuilder::default().build().execute_with(|| { + // Respect the `max_total` for the given origin. + assert_ok!(RuntimeCall::from(UtilityCall::batch_all { + calls: vec![ + RuntimeCall::from(TreasuryCall::spend_local { + amount: 2, + beneficiary: 100 + }), + RuntimeCall::from(TreasuryCall::spend_local { + amount: 2, + beneficiary: 101 + }) + ] + }) + .dispatch(RuntimeOrigin::signed(10))); + + assert_err_ignore_postinfo!( + RuntimeCall::from(UtilityCall::batch_all { + calls: vec![ + RuntimeCall::from(TreasuryCall::spend_local { + amount: 2, + beneficiary: 100 + }), + RuntimeCall::from(TreasuryCall::spend_local { + amount: 4, + beneficiary: 101 + }) + ] + }) + .dispatch(RuntimeOrigin::signed(10)), + Error::::InsufficientPermission + ); + }) +} + +#[test] +fn spending_in_batch_respects_max_total() { + ExtBuilder::default().build().execute_with(|| { + // Respect the `max_total` for the given origin. + assert_ok!(RuntimeCall::from(UtilityCall::batch_all { + calls: vec![ + RuntimeCall::from(TreasuryCall::spend { + asset_kind: Box::new(1), + amount: 1, + beneficiary: Box::new(100), + valid_from: None, + }), + RuntimeCall::from(TreasuryCall::spend { + asset_kind: Box::new(1), + amount: 1, + beneficiary: Box::new(101), + valid_from: None, + }) + ] + }) + .dispatch(RuntimeOrigin::signed(10))); + + assert_err_ignore_postinfo!( + RuntimeCall::from(UtilityCall::batch_all { + calls: vec![ + RuntimeCall::from(TreasuryCall::spend { + asset_kind: Box::new(1), + amount: 2, + beneficiary: Box::new(100), + valid_from: None, + }), + RuntimeCall::from(TreasuryCall::spend { + asset_kind: Box::new(1), + amount: 2, + beneficiary: Box::new(101), + valid_from: None, + }) + ] + }) + .dispatch(RuntimeOrigin::signed(10)), + Error::::InsufficientPermission + ); + }) +} + +#[test] +fn spend_origin_works() { + ExtBuilder::default().build().execute_with(|| { + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 1, + Box::new(6), + None + )); + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + assert_noop!( + Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 3, Box::new(6), None), + Error::::InsufficientPermission + ); + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(11), + Box::new(1), + 5, + Box::new(6), + None + )); + assert_noop!( + Treasury::spend(RuntimeOrigin::signed(11), Box::new(1), 6, Box::new(6), None), + Error::::InsufficientPermission + ); + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(12), + Box::new(1), + 10, + Box::new(6), + None + )); + assert_noop!( + Treasury::spend( + RuntimeOrigin::signed(12), + Box::new(1), + 11, + Box::new(6), + None + ), + Error::::InsufficientPermission + ); + + assert_eq!(SpendCount::::get(), 4); + assert_eq!(Spends::::iter().count(), 4); + }); +} + +#[test] +fn spend_works() { + ExtBuilder::default().build().execute_with(|| { + System::set_block_number(1); + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + + assert_eq!(SpendCount::::get(), 1); + assert_eq!( + Spends::::get(0).unwrap(), + SpendStatus { + asset_kind: 1, + amount: 2, + beneficiary: 6, + valid_from: 1, + expire_at: 6, + status: PaymentState::Pending, + } + ); + System::assert_last_event( + Event::::AssetSpendApproved { + index: 0, + asset_kind: 1, + amount: 2, + beneficiary: 6, + valid_from: 1, + expire_at: 6, + } + .into(), + ); + }); +} + +#[test] +fn spend_expires() { + ExtBuilder::default().build().execute_with(|| { + assert_eq!(::PayoutPeriod::get(), 5); + + // spend `0` expires in 5 blocks after the creating. + System::set_block_number(1); + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + System::set_block_number(6); + assert_noop!( + Treasury::payout(RuntimeOrigin::signed(1), 0), + Error::::SpendExpired + ); + + // spend cannot be approved since its already expired. + assert_noop!( + Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(0) + ), + Error::::SpendExpired + ); + }); +} + +#[docify::export] +#[test] +fn spend_payout_works() { + ExtBuilder::default().build().execute_with(|| { + System::set_block_number(1); + // approve a `2` coins spend of asset `1` to beneficiary `6`, the spend valid from now. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + // payout the spend. + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + // beneficiary received `2` coins of asset `1`. + assert_eq!(paid(6, 1), 2); + assert_eq!(SpendCount::::get(), 1); + let payment_id = get_payment_id(0).expect("no payment attempt"); + System::assert_last_event( + Event::::Paid { + index: 0, + payment_id, + } + .into(), + ); + set_status(payment_id, PaymentStatus::Success); + // the payment succeed. + assert_ok!(Treasury::check_status(RuntimeOrigin::signed(1), 0)); + System::assert_last_event(Event::::SpendProcessed { index: 0 }.into()); + // cannot payout the same spend twice. + assert_noop!( + Treasury::payout(RuntimeOrigin::signed(1), 0), + Error::::InvalidIndex + ); + }); +} + +#[test] +fn payout_retry_works() { + ExtBuilder::default().build().execute_with(|| { + System::set_block_number(1); + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + assert_eq!(paid(6, 1), 2); + let payment_id = get_payment_id(0).expect("no payment attempt"); + // spend payment is failed + set_status(payment_id, PaymentStatus::Failure); + unpay(6, 1, 2); + // cannot payout a spend in the attempted state + assert_noop!( + Treasury::payout(RuntimeOrigin::signed(1), 0), + Error::::AlreadyAttempted + ); + // check status and update it to retry the payout again + assert_ok!(Treasury::check_status(RuntimeOrigin::signed(1), 0)); + System::assert_last_event( + Event::::PaymentFailed { + index: 0, + payment_id, + } + .into(), + ); + // the payout can be retried now + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + assert_eq!(paid(6, 1), 2); + }); +} + +#[test] +fn spend_valid_from_works() { + ExtBuilder::default().build().execute_with(|| { + assert_eq!(::PayoutPeriod::get(), 5); + System::set_block_number(1); + + // spend valid from block `2`. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(2) + )); + assert_noop!( + Treasury::payout(RuntimeOrigin::signed(1), 0), + Error::::EarlyPayout + ); + System::set_block_number(2); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + + System::set_block_number(5); + // spend approved even if `valid_from` in the past since the payout period has not passed. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(4) + )); + // spend paid. + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 1)); + }); +} + +#[test] +fn void_spend_works() { + ExtBuilder::default().build().execute_with(|| { + System::set_block_number(1); + // spend cannot be voided if already attempted. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(1) + )); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + assert_noop!( + Treasury::void_spend(RuntimeOrigin::root(), 0), + Error::::AlreadyAttempted + ); + + // void spend. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(10) + )); + assert_ok!(Treasury::void_spend(RuntimeOrigin::root(), 1)); + assert_eq!(Spends::::get(1), None); + }); +} + +#[test] +fn check_status_works() { + ExtBuilder::default().build().execute_with(|| { + assert_eq!(::PayoutPeriod::get(), 5); + System::set_block_number(1); + + // spend `0` expired and can be removed. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + System::set_block_number(7); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 0).unwrap(); + assert_eq!(info.pays_fee, Pays::No); + System::assert_last_event(Event::::SpendProcessed { index: 0 }.into()); + + // spend `1` payment failed and expired hence can be removed. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + assert_noop!( + Treasury::check_status(RuntimeOrigin::signed(1), 1), + Error::::NotAttempted + ); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 1)); + let payment_id = get_payment_id(1).expect("no payment attempt"); + set_status(payment_id, PaymentStatus::Failure); + // spend expired. + System::set_block_number(13); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 1).unwrap(); + assert_eq!(info.pays_fee, Pays::Yes); + System::assert_last_event( + Event::::PaymentFailed { + index: 1, + payment_id, + } + .into(), + ); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 1).unwrap(); + assert_eq!(info.pays_fee, Pays::No); + System::assert_last_event(Event::::SpendProcessed { index: 1 }.into()); + + // spend `2` payment succeed. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 2)); + let payment_id = get_payment_id(2).expect("no payment attempt"); + set_status(payment_id, PaymentStatus::Success); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 2).unwrap(); + assert_eq!(info.pays_fee, Pays::No); + System::assert_last_event(Event::::SpendProcessed { index: 2 }.into()); + + // spend `3` payment in process. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 3)); + let payment_id = get_payment_id(3).expect("no payment attempt"); + set_status(payment_id, PaymentStatus::InProgress); + assert_noop!( + Treasury::check_status(RuntimeOrigin::signed(1), 3), + Error::::Inconclusive + ); + + // spend `4` removed since the payment status is unknown. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 4)); + let payment_id = get_payment_id(4).expect("no payment attempt"); + set_status(payment_id, PaymentStatus::Unknown); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 4).unwrap(); + assert_eq!(info.pays_fee, Pays::No); + System::assert_last_event(Event::::SpendProcessed { index: 4 }.into()); + }); +} + +#[test] +fn try_state_proposals_invariant_1_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Add a proposal using `propose_spend` + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) + }); + assert_eq!(Proposals::::iter().count(), 1); + assert_eq!(ProposalCount::::get(), 1); + // Check invariant 1 holds + assert!(ProposalCount::::get() as usize >= Proposals::::iter().count()); + // Break invariant 1 by decreasing `ProposalCount` + ProposalCount::::put(0); + // Invariant 1 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("Actual number of proposals exceeds `ProposalCount`.")) + ); + }); +} + +#[test] +fn try_state_proposals_invariant_2_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Add a proposal using `propose_spend` + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) + }); + assert_eq!(Proposals::::iter().count(), 1); + let current_proposal_count = ProposalCount::::get(); + assert_eq!(current_proposal_count, 1); + // Check invariant 2 holds + assert!( + Proposals::::iter_keys() + .all(|proposal_index| { + proposal_index < current_proposal_count + }) + ); + // Break invariant 2 by inserting the proposal under key = 1 + let proposal = Proposals::::take(0).unwrap(); + Proposals::::insert(1, proposal); + // Invariant 2 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("`ProposalCount` should by strictly greater than any ProposalIndex used as a key for `Proposals`.")) + ); + }); +} + +#[test] +fn try_state_proposals_invariant_3_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Add a proposal using `propose_spend` + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 10, 3) + }); + assert_eq!(Proposals::::iter().count(), 1); + // Approve the proposal + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + assert_eq!(Approvals::::get().len(), 1); + // Check invariant 3 holds + assert!(Approvals::::get() + .iter() + .all(|proposal_index| { Proposals::::contains_key(proposal_index) })); + // Break invariant 3 by adding another key to `Approvals` + let mut approvals_modified = Approvals::::get(); + approvals_modified.try_push(2).unwrap(); + Approvals::::put(approvals_modified); + // Invariant 3 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other( + "Proposal indices in `Approvals` must also be contained in `Proposals`." + )) + ); + }); +} + +#[test] +fn try_state_spends_invariant_1_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Propose and approve a spend + assert_ok!({ + Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 1, Box::new(6), None) + }); + assert_eq!(Spends::::iter().count(), 1); + assert_eq!(SpendCount::::get(), 1); + // Check invariant 1 holds + assert!(SpendCount::::get() as usize >= Spends::::iter().count()); + // Break invariant 1 by decreasing `SpendCount` + SpendCount::::put(0); + // Invariant 1 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("Actual number of spends exceeds `SpendCount`.")) + ); + }); +} + +#[test] +fn try_state_spends_invariant_2_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Propose and approve a spend + assert_ok!({ + Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 1, Box::new(6), None) + }); + assert_eq!(Spends::::iter().count(), 1); + let current_spend_count = SpendCount::::get(); + assert_eq!(current_spend_count, 1); + // Check invariant 2 holds + assert!( + Spends::::iter_keys() + .all(|spend_index| { + spend_index < current_spend_count + }) + ); + // Break invariant 2 by inserting the spend under key = 1 + let spend = Spends::::take(0).unwrap(); + Spends::::insert(1, spend); + // Invariant 2 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("`SpendCount` should by strictly greater than any SpendIndex used as a key for `Spends`.")) + ); + }); +} + +#[test] +fn try_state_spends_invariant_3_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Propose and approve a spend + assert_ok!({ + Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 1, Box::new(6), None) + }); + assert_eq!(Spends::::iter().count(), 1); + let current_spend_count = SpendCount::::get(); + assert_eq!(current_spend_count, 1); + // Check invariant 3 holds + assert!(Spends::::iter_values().all( + |SpendStatus { + valid_from, + expire_at, + .. + }| { valid_from < expire_at } + )); + // Break invariant 3 by reversing spend.expire_at and spend.valid_from + let spend = Spends::::take(0).unwrap(); + Spends::::insert( + 0, + SpendStatus { + valid_from: spend.expire_at, + expire_at: spend.valid_from, + ..spend + }, + ); + // Invariant 3 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("Spend cannot expire before it becomes valid.")) + ); + }); +} diff --git a/pallets/treasury/src/weights.rs b/pallets/treasury/src/weights.rs new file mode 100644 index 000000000..82277e2d2 --- /dev/null +++ b/pallets/treasury/src/weights.rs @@ -0,0 +1,367 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Autogenerated weights for `pallet_treasury` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner-anb7yjbi-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024` + +// Executed Command: +// ./target/production/substrate-node +// benchmark +// pallet +// --chain=dev +// --steps=50 +// --repeat=20 +// --pallet=pallet_treasury +// --no-storage-info +// --no-median-slopes +// --no-min-squares +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=./substrate/frame/treasury/src/weights.rs +// --header=./substrate/HEADER-APACHE2 +// --template=./substrate/.maintain/frame-weight-template.hbs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use core::marker::PhantomData; + +/// Weight functions needed for `pallet_treasury`. +pub trait WeightInfo { + fn spend_local() -> Weight; + fn propose_spend() -> Weight; + fn reject_proposal() -> Weight; + fn approve_proposal(p: u32, ) -> Weight; + fn remove_approval() -> Weight; + fn on_initialize_proposals(p: u32, ) -> Weight; + fn spend() -> Weight; + fn payout() -> Weight; + fn check_status() -> Weight; + fn void_spend() -> Weight; +} + +/// Weights for `pallet_treasury` using the Substrate node and recommended hardware. +pub struct SubstrateWeight(PhantomData); +impl WeightInfo for SubstrateWeight { + /// Storage: `Treasury::ProposalCount` (r:1 w:1) + /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:0 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + fn spend_local() -> Weight { + // Proof Size summary in bytes: + // Measured: `76` + // Estimated: `1887` + // Minimum execution time: 11_910_000 picoseconds. + Weight::from_parts(12_681_000, 1887) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) + } + /// Storage: `Treasury::ProposalCount` (r:1 w:1) + /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:0 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + fn propose_spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `177` + // Estimated: `1489` + // Minimum execution time: 24_704_000 picoseconds. + Weight::from_parts(25_484_000, 1489) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Proposals` (r:1 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn reject_proposal() -> Weight { + // Proof Size summary in bytes: + // Measured: `335` + // Estimated: `3593` + // Minimum execution time: 26_632_000 picoseconds. + Weight::from_parts(27_325_000, 3593) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Proposals` (r:1 w:0) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// The range of component `p` is `[0, 99]`. + fn approve_proposal(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `504 + p * (8 ±0)` + // Estimated: `3573` + // Minimum execution time: 8_436_000 picoseconds. + Weight::from_parts(11_268_438, 3573) + // Standard Error: 1_039 + .saturating_add(Weight::from_parts(70_903, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + fn remove_approval() -> Weight { + // Proof Size summary in bytes: + // Measured: `161` + // Estimated: `1887` + // Minimum execution time: 6_372_000 picoseconds. + Weight::from_parts(6_567_000, 1887) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Deactivated` (r:1 w:1) + /// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:99 w:99) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:198 w:198) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Bounties::BountyApprovals` (r:1 w:1) + /// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// The range of component `p` is `[0, 99]`. + fn on_initialize_proposals(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `451 + p * (251 ±0)` + // Estimated: `1887 + p * (5206 ±0)` + // Minimum execution time: 33_150_000 picoseconds. + Weight::from_parts(41_451_020, 1887) + // Standard Error: 19_018 + .saturating_add(Weight::from_parts(34_410_759, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(p.into()))) + .saturating_add(T::DbWeight::get().writes(3_u64)) + .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(p.into()))) + .saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into())) + } + /// Storage: `AssetRate::ConversionRateToNative` (r:1 w:0) + /// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`) + /// Storage: `Treasury::SpendCount` (r:1 w:1) + /// Proof: `Treasury::SpendCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Spends` (r:0 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `140` + // Estimated: `3501` + // Minimum execution time: 14_233_000 picoseconds. + Weight::from_parts(14_842_000, 3501) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:2 w:2) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn payout() -> Weight { + // Proof Size summary in bytes: + // Measured: `709` + // Estimated: `6208` + // Minimum execution time: 58_857_000 picoseconds. + Weight::from_parts(61_291_000, 6208) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(5_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn check_status() -> Weight { + // Proof Size summary in bytes: + // Measured: `198` + // Estimated: `3538` + // Minimum execution time: 12_116_000 picoseconds. + Weight::from_parts(12_480_000, 3538) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn void_spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `198` + // Estimated: `3538` + // Minimum execution time: 10_834_000 picoseconds. + Weight::from_parts(11_427_000, 3538) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } +} + +// For backwards compatibility and tests. +impl WeightInfo for () { + /// Storage: `Treasury::ProposalCount` (r:1 w:1) + /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:0 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + fn spend_local() -> Weight { + // Proof Size summary in bytes: + // Measured: `76` + // Estimated: `1887` + // Minimum execution time: 11_910_000 picoseconds. + Weight::from_parts(12_681_000, 1887) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: `Treasury::ProposalCount` (r:1 w:1) + /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:0 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + fn propose_spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `177` + // Estimated: `1489` + // Minimum execution time: 24_704_000 picoseconds. + Weight::from_parts(25_484_000, 1489) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Proposals` (r:1 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn reject_proposal() -> Weight { + // Proof Size summary in bytes: + // Measured: `335` + // Estimated: `3593` + // Minimum execution time: 26_632_000 picoseconds. + Weight::from_parts(27_325_000, 3593) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Proposals` (r:1 w:0) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// The range of component `p` is `[0, 99]`. + fn approve_proposal(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `504 + p * (8 ±0)` + // Estimated: `3573` + // Minimum execution time: 8_436_000 picoseconds. + Weight::from_parts(11_268_438, 3573) + // Standard Error: 1_039 + .saturating_add(Weight::from_parts(70_903, 0).saturating_mul(p.into())) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + fn remove_approval() -> Weight { + // Proof Size summary in bytes: + // Measured: `161` + // Estimated: `1887` + // Minimum execution time: 6_372_000 picoseconds. + Weight::from_parts(6_567_000, 1887) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Deactivated` (r:1 w:1) + /// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:99 w:99) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:198 w:198) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Bounties::BountyApprovals` (r:1 w:1) + /// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// The range of component `p` is `[0, 99]`. + fn on_initialize_proposals(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `451 + p * (251 ±0)` + // Estimated: `1887 + p * (5206 ±0)` + // Minimum execution time: 33_150_000 picoseconds. + Weight::from_parts(41_451_020, 1887) + // Standard Error: 19_018 + .saturating_add(Weight::from_parts(34_410_759, 0).saturating_mul(p.into())) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(p.into()))) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + .saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(p.into()))) + .saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into())) + } + /// Storage: `AssetRate::ConversionRateToNative` (r:1 w:0) + /// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`) + /// Storage: `Treasury::SpendCount` (r:1 w:1) + /// Proof: `Treasury::SpendCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Spends` (r:0 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `140` + // Estimated: `3501` + // Minimum execution time: 14_233_000 picoseconds. + Weight::from_parts(14_842_000, 3501) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:2 w:2) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn payout() -> Weight { + // Proof Size summary in bytes: + // Measured: `709` + // Estimated: `6208` + // Minimum execution time: 58_857_000 picoseconds. + Weight::from_parts(61_291_000, 6208) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(5_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn check_status() -> Weight { + // Proof Size summary in bytes: + // Measured: `198` + // Estimated: `3538` + // Minimum execution time: 12_116_000 picoseconds. + Weight::from_parts(12_480_000, 3538) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn void_spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `198` + // Estimated: `3538` + // Minimum execution time: 10_834_000 picoseconds. + Weight::from_parts(11_427_000, 3538) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } +} From f23e38e63142598763942516f9bb5b56a6900ad0 Mon Sep 17 00:00:00 2001 From: vedhavyas Date: Tue, 22 Oct 2024 14:20:33 +0530 Subject: [PATCH 09/12] fix check=license and fmt checks --- .github/license-check/config.json | 1 + pallets/treasury/Cargo.toml | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/license-check/config.json b/.github/license-check/config.json index 2a02f38d8..e3ff87c98 100644 --- a/.github/license-check/config.json +++ b/.github/license-check/config.json @@ -6,6 +6,7 @@ "exclude": [ "pallets/collator-selection/**", "pallets/custom-signatures/**", + "pallets/treasury/**", "precompiles/utils/**", "precompiles/utils_v2/**", "vendor/**" diff --git a/pallets/treasury/Cargo.toml b/pallets/treasury/Cargo.toml index 04e269454..92006364c 100644 --- a/pallets/treasury/Cargo.toml +++ b/pallets/treasury/Cargo.toml @@ -13,22 +13,22 @@ readme = "README.md" targets = ["x86_64-unknown-linux-gnu"] [dependencies] -parity-scale-codec = { features = ["derive", "max-encoded-len"], workspace = true } docify = { workspace = true } -impl-trait-for-tuples = { workspace = true } -scale-info = { features = ["derive"], workspace = true } -serde = { features = ["derive"], optional = true, workspace = true, default-features = true } frame-benchmarking = { optional = true, workspace = true } frame-support.workspace = true frame-system.workspace = true +impl-trait-for-tuples = { workspace = true } pallet-balances.workspace = true -sp-runtime.workspace = true +parity-scale-codec = { features = ["derive", "max-encoded-len"], workspace = true } +scale-info = { features = ["derive"], workspace = true } +serde = { features = ["derive"], optional = true, workspace = true, default-features = true } sp-core = { optional = true, workspace = true } +sp-runtime.workspace = true [dev-dependencies] -sp-io = { workspace = true } pallet-utility = { workspace = true } sp-core = { workspace = true } +sp-io = { workspace = true } [features] default = ["std"] From 918689fc0b3fafd9dc496ada58cd61ec3d2748b1 Mon Sep 17 00:00:00 2001 From: vedhavyas Date: Tue, 22 Oct 2024 21:12:14 +0530 Subject: [PATCH 10/12] move treasury from pallets to vendor --- .github/license-check/config.json | 1 - Cargo.toml | 3 +- pallets/treasury/Cargo.toml | 59 -- pallets/treasury/README.md | 47 - pallets/treasury/src/benchmarking.rs | 426 --------- pallets/treasury/src/lib.rs | 1187 ----------------------- pallets/treasury/src/tests.rs | 1321 -------------------------- pallets/treasury/src/weights.rs | 367 ------- vendor/README.md | 32 +- 9 files changed, 18 insertions(+), 3425 deletions(-) delete mode 100644 pallets/treasury/Cargo.toml delete mode 100644 pallets/treasury/README.md delete mode 100644 pallets/treasury/src/benchmarking.rs delete mode 100644 pallets/treasury/src/lib.rs delete mode 100644 pallets/treasury/src/tests.rs delete mode 100644 pallets/treasury/src/weights.rs diff --git a/.github/license-check/config.json b/.github/license-check/config.json index e3ff87c98..2a02f38d8 100644 --- a/.github/license-check/config.json +++ b/.github/license-check/config.json @@ -6,7 +6,6 @@ "exclude": [ "pallets/collator-selection/**", "pallets/custom-signatures/**", - "pallets/treasury/**", "precompiles/utils/**", "precompiles/utils_v2/**", "vendor/**" diff --git a/Cargo.toml b/Cargo.toml index d9a544597..7f984d4f1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,6 +28,7 @@ members = [ "vendor/rpc-core/types", "vendor/runtime/evm-tracer", "vendor/runtime/ext", + "vendor/treasury", ] resolver = "2" @@ -294,7 +295,7 @@ pallet-static-price-provider = { path = "./pallets/static-price-provider", defau pallet-price-aggregator = { path = "./pallets/price-aggregator", default-features = false } pallet-collective-proxy = { path = "./pallets/collective-proxy", default-features = false } vesting-mbm = { path = "./pallets/vesting-mbm", default-features = false } -pallet-treasury = { path = "./pallets/treasury", default-features = false } +pallet-treasury = { path = "./vendor/treasury", default-features = false } dapp-staking-runtime-api = { path = "./pallets/dapp-staking/rpc/runtime-api", default-features = false } diff --git a/pallets/treasury/Cargo.toml b/pallets/treasury/Cargo.toml deleted file mode 100644 index 92006364c..000000000 --- a/pallets/treasury/Cargo.toml +++ /dev/null @@ -1,59 +0,0 @@ -[package] -name = "pallet-treasury" -version = "36.0.1" -authors.workspace = true -edition.workspace = true -license = "Apache-2.0" -homepage = "https://substrate.io" -repository.workspace = true -description = "FRAME pallet to manage treasury (polkadot v1.15.0)" -readme = "README.md" - -[package.metadata.docs.rs] -targets = ["x86_64-unknown-linux-gnu"] - -[dependencies] -docify = { workspace = true } -frame-benchmarking = { optional = true, workspace = true } -frame-support.workspace = true -frame-system.workspace = true -impl-trait-for-tuples = { workspace = true } -pallet-balances.workspace = true -parity-scale-codec = { features = ["derive", "max-encoded-len"], workspace = true } -scale-info = { features = ["derive"], workspace = true } -serde = { features = ["derive"], optional = true, workspace = true, default-features = true } -sp-core = { optional = true, workspace = true } -sp-runtime.workspace = true - -[dev-dependencies] -pallet-utility = { workspace = true } -sp-core = { workspace = true } -sp-io = { workspace = true } - -[features] -default = ["std"] -std = [ - "parity-scale-codec/std", - "frame-benchmarking?/std", - "frame-support/std", - "frame-system/std", - "pallet-balances/std", - "scale-info/std", - "serde", - "sp-core?/std", - "sp-runtime/std", -] -runtime-benchmarks = [ - "dep:sp-core", - "frame-benchmarking/runtime-benchmarks", - "frame-support/runtime-benchmarks", - "frame-system/runtime-benchmarks", - "pallet-balances/runtime-benchmarks", - "sp-runtime/runtime-benchmarks", -] -try-runtime = [ - "frame-support/try-runtime", - "frame-system/try-runtime", - "pallet-balances/try-runtime", - "sp-runtime/try-runtime", -] diff --git a/pallets/treasury/README.md b/pallets/treasury/README.md deleted file mode 100644 index 48fd1e269..000000000 --- a/pallets/treasury/README.md +++ /dev/null @@ -1,47 +0,0 @@ -# Treasury Pallet - -The Treasury pallet provides a "pot" of funds that can be managed by stakeholders in the system and -a structure for making spending proposals from this pot. - -## Overview - -The Treasury Pallet itself provides the pot to store funds, and a means for stakeholders to propose, -approve, and deny expenditures. The chain will need to provide a method (e.g.inflation, fees) for -collecting funds. - -By way of example, the Council could vote to fund the Treasury with a portion of the block reward -and use the funds to pay developers. - -### Terminology - -- **Proposal:** A suggestion to allocate funds from the pot to a beneficiary. -- **Beneficiary:** An account who will receive the funds from a proposal if the proposal is - approved. -- **Deposit:** Funds that a proposer must lock when making a proposal. The deposit will be returned - or slashed if the proposal is approved or rejected respectively. -- **Pot:** Unspent funds accumulated by the treasury pallet. - -## Interface - -### Dispatchable Functions - -General spending/proposal protocol: -- `spend_local` - Propose and approve a spend of treasury funds, enables the - creation of spends using the native currency of the chain, utilizing the funds - stored in the pot -- `spend` - Propose and approve a spend of treasury funds, allows spending any - asset kind managed by the treasury -- `remove_approval` - Force a previously approved proposal to be removed from - the approval queue -- `payout` - Claim a spend -- `check_status` - Check the status of the spend and remove it from the storage - if processed -- `void_spend` - Void previously approved spend - - -## Release - -polkadot v1.15.0 -- `propose_spend` - Make a spending proposal and stake the required deposit. -- `reject_proposal` - Reject a proposal, slashing the deposit. -- `approve_proposal` - Accept the proposal, returning the deposit. diff --git a/pallets/treasury/src/benchmarking.rs b/pallets/treasury/src/benchmarking.rs deleted file mode 100644 index 2a8b080d3..000000000 --- a/pallets/treasury/src/benchmarking.rs +++ /dev/null @@ -1,426 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Treasury pallet benchmarking. - -#![cfg(feature = "runtime-benchmarks")] - -use super::{Pallet as Treasury, *}; - -use frame_benchmarking::{ - v1::{account, BenchmarkError}, - v2::*, -}; -use frame_support::{ - assert_err, assert_ok, ensure, - traits::{ - tokens::{ConversionFromAssetBalance, PaymentStatus}, - EnsureOrigin, OnInitialize, - }, -}; -use frame_system::RawOrigin; -use sp_core::crypto::FromEntropy; - -/// Trait describing factory functions for dispatchables' parameters. -pub trait ArgumentsFactory { - /// Factory function for an asset kind. - fn create_asset_kind(seed: u32) -> AssetKind; - /// Factory function for a beneficiary. - fn create_beneficiary(seed: [u8; 32]) -> Beneficiary; -} - -/// Implementation that expects the parameters implement the [`FromEntropy`] trait. -impl ArgumentsFactory for () -where - AssetKind: FromEntropy, - Beneficiary: FromEntropy, -{ - fn create_asset_kind(seed: u32) -> AssetKind { - AssetKind::from_entropy(&mut seed.encode().as_slice()).unwrap() - } - fn create_beneficiary(seed: [u8; 32]) -> Beneficiary { - Beneficiary::from_entropy(&mut seed.as_slice()).unwrap() - } -} - -const SEED: u32 = 0; - -// Create the pre-requisite information needed to create a treasury `propose_spend`. -fn setup_proposal, I: 'static>( - u: u32, -) -> (T::AccountId, BalanceOf, AccountIdLookupOf) { - let caller = account("caller", u, SEED); - let value: BalanceOf = T::ProposalBondMinimum::get().saturating_mul(100u32.into()); - let _ = T::Currency::make_free_balance_be(&caller, value); - let beneficiary = account("beneficiary", u, SEED); - let beneficiary_lookup = T::Lookup::unlookup(beneficiary); - (caller, value, beneficiary_lookup) -} - -// Create proposals that are approved for use in `on_initialize`. -fn create_approved_proposals, I: 'static>(n: u32) -> Result<(), &'static str> { - for i in 0..n { - let (caller, value, lookup) = setup_proposal::(i); - #[allow(deprecated)] - Treasury::::propose_spend(RawOrigin::Signed(caller).into(), value, lookup)?; - let proposal_id = >::get() - 1; - Approvals::::try_append(proposal_id).unwrap(); - } - - ensure!( - Approvals::::get().len() == n as usize, - "Not all approved" - ); - - Ok(()) -} - -fn setup_pot_account, I: 'static>() { - let pot_account = Treasury::::account_id(); - let value = T::Currency::minimum_balance().saturating_mul(1_000_000_000u32.into()); - let _ = T::Currency::make_free_balance_be(&pot_account, value); -} - -fn assert_last_event, I: 'static>(generic_event: >::RuntimeEvent) { - frame_system::Pallet::::assert_last_event(generic_event.into()); -} - -// Create the arguments for the `spend` dispatchable. -fn create_spend_arguments, I: 'static>( - seed: u32, -) -> ( - T::AssetKind, - AssetBalanceOf, - T::Beneficiary, - BeneficiaryLookupOf, -) { - let asset_kind = T::BenchmarkHelper::create_asset_kind(seed); - let beneficiary = T::BenchmarkHelper::create_beneficiary([seed.try_into().unwrap(); 32]); - let beneficiary_lookup = T::BeneficiaryLookup::unlookup(beneficiary.clone()); - (asset_kind, 100u32.into(), beneficiary, beneficiary_lookup) -} - -#[instance_benchmarks] -mod benchmarks { - use super::*; - - /// This benchmark is short-circuited if `SpendOrigin` cannot provide - /// a successful origin, in which case `spend` is un-callable and can use weight=0. - #[benchmark] - fn spend_local() -> Result<(), BenchmarkError> { - let (_, value, beneficiary_lookup) = setup_proposal::(SEED); - let origin = - T::SpendOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; - let beneficiary = T::Lookup::lookup(beneficiary_lookup.clone()).unwrap(); - - #[extrinsic_call] - _(origin as T::RuntimeOrigin, value, beneficiary_lookup); - - assert_last_event::( - Event::SpendApproved { - proposal_index: 0, - amount: value, - beneficiary, - } - .into(), - ); - Ok(()) - } - - #[benchmark] - fn propose_spend() -> Result<(), BenchmarkError> { - let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); - // Whitelist caller account from further DB operations. - let caller_key = frame_system::Account::::hashed_key_for(&caller); - frame_benchmarking::benchmarking::add_to_whitelist(caller_key.into()); - - #[extrinsic_call] - _(RawOrigin::Signed(caller), value, beneficiary_lookup); - - Ok(()) - } - - #[benchmark] - fn reject_proposal() -> Result<(), BenchmarkError> { - let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); - #[allow(deprecated)] - Treasury::::propose_spend( - RawOrigin::Signed(caller).into(), - value, - beneficiary_lookup, - )?; - let proposal_id = Treasury::::proposal_count() - 1; - let reject_origin = - T::RejectOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; - #[extrinsic_call] - _(reject_origin as T::RuntimeOrigin, proposal_id); - Ok(()) - } - - #[benchmark] - fn approve_proposal( - p: Linear<0, { T::MaxApprovals::get() - 1 }>, - ) -> Result<(), BenchmarkError> { - let approve_origin = - T::ApproveOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; - create_approved_proposals::(p)?; - let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); - #[allow(deprecated)] - Treasury::::propose_spend( - RawOrigin::Signed(caller).into(), - value, - beneficiary_lookup, - )?; - let proposal_id = Treasury::::proposal_count() - 1; - - #[extrinsic_call] - _(approve_origin as T::RuntimeOrigin, proposal_id); - - Ok(()) - } - - #[benchmark] - fn remove_approval() -> Result<(), BenchmarkError> { - let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); - #[allow(deprecated)] - Treasury::::propose_spend( - RawOrigin::Signed(caller).into(), - value, - beneficiary_lookup, - )?; - let proposal_id = Treasury::::proposal_count() - 1; - Approvals::::try_append(proposal_id).unwrap(); - let reject_origin = - T::RejectOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; - - #[extrinsic_call] - _(reject_origin as T::RuntimeOrigin, proposal_id); - - Ok(()) - } - - #[benchmark] - fn on_initialize_proposals( - p: Linear<0, { T::MaxApprovals::get() - 1 }>, - ) -> Result<(), BenchmarkError> { - setup_pot_account::(); - create_approved_proposals::(p)?; - - #[block] - { - Treasury::::on_initialize(0u32.into()); - } - - Ok(()) - } - - /// This benchmark is short-circuited if `SpendOrigin` cannot provide - /// a successful origin, in which case `spend` is un-callable and can use weight=0. - #[benchmark] - fn spend() -> Result<(), BenchmarkError> { - let origin = - T::SpendOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; - let (asset_kind, amount, beneficiary, beneficiary_lookup) = - create_spend_arguments::(SEED); - T::BalanceConverter::ensure_successful(asset_kind.clone()); - - #[extrinsic_call] - _( - origin as T::RuntimeOrigin, - Box::new(asset_kind.clone()), - amount, - Box::new(beneficiary_lookup), - None, - ); - - let valid_from = frame_system::Pallet::::block_number(); - let expire_at = valid_from.saturating_add(T::PayoutPeriod::get()); - assert_last_event::( - Event::AssetSpendApproved { - index: 0, - asset_kind, - amount, - beneficiary, - valid_from, - expire_at, - } - .into(), - ); - Ok(()) - } - - #[benchmark] - fn payout() -> Result<(), BenchmarkError> { - let (asset_kind, amount, beneficiary, beneficiary_lookup) = - create_spend_arguments::(SEED); - T::BalanceConverter::ensure_successful(asset_kind.clone()); - - let spend_exists = if let Ok(origin) = T::SpendOrigin::try_successful_origin() { - Treasury::::spend( - origin, - Box::new(asset_kind.clone()), - amount, - Box::new(beneficiary_lookup), - None, - )?; - - true - } else { - false - }; - - T::Paymaster::ensure_successful(&beneficiary, asset_kind, amount); - let caller: T::AccountId = account("caller", 0, SEED); - - #[block] - { - let res = Treasury::::payout(RawOrigin::Signed(caller.clone()).into(), 0u32); - - if spend_exists { - assert_ok!(res); - } else { - assert_err!(res, crate::Error::::InvalidIndex); - } - } - - if spend_exists { - let id = match Spends::::get(0).unwrap().status { - PaymentState::Attempted { id, .. } => { - assert_ne!(T::Paymaster::check_payment(id), PaymentStatus::Failure); - id - } - _ => panic!("No payout attempt made"), - }; - assert_last_event::( - Event::Paid { - index: 0, - payment_id: id, - } - .into(), - ); - assert!(Treasury::::payout(RawOrigin::Signed(caller).into(), 0u32).is_err()); - } - - Ok(()) - } - - #[benchmark] - fn check_status() -> Result<(), BenchmarkError> { - let (asset_kind, amount, beneficiary, beneficiary_lookup) = - create_spend_arguments::(SEED); - - T::BalanceConverter::ensure_successful(asset_kind.clone()); - T::Paymaster::ensure_successful(&beneficiary, asset_kind.clone(), amount); - let caller: T::AccountId = account("caller", 0, SEED); - - let spend_exists = if let Ok(origin) = T::SpendOrigin::try_successful_origin() { - Treasury::::spend( - origin, - Box::new(asset_kind), - amount, - Box::new(beneficiary_lookup), - None, - )?; - - Treasury::::payout(RawOrigin::Signed(caller.clone()).into(), 0u32)?; - match Spends::::get(0).unwrap().status { - PaymentState::Attempted { id, .. } => { - T::Paymaster::ensure_concluded(id); - } - _ => panic!("No payout attempt made"), - }; - - true - } else { - false - }; - - #[block] - { - let res = - Treasury::::check_status(RawOrigin::Signed(caller.clone()).into(), 0u32); - - if spend_exists { - assert_ok!(res); - } else { - assert_err!(res, crate::Error::::InvalidIndex); - } - } - - if let Some(s) = Spends::::get(0) { - assert!(!matches!(s.status, PaymentState::Attempted { .. })); - } - - Ok(()) - } - - #[benchmark] - fn void_spend() -> Result<(), BenchmarkError> { - let (asset_kind, amount, _, beneficiary_lookup) = create_spend_arguments::(SEED); - T::BalanceConverter::ensure_successful(asset_kind.clone()); - let spend_exists = if let Ok(origin) = T::SpendOrigin::try_successful_origin() { - Treasury::::spend( - origin, - Box::new(asset_kind.clone()), - amount, - Box::new(beneficiary_lookup), - None, - )?; - assert!(Spends::::get(0).is_some()); - - true - } else { - false - }; - - let origin = - T::RejectOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; - - #[block] - { - let res = Treasury::::void_spend(origin as T::RuntimeOrigin, 0u32); - - if spend_exists { - assert_ok!(res); - } else { - assert_err!(res, crate::Error::::InvalidIndex); - } - } - - assert!(Spends::::get(0).is_none()); - Ok(()) - } - - impl_benchmark_test_suite!( - Treasury, - crate::tests::ExtBuilder::default().build(), - crate::tests::Test - ); - - mod no_spend_origin_tests { - use super::*; - - impl_benchmark_test_suite!( - Treasury, - crate::tests::ExtBuilder::default() - .spend_origin_succesful_origin_err() - .build(), - crate::tests::Test, - benchmarks_path = benchmarking - ); - } -} diff --git a/pallets/treasury/src/lib.rs b/pallets/treasury/src/lib.rs deleted file mode 100644 index fcf99f718..000000000 --- a/pallets/treasury/src/lib.rs +++ /dev/null @@ -1,1187 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! > Made with *Substrate*, for *Polkadot*. -//! -//! [![github]](https://github.com/paritytech/substrate/frame/fast-unstake) - -//! [![polkadot]](https://polkadot.network) -//! -//! [polkadot]: https://img.shields.io/badge/polkadot-E6007A?style=for-the-badge&logo=polkadot&logoColor=white -//! [github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=github -//! -//! # Treasury Pallet -//! -//! The Treasury pallet provides a "pot" of funds that can be managed by stakeholders in the system -//! and a structure for making spending proposals from this pot. -//! -//! ## Overview -//! -//! The Treasury Pallet itself provides the pot to store funds, and a means for stakeholders to -//! propose and claim expenditures (aka spends). The chain will need to provide a method to approve -//! spends (e.g. public referendum) and a method for collecting funds (e.g. inflation, fees). -//! -//! By way of example, stakeholders could vote to fund the Treasury with a portion of the block -//! reward and use the funds to pay developers. -//! -//! ### Terminology -//! -//! - **Proposal:** A suggestion to allocate funds from the pot to a beneficiary. -//! - **Beneficiary:** An account who will receive the funds from a proposal iff the proposal is -//! approved. -//! - **Pot:** Unspent funds accumulated by the treasury pallet. -//! - **Spend** An approved proposal for transferring a specific amount of funds to a designated -//! beneficiary. -//! -//! ### Example -//! -//! 1. Multiple local spends approved by spend origins and received by a beneficiary. -#![doc = docify::embed!("src/tests.rs", spend_local_origin_works)] -//! -//! 2. Approve a spend of some asset kind and claim it. -#![doc = docify::embed!("src/tests.rs", spend_payout_works)] -//! -//! ## Pallet API -//! -//! See the [`pallet`] module for more information about the interfaces this pallet exposes, -//! including its configuration trait, dispatchables, storage items, events and errors. -//! -//! ## Low Level / Implementation Details -//! -//! Spends can be initiated using either the `spend_local` or `spend` dispatchable. The -//! `spend_local` dispatchable enables the creation of spends using the native currency of the -//! chain, utilizing the funds stored in the pot. These spends are automatically paid out every -//! [`pallet::Config::SpendPeriod`]. On the other hand, the `spend` dispatchable allows spending of -//! any asset kind managed by the treasury, with payment facilitated by a designated -//! [`pallet::Config::Paymaster`]. To claim these spends, the `payout` dispatchable should be called -//! within some temporal bounds, starting from the moment they become valid and within one -//! [`pallet::Config::PayoutPeriod`]. - -#![cfg_attr(not(feature = "std"), no_std)] - -mod benchmarking; -#[cfg(test)] -mod tests; -pub mod weights; -use core::marker::PhantomData; - -#[cfg(feature = "runtime-benchmarks")] -pub use benchmarking::ArgumentsFactory; - -extern crate alloc; - -use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; -use scale_info::TypeInfo; - -use alloc::{boxed::Box, collections::btree_map::BTreeMap}; -use sp_runtime::{ - traits::{AccountIdConversion, CheckedAdd, Saturating, StaticLookup, Zero}, - Permill, RuntimeDebug, -}; - -use frame_support::{ - dispatch::{DispatchResult, DispatchResultWithPostInfo}, - ensure, print, - traits::{ - tokens::Pay, Currency, ExistenceRequirement::KeepAlive, Get, Imbalance, OnUnbalanced, - ReservableCurrency, WithdrawReasons, - }, - weights::Weight, - PalletId, -}; - -pub use pallet::*; -pub use weights::WeightInfo; - -pub type BalanceOf = - <>::Currency as Currency<::AccountId>>::Balance; -pub type AssetBalanceOf = <>::Paymaster as Pay>::Balance; -pub type PositiveImbalanceOf = <>::Currency as Currency< - ::AccountId, ->>::PositiveImbalance; -pub type NegativeImbalanceOf = <>::Currency as Currency< - ::AccountId, ->>::NegativeImbalance; -type AccountIdLookupOf = <::Lookup as StaticLookup>::Source; -type BeneficiaryLookupOf = <>::BeneficiaryLookup as StaticLookup>::Source; - -/// A trait to allow the Treasury Pallet to spend it's funds for other purposes. -/// There is an expectation that the implementer of this trait will correctly manage -/// the mutable variables passed to it: -/// * `budget_remaining`: How much available funds that can be spent by the treasury. As funds are -/// spent, you must correctly deduct from this value. -/// * `imbalance`: Any imbalances that you create should be subsumed in here to maximize efficiency -/// of updating the total issuance. (i.e. `deposit_creating`) -/// * `total_weight`: Track any weight that your `spend_fund` implementation uses by updating this -/// value. -/// * `missed_any`: If there were items that you want to spend on, but there were not enough funds, -/// mark this value as `true`. This will prevent the treasury from burning the excess funds. -#[impl_trait_for_tuples::impl_for_tuples(30)] -pub trait SpendFunds, I: 'static = ()> { - fn spend_funds( - budget_remaining: &mut BalanceOf, - imbalance: &mut PositiveImbalanceOf, - total_weight: &mut Weight, - missed_any: &mut bool, - ); -} - -/// An index of a proposal. Just a `u32`. -pub type ProposalIndex = u32; - -/// A spending proposal. -#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] -#[derive(Encode, Decode, Clone, PartialEq, Eq, MaxEncodedLen, RuntimeDebug, TypeInfo)] -pub struct Proposal { - /// The account proposing it. - proposer: AccountId, - /// The (total) amount that should be paid if the proposal is accepted. - value: Balance, - /// The account to whom the payment should be made if the proposal is accepted. - beneficiary: AccountId, - /// The amount held on deposit (reserved) for making this proposal. - bond: Balance, -} - -/// The state of the payment claim. -#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] -#[derive(Encode, Decode, Clone, PartialEq, Eq, MaxEncodedLen, RuntimeDebug, TypeInfo)] -pub enum PaymentState { - /// Pending claim. - Pending, - /// Payment attempted with a payment identifier. - Attempted { id: Id }, - /// Payment failed. - Failed, -} - -/// Info regarding an approved treasury spend. -#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] -#[derive(Encode, Decode, Clone, PartialEq, Eq, MaxEncodedLen, RuntimeDebug, TypeInfo)] -pub struct SpendStatus { - // The kind of asset to be spent. - asset_kind: AssetKind, - /// The asset amount of the spend. - amount: AssetBalance, - /// The beneficiary of the spend. - beneficiary: Beneficiary, - /// The block number from which the spend can be claimed. - valid_from: BlockNumber, - /// The block number by which the spend has to be claimed. - expire_at: BlockNumber, - /// The status of the payout/claim. - status: PaymentState, -} - -/// Index of an approved treasury spend. -pub type SpendIndex = u32; - -#[frame_support::pallet] -pub mod pallet { - use super::*; - use frame_support::{ - dispatch_context::with_context, - pallet_prelude::*, - traits::tokens::{ConversionFromAssetBalance, PaymentStatus}, - }; - use frame_system::pallet_prelude::*; - - #[pallet::pallet] - pub struct Pallet(PhantomData<(T, I)>); - - #[pallet::config] - pub trait Config: frame_system::Config { - /// The staking balance. - type Currency: Currency + ReservableCurrency; - - /// Origin from which approvals must come. - type ApproveOrigin: EnsureOrigin; - - /// Origin from which rejections must come. - type RejectOrigin: EnsureOrigin; - - /// The overarching event type. - type RuntimeEvent: From> - + IsType<::RuntimeEvent>; - - /// Handler for the unbalanced decrease when slashing for a rejected proposal or bounty. - type OnSlash: OnUnbalanced>; - - /// Fraction of a proposal's value that should be bonded in order to place the proposal. - /// An accepted proposal gets these back. A rejected proposal does not. - #[pallet::constant] - type ProposalBond: Get; - - /// Minimum amount of funds that should be placed in a deposit for making a proposal. - #[pallet::constant] - type ProposalBondMinimum: Get>; - - /// Maximum amount of funds that should be placed in a deposit for making a proposal. - #[pallet::constant] - type ProposalBondMaximum: Get>>; - - /// Period between successive spends. - #[pallet::constant] - type SpendPeriod: Get>; - - /// Percentage of spare funds (if any) that are burnt per spend period. - #[pallet::constant] - type Burn: Get; - - /// The treasury's pallet id, used for deriving its sovereign account ID. - #[pallet::constant] - type PalletId: Get; - - /// Handler for the unbalanced decrease when treasury funds are burned. - type BurnDestination: OnUnbalanced>; - - /// Weight information for extrinsics in this pallet. - type WeightInfo: WeightInfo; - - /// Runtime hooks to external pallet using treasury to compute spend funds. - type SpendFunds: SpendFunds; - - /// The maximum number of approvals that can wait in the spending queue. - /// - /// NOTE: This parameter is also used within the Bounties Pallet extension if enabled. - #[pallet::constant] - type MaxApprovals: Get; - - /// The origin required for approving spends from the treasury outside of the proposal - /// process. The `Success` value is the maximum amount in a native asset that this origin - /// is allowed to spend at a time. - type SpendOrigin: EnsureOrigin>; - - /// Type parameter representing the asset kinds to be spent from the treasury. - type AssetKind: Parameter + MaxEncodedLen; - - /// Type parameter used to identify the beneficiaries eligible to receive treasury spends. - type Beneficiary: Parameter + MaxEncodedLen; - - /// Converting trait to take a source type and convert to [`Self::Beneficiary`]. - type BeneficiaryLookup: StaticLookup; - - /// Type for processing spends of [Self::AssetKind] in favor of [`Self::Beneficiary`]. - type Paymaster: Pay; - - /// Type for converting the balance of an [Self::AssetKind] to the balance of the native - /// asset, solely for the purpose of asserting the result against the maximum allowed spend - /// amount of the [`Self::SpendOrigin`]. - type BalanceConverter: ConversionFromAssetBalance< - ::Balance, - Self::AssetKind, - BalanceOf, - >; - - /// The period during which an approved treasury spend has to be claimed. - #[pallet::constant] - type PayoutPeriod: Get>; - - /// Helper type for benchmarks. - #[cfg(feature = "runtime-benchmarks")] - type BenchmarkHelper: ArgumentsFactory; - } - - /// Number of proposals that have been made. - #[pallet::storage] - #[pallet::getter(fn proposal_count)] - pub(crate) type ProposalCount = StorageValue<_, ProposalIndex, ValueQuery>; - - /// Proposals that have been made. - #[pallet::storage] - #[pallet::getter(fn proposals)] - pub type Proposals, I: 'static = ()> = StorageMap< - _, - Twox64Concat, - ProposalIndex, - Proposal>, - OptionQuery, - >; - - /// The amount which has been reported as inactive to Currency. - #[pallet::storage] - pub type Deactivated, I: 'static = ()> = - StorageValue<_, BalanceOf, ValueQuery>; - - /// Proposal indices that have been approved but not yet awarded. - #[pallet::storage] - #[pallet::getter(fn approvals)] - pub type Approvals, I: 'static = ()> = - StorageValue<_, BoundedVec, ValueQuery>; - - /// The count of spends that have been made. - #[pallet::storage] - pub(crate) type SpendCount = StorageValue<_, SpendIndex, ValueQuery>; - - /// Spends that have been approved and being processed. - // Hasher: Twox safe since `SpendIndex` is an internal count based index. - #[pallet::storage] - pub type Spends, I: 'static = ()> = StorageMap< - _, - Twox64Concat, - SpendIndex, - SpendStatus< - T::AssetKind, - AssetBalanceOf, - T::Beneficiary, - BlockNumberFor, - ::Id, - >, - OptionQuery, - >; - - #[pallet::genesis_config] - #[derive(frame_support::DefaultNoBound)] - pub struct GenesisConfig, I: 'static = ()> { - #[serde(skip)] - _config: core::marker::PhantomData<(T, I)>, - } - - #[pallet::genesis_build] - impl, I: 'static> BuildGenesisConfig for GenesisConfig { - fn build(&self) { - // Create Treasury account - let account_id = >::account_id(); - let min = T::Currency::minimum_balance(); - if T::Currency::free_balance(&account_id) < min { - let _ = T::Currency::make_free_balance_be(&account_id, min); - } - } - } - - #[pallet::event] - #[pallet::generate_deposit(pub(super) fn deposit_event)] - pub enum Event, I: 'static = ()> { - /// New proposal. - Proposed { proposal_index: ProposalIndex }, - /// We have ended a spend period and will now allocate funds. - Spending { budget_remaining: BalanceOf }, - /// Some funds have been allocated. - Awarded { - proposal_index: ProposalIndex, - award: BalanceOf, - account: T::AccountId, - }, - /// A proposal was rejected; funds were slashed. - Rejected { - proposal_index: ProposalIndex, - slashed: BalanceOf, - }, - /// Some of our funds have been burnt. - Burnt { burnt_funds: BalanceOf }, - /// Spending has finished; this is the amount that rolls over until next spend. - Rollover { rollover_balance: BalanceOf }, - /// Some funds have been deposited. - Deposit { value: BalanceOf }, - /// A new spend proposal has been approved. - SpendApproved { - proposal_index: ProposalIndex, - amount: BalanceOf, - beneficiary: T::AccountId, - }, - /// The inactive funds of the pallet have been updated. - UpdatedInactive { - reactivated: BalanceOf, - deactivated: BalanceOf, - }, - /// A new asset spend proposal has been approved. - AssetSpendApproved { - index: SpendIndex, - asset_kind: T::AssetKind, - amount: AssetBalanceOf, - beneficiary: T::Beneficiary, - valid_from: BlockNumberFor, - expire_at: BlockNumberFor, - }, - /// An approved spend was voided. - AssetSpendVoided { index: SpendIndex }, - /// A payment happened. - Paid { - index: SpendIndex, - payment_id: ::Id, - }, - /// A payment failed and can be retried. - PaymentFailed { - index: SpendIndex, - payment_id: ::Id, - }, - /// A spend was processed and removed from the storage. It might have been successfully - /// paid or it may have expired. - SpendProcessed { index: SpendIndex }, - } - - /// Error for the treasury pallet. - #[pallet::error] - pub enum Error { - /// Proposer's balance is too low. - InsufficientProposersBalance, - /// No proposal, bounty or spend at that index. - InvalidIndex, - /// Too many approvals in the queue. - TooManyApprovals, - /// The spend origin is valid but the amount it is allowed to spend is lower than the - /// amount to be spent. - InsufficientPermission, - /// Proposal has not been approved. - ProposalNotApproved, - /// The balance of the asset kind is not convertible to the balance of the native asset. - FailedToConvertBalance, - /// The spend has expired and cannot be claimed. - SpendExpired, - /// The spend is not yet eligible for payout. - EarlyPayout, - /// The payment has already been attempted. - AlreadyAttempted, - /// There was some issue with the mechanism of payment. - PayoutError, - /// The payout was not yet attempted/claimed. - NotAttempted, - /// The payment has neither failed nor succeeded yet. - Inconclusive, - } - - #[pallet::hooks] - impl, I: 'static> Hooks> for Pallet { - /// ## Complexity - /// - `O(A)` where `A` is the number of approvals - fn on_initialize(n: frame_system::pallet_prelude::BlockNumberFor) -> Weight { - let pot = Self::pot(); - let deactivated = Deactivated::::get(); - if pot != deactivated { - T::Currency::reactivate(deactivated); - T::Currency::deactivate(pot); - Deactivated::::put(&pot); - Self::deposit_event(Event::::UpdatedInactive { - reactivated: deactivated, - deactivated: pot, - }); - } - - // Check to see if we should spend some funds! - if (n % T::SpendPeriod::get()).is_zero() { - Self::spend_funds() - } else { - Weight::zero() - } - } - - #[cfg(feature = "try-runtime")] - fn try_state( - _: frame_system::pallet_prelude::BlockNumberFor, - ) -> Result<(), sp_runtime::TryRuntimeError> { - Self::do_try_state()?; - Ok(()) - } - } - - #[derive(Default)] - struct SpendContext { - spend_in_context: BTreeMap, - } - - #[pallet::call] - impl, I: 'static> Pallet { - /// Put forward a suggestion for spending. - /// - /// ## Dispatch Origin - /// - /// Must be signed. - /// - /// ## Details - /// A deposit proportional to the value is reserved and slashed if the proposal is rejected. - /// It is returned once the proposal is awarded. - /// - /// ### Complexity - /// - O(1) - /// - /// ## Events - /// - /// Emits [`Event::Proposed`] if successful. - #[pallet::call_index(0)] - #[pallet::weight(T::WeightInfo::propose_spend())] - #[allow(deprecated)] - #[deprecated( - note = "`propose_spend` will be removed in February 2024. Use `spend` instead." - )] - pub fn propose_spend( - origin: OriginFor, - #[pallet::compact] value: BalanceOf, - beneficiary: AccountIdLookupOf, - ) -> DispatchResult { - let proposer = ensure_signed(origin)?; - let beneficiary = T::Lookup::lookup(beneficiary)?; - - let bond = Self::calculate_bond(value); - T::Currency::reserve(&proposer, bond) - .map_err(|_| Error::::InsufficientProposersBalance)?; - - let c = Self::proposal_count(); - >::put(c + 1); - >::insert( - c, - Proposal { - proposer, - value, - beneficiary, - bond, - }, - ); - - Self::deposit_event(Event::Proposed { proposal_index: c }); - Ok(()) - } - - /// Reject a proposed spend. - /// - /// ## Dispatch Origin - /// - /// Must be [`Config::RejectOrigin`]. - /// - /// ## Details - /// The original deposit will be slashed. - /// - /// ### Complexity - /// - O(1) - /// - /// ## Events - /// - /// Emits [`Event::Rejected`] if successful. - #[pallet::call_index(1)] - #[pallet::weight((T::WeightInfo::reject_proposal(), DispatchClass::Operational))] - #[allow(deprecated)] - #[deprecated( - note = "`reject_proposal` will be removed in February 2024. Use `spend` instead." - )] - pub fn reject_proposal( - origin: OriginFor, - #[pallet::compact] proposal_id: ProposalIndex, - ) -> DispatchResult { - T::RejectOrigin::ensure_origin(origin)?; - - let proposal = - >::take(&proposal_id).ok_or(Error::::InvalidIndex)?; - let value = proposal.bond; - let imbalance = T::Currency::slash_reserved(&proposal.proposer, value).0; - T::OnSlash::on_unbalanced(imbalance); - - Self::deposit_event(Event::::Rejected { - proposal_index: proposal_id, - slashed: value, - }); - Ok(()) - } - - /// Approve a proposal. - /// - /// ## Dispatch Origin - /// - /// Must be [`Config::ApproveOrigin`]. - /// - /// ## Details - /// - /// At a later time, the proposal will be allocated to the beneficiary and the original - /// deposit will be returned. - /// - /// ### Complexity - /// - O(1). - /// - /// ## Events - /// - /// No events are emitted from this dispatch. - #[pallet::call_index(2)] - #[pallet::weight((T::WeightInfo::approve_proposal(T::MaxApprovals::get()), DispatchClass::Operational))] - #[allow(deprecated)] - #[deprecated( - note = "`approve_proposal` will be removed in February 2024. Use `spend` instead." - )] - pub fn approve_proposal( - origin: OriginFor, - #[pallet::compact] proposal_id: ProposalIndex, - ) -> DispatchResult { - T::ApproveOrigin::ensure_origin(origin)?; - - ensure!( - >::contains_key(proposal_id), - Error::::InvalidIndex - ); - Approvals::::try_append(proposal_id) - .map_err(|_| Error::::TooManyApprovals)?; - Ok(()) - } - - /// Propose and approve a spend of treasury funds. - /// - /// ## Dispatch Origin - /// - /// Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`. - /// - /// ### Details - /// NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the - /// beneficiary. - /// - /// ### Parameters - /// - `amount`: The amount to be transferred from the treasury to the `beneficiary`. - /// - `beneficiary`: The destination account for the transfer. - /// - /// ## Events - /// - /// Emits [`Event::SpendApproved`] if successful. - #[pallet::call_index(3)] - #[pallet::weight(T::WeightInfo::spend_local())] - pub fn spend_local( - origin: OriginFor, - #[pallet::compact] amount: BalanceOf, - beneficiary: AccountIdLookupOf, - ) -> DispatchResult { - let max_amount = T::SpendOrigin::ensure_origin(origin)?; - ensure!(amount <= max_amount, Error::::InsufficientPermission); - - with_context::>, _>(|v| { - let context = v.or_default(); - - // We group based on `max_amount`, to distinguish between different kind of - // origins. (assumes that all origins have different `max_amount`) - // - // Worst case is that we reject some "valid" request. - let spend = context.spend_in_context.entry(max_amount).or_default(); - - // Ensure that we don't overflow nor use more than `max_amount` - if spend - .checked_add(&amount) - .map(|s| s > max_amount) - .unwrap_or(true) - { - Err(Error::::InsufficientPermission) - } else { - *spend = spend.saturating_add(amount); - - Ok(()) - } - }) - .unwrap_or(Ok(()))?; - - let beneficiary = T::Lookup::lookup(beneficiary)?; - let proposal_index = Self::proposal_count(); - Approvals::::try_append(proposal_index) - .map_err(|_| Error::::TooManyApprovals)?; - let proposal = Proposal { - proposer: beneficiary.clone(), - value: amount, - beneficiary: beneficiary.clone(), - bond: Default::default(), - }; - Proposals::::insert(proposal_index, proposal); - ProposalCount::::put(proposal_index + 1); - - Self::deposit_event(Event::SpendApproved { - proposal_index, - amount, - beneficiary, - }); - Ok(()) - } - - /// Force a previously approved proposal to be removed from the approval queue. - /// - /// ## Dispatch Origin - /// - /// Must be [`Config::RejectOrigin`]. - /// - /// ## Details - /// - /// The original deposit will no longer be returned. - /// - /// ### Parameters - /// - `proposal_id`: The index of a proposal - /// - /// ### Complexity - /// - O(A) where `A` is the number of approvals - /// - /// ### Errors - /// - [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the - /// approval queue, i.e., the proposal has not been approved. This could also mean the - /// proposal does not exist altogether, thus there is no way it would have been approved - /// in the first place. - #[pallet::call_index(4)] - #[pallet::weight((T::WeightInfo::remove_approval(), DispatchClass::Operational))] - pub fn remove_approval( - origin: OriginFor, - #[pallet::compact] proposal_id: ProposalIndex, - ) -> DispatchResult { - T::RejectOrigin::ensure_origin(origin)?; - - Approvals::::try_mutate(|v| -> DispatchResult { - if let Some(index) = v.iter().position(|x| x == &proposal_id) { - v.remove(index); - Ok(()) - } else { - Err(Error::::ProposalNotApproved.into()) - } - })?; - - Ok(()) - } - - /// Propose and approve a spend of treasury funds. - /// - /// ## Dispatch Origin - /// - /// Must be [`Config::SpendOrigin`] with the `Success` value being at least - /// `amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted - /// for assertion using the [`Config::BalanceConverter`]. - /// - /// ## Details - /// - /// Create an approved spend for transferring a specific `amount` of `asset_kind` to a - /// designated beneficiary. The spend must be claimed using the `payout` dispatchable within - /// the [`Config::PayoutPeriod`]. - /// - /// ### Parameters - /// - `asset_kind`: An indicator of the specific asset class to be spent. - /// - `amount`: The amount to be transferred from the treasury to the `beneficiary`. - /// - `beneficiary`: The beneficiary of the spend. - /// - `valid_from`: The block number from which the spend can be claimed. It can refer to - /// the past if the resulting spend has not yet expired according to the - /// [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after - /// approval. - /// - /// ## Events - /// - /// Emits [`Event::AssetSpendApproved`] if successful. - #[pallet::call_index(5)] - #[pallet::weight(T::WeightInfo::spend())] - pub fn spend( - origin: OriginFor, - asset_kind: Box, - #[pallet::compact] amount: AssetBalanceOf, - beneficiary: Box>, - valid_from: Option>, - ) -> DispatchResult { - let max_amount = T::SpendOrigin::ensure_origin(origin)?; - let beneficiary = T::BeneficiaryLookup::lookup(*beneficiary)?; - - let now = frame_system::Pallet::::block_number(); - let valid_from = valid_from.unwrap_or(now); - let expire_at = valid_from.saturating_add(T::PayoutPeriod::get()); - ensure!(expire_at > now, Error::::SpendExpired); - - let native_amount = - T::BalanceConverter::from_asset_balance(amount, *asset_kind.clone()) - .map_err(|_| Error::::FailedToConvertBalance)?; - - ensure!( - native_amount <= max_amount, - Error::::InsufficientPermission - ); - - with_context::>, _>(|v| { - let context = v.or_default(); - // We group based on `max_amount`, to distinguish between different kind of - // origins. (assumes that all origins have different `max_amount`) - // - // Worst case is that we reject some "valid" request. - let spend = context.spend_in_context.entry(max_amount).or_default(); - - // Ensure that we don't overflow nor use more than `max_amount` - if spend - .checked_add(&native_amount) - .map(|s| s > max_amount) - .unwrap_or(true) - { - Err(Error::::InsufficientPermission) - } else { - *spend = spend.saturating_add(native_amount); - Ok(()) - } - }) - .unwrap_or(Ok(()))?; - - let index = SpendCount::::get(); - Spends::::insert( - index, - SpendStatus { - asset_kind: *asset_kind.clone(), - amount, - beneficiary: beneficiary.clone(), - valid_from, - expire_at, - status: PaymentState::Pending, - }, - ); - SpendCount::::put(index + 1); - - Self::deposit_event(Event::AssetSpendApproved { - index, - asset_kind: *asset_kind, - amount, - beneficiary, - valid_from, - expire_at, - }); - Ok(()) - } - - /// Claim a spend. - /// - /// ## Dispatch Origin - /// - /// Must be signed. - /// - /// ## Details - /// - /// Spends must be claimed within some temporal bounds. A spend may be claimed within one - /// [`Config::PayoutPeriod`] from the `valid_from` block. - /// In case of a payout failure, the spend status must be updated with the `check_status` - /// dispatchable before retrying with the current function. - /// - /// ### Parameters - /// - `index`: The spend index. - /// - /// ## Events - /// - /// Emits [`Event::Paid`] if successful. - #[pallet::call_index(6)] - #[pallet::weight(T::WeightInfo::payout())] - pub fn payout(origin: OriginFor, index: SpendIndex) -> DispatchResult { - ensure_signed(origin)?; - let mut spend = Spends::::get(index).ok_or(Error::::InvalidIndex)?; - let now = frame_system::Pallet::::block_number(); - ensure!(now >= spend.valid_from, Error::::EarlyPayout); - ensure!(spend.expire_at > now, Error::::SpendExpired); - ensure!( - matches!(spend.status, PaymentState::Pending | PaymentState::Failed), - Error::::AlreadyAttempted - ); - - let id = T::Paymaster::pay(&spend.beneficiary, spend.asset_kind.clone(), spend.amount) - .map_err(|_| Error::::PayoutError)?; - - spend.status = PaymentState::Attempted { id }; - Spends::::insert(index, spend); - - Self::deposit_event(Event::::Paid { - index, - payment_id: id, - }); - - Ok(()) - } - - /// Check the status of the spend and remove it from the storage if processed. - /// - /// ## Dispatch Origin - /// - /// Must be signed. - /// - /// ## Details - /// - /// The status check is a prerequisite for retrying a failed payout. - /// If a spend has either succeeded or expired, it is removed from the storage by this - /// function. In such instances, transaction fees are refunded. - /// - /// ### Parameters - /// - `index`: The spend index. - /// - /// ## Events - /// - /// Emits [`Event::PaymentFailed`] if the spend payout has failed. - /// Emits [`Event::SpendProcessed`] if the spend payout has succeed. - #[pallet::call_index(7)] - #[pallet::weight(T::WeightInfo::check_status())] - pub fn check_status(origin: OriginFor, index: SpendIndex) -> DispatchResultWithPostInfo { - use PaymentState as State; - use PaymentStatus as Status; - - ensure_signed(origin)?; - let mut spend = Spends::::get(index).ok_or(Error::::InvalidIndex)?; - let now = frame_system::Pallet::::block_number(); - - if now > spend.expire_at && !matches!(spend.status, State::Attempted { .. }) { - // spend has expired and no further status update is expected. - Spends::::remove(index); - Self::deposit_event(Event::::SpendProcessed { index }); - return Ok(Pays::No.into()); - } - - let payment_id = match spend.status { - State::Attempted { id } => id, - _ => return Err(Error::::NotAttempted.into()), - }; - - match T::Paymaster::check_payment(payment_id) { - Status::Failure => { - spend.status = PaymentState::Failed; - Spends::::insert(index, spend); - Self::deposit_event(Event::::PaymentFailed { index, payment_id }); - } - Status::Success | Status::Unknown => { - Spends::::remove(index); - Self::deposit_event(Event::::SpendProcessed { index }); - return Ok(Pays::No.into()); - } - Status::InProgress => return Err(Error::::Inconclusive.into()), - } - return Ok(Pays::Yes.into()); - } - - /// Void previously approved spend. - /// - /// ## Dispatch Origin - /// - /// Must be [`Config::RejectOrigin`]. - /// - /// ## Details - /// - /// A spend void is only possible if the payout has not been attempted yet. - /// - /// ### Parameters - /// - `index`: The spend index. - /// - /// ## Events - /// - /// Emits [`Event::AssetSpendVoided`] if successful. - #[pallet::call_index(8)] - #[pallet::weight(T::WeightInfo::void_spend())] - pub fn void_spend(origin: OriginFor, index: SpendIndex) -> DispatchResult { - T::RejectOrigin::ensure_origin(origin)?; - let spend = Spends::::get(index).ok_or(Error::::InvalidIndex)?; - ensure!( - matches!(spend.status, PaymentState::Pending | PaymentState::Failed), - Error::::AlreadyAttempted - ); - - Spends::::remove(index); - Self::deposit_event(Event::::AssetSpendVoided { index }); - Ok(()) - } - } -} - -impl, I: 'static> Pallet { - // Add public immutables and private mutables. - - /// The account ID of the treasury pot. - /// - /// This actually does computation. If you need to keep using it, then make sure you cache the - /// value and only call this once. - pub fn account_id() -> T::AccountId { - T::PalletId::get().into_account_truncating() - } - - /// The needed bond for a proposal whose spend is `value`. - fn calculate_bond(value: BalanceOf) -> BalanceOf { - let mut r = T::ProposalBondMinimum::get().max(T::ProposalBond::get() * value); - if let Some(m) = T::ProposalBondMaximum::get() { - r = r.min(m); - } - r - } - - /// Spend some money! returns number of approvals before spend. - pub fn spend_funds() -> Weight { - let mut total_weight = Weight::zero(); - - let mut budget_remaining = Self::pot(); - Self::deposit_event(Event::Spending { budget_remaining }); - let account_id = Self::account_id(); - - let mut missed_any = false; - let mut imbalance = >::zero(); - let proposals_len = Approvals::::mutate(|v| { - let proposals_approvals_len = v.len() as u32; - v.retain(|&index| { - // Should always be true, but shouldn't panic if false or we're screwed. - if let Some(p) = Self::proposals(index) { - if p.value <= budget_remaining { - budget_remaining -= p.value; - >::remove(index); - - // return their deposit. - let err_amount = T::Currency::unreserve(&p.proposer, p.bond); - debug_assert!(err_amount.is_zero()); - - // provide the allocation. - imbalance.subsume(T::Currency::deposit_creating(&p.beneficiary, p.value)); - - Self::deposit_event(Event::Awarded { - proposal_index: index, - award: p.value, - account: p.beneficiary, - }); - false - } else { - missed_any = true; - true - } - } else { - false - } - }); - proposals_approvals_len - }); - - total_weight += T::WeightInfo::on_initialize_proposals(proposals_len); - - // Call Runtime hooks to external pallet using treasury to compute spend funds. - T::SpendFunds::spend_funds( - &mut budget_remaining, - &mut imbalance, - &mut total_weight, - &mut missed_any, - ); - - if !missed_any { - // burn some proportion of the remaining budget if we run a surplus. - let burn = (T::Burn::get() * budget_remaining).min(budget_remaining); - budget_remaining -= burn; - - let (debit, credit) = T::Currency::pair(burn); - imbalance.subsume(debit); - T::BurnDestination::on_unbalanced(credit); - Self::deposit_event(Event::Burnt { burnt_funds: burn }) - } - - // Must never be an error, but better to be safe. - // proof: budget_remaining is account free balance minus ED; - // Thus we can't spend more than account free balance minus ED; - // Thus account is kept alive; qed; - if let Err(problem) = - T::Currency::settle(&account_id, imbalance, WithdrawReasons::TRANSFER, KeepAlive) - { - print("Inconsistent state - couldn't settle imbalance for funds spent by treasury"); - // Nothing else to do here. - drop(problem); - } - - Self::deposit_event(Event::Rollover { - rollover_balance: budget_remaining, - }); - - total_weight - } - - /// Return the amount of money in the pot. - // The existential deposit is not part of the pot so treasury account never gets deleted. - pub fn pot() -> BalanceOf { - T::Currency::free_balance(&Self::account_id()) - // Must never be less than 0 but better be safe. - .saturating_sub(T::Currency::minimum_balance()) - } - - /// Ensure the correctness of the state of this pallet. - #[cfg(any(feature = "try-runtime", test))] - fn do_try_state() -> Result<(), sp_runtime::TryRuntimeError> { - Self::try_state_proposals()?; - Self::try_state_spends()?; - - Ok(()) - } - - /// ### Invariants of proposal storage items - /// - /// 1. [`ProposalCount`] >= Number of elements in [`Proposals`]. - /// 2. Each entry in [`Proposals`] should be saved under a key strictly less than current - /// [`ProposalCount`]. - /// 3. Each [`ProposalIndex`] contained in [`Approvals`] should exist in [`Proposals`]. - /// Note, that this automatically implies [`Approvals`].count() <= [`Proposals`].count(). - #[cfg(any(feature = "try-runtime", test))] - fn try_state_proposals() -> Result<(), sp_runtime::TryRuntimeError> { - let current_proposal_count = ProposalCount::::get(); - ensure!( - current_proposal_count as usize >= Proposals::::iter().count(), - "Actual number of proposals exceeds `ProposalCount`." - ); - - Proposals::::iter_keys().try_for_each(|proposal_index| -> DispatchResult { - ensure!( - current_proposal_count as u32 > proposal_index, - "`ProposalCount` should by strictly greater than any ProposalIndex used as a key for `Proposals`." - ); - Ok(()) - })?; - - Approvals::::get() - .iter() - .try_for_each(|proposal_index| -> DispatchResult { - ensure!( - Proposals::::contains_key(proposal_index), - "Proposal indices in `Approvals` must also be contained in `Proposals`." - ); - Ok(()) - })?; - - Ok(()) - } - - /// ## Invariants of spend storage items - /// - /// 1. [`SpendCount`] >= Number of elements in [`Spends`]. - /// 2. Each entry in [`Spends`] should be saved under a key strictly less than current - /// [`SpendCount`]. - /// 3. For each spend entry contained in [`Spends`] we should have spend.expire_at - /// > spend.valid_from. - #[cfg(any(feature = "try-runtime", test))] - fn try_state_spends() -> Result<(), sp_runtime::TryRuntimeError> { - let current_spend_count = SpendCount::::get(); - ensure!( - current_spend_count as usize >= Spends::::iter().count(), - "Actual number of spends exceeds `SpendCount`." - ); - - Spends::::iter_keys().try_for_each(|spend_index| -> DispatchResult { - ensure!( - current_spend_count > spend_index, - "`SpendCount` should by strictly greater than any SpendIndex used as a key for `Spends`." - ); - Ok(()) - })?; - - Spends::::iter().try_for_each(|(_index, spend)| -> DispatchResult { - ensure!( - spend.valid_from < spend.expire_at, - "Spend cannot expire before it becomes valid." - ); - Ok(()) - })?; - - Ok(()) - } -} - -impl, I: 'static> OnUnbalanced> for Pallet { - fn on_nonzero_unbalanced(amount: NegativeImbalanceOf) { - let numeric_amount = amount.peek(); - - // Must resolve into existing but better to be safe. - let _ = T::Currency::resolve_creating(&Self::account_id(), amount); - - Self::deposit_event(Event::Deposit { - value: numeric_amount, - }); - } -} - -/// TypedGet implementation to get the AccountId of the Treasury. -pub struct TreasuryAccountId(PhantomData); -impl sp_runtime::traits::TypedGet for TreasuryAccountId -where - R: crate::Config, -{ - type Type = ::AccountId; - fn get() -> Self::Type { - >::account_id() - } -} diff --git a/pallets/treasury/src/tests.rs b/pallets/treasury/src/tests.rs deleted file mode 100644 index 2bda67d36..000000000 --- a/pallets/treasury/src/tests.rs +++ /dev/null @@ -1,1321 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Treasury pallet tests. - -#![cfg(test)] - -use core::{cell::RefCell, marker::PhantomData}; -use sp_runtime::{ - traits::{BadOrigin, Dispatchable, IdentityLookup}, - BuildStorage, -}; - -use frame_support::{ - assert_err_ignore_postinfo, assert_noop, assert_ok, derive_impl, - pallet_prelude::Pays, - parameter_types, - traits::{ - tokens::{ConversionFromAssetBalance, PaymentStatus}, - ConstU32, ConstU64, OnInitialize, - }, - PalletId, -}; - -use super::*; -use crate as treasury; - -type Block = frame_system::mocking::MockBlock; -type UtilityCall = pallet_utility::Call; -type TreasuryCall = crate::Call; - -frame_support::construct_runtime!( - pub enum Test - { - System: frame_system, - Balances: pallet_balances, - Treasury: treasury, - Utility: pallet_utility, - } -); - -#[derive_impl(frame_system::config_preludes::TestDefaultConfig)] -impl frame_system::Config for Test { - type AccountId = u128; // u64 is not enough to hold bytes used to generate bounty account - type Lookup = IdentityLookup; - type Block = Block; - type AccountData = pallet_balances::AccountData; -} - -#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)] -impl pallet_balances::Config for Test { - type AccountStore = System; -} - -impl pallet_utility::Config for Test { - type RuntimeEvent = RuntimeEvent; - type RuntimeCall = RuntimeCall; - type PalletsOrigin = OriginCaller; - type WeightInfo = (); -} - -thread_local! { - pub static PAID: RefCell> = RefCell::new(BTreeMap::new()); - pub static STATUS: RefCell> = RefCell::new(BTreeMap::new()); - pub static LAST_ID: RefCell = RefCell::new(0u64); - - #[cfg(feature = "runtime-benchmarks")] - pub static TEST_SPEND_ORIGIN_TRY_SUCCESFUL_ORIGIN_ERR: RefCell = RefCell::new(false); -} - -/// paid balance for a given account and asset ids -fn paid(who: u128, asset_id: u32) -> u64 { - PAID.with(|p| p.borrow().get(&(who, asset_id)).cloned().unwrap_or(0)) -} - -/// reduce paid balance for a given account and asset ids -fn unpay(who: u128, asset_id: u32, amount: u64) { - PAID.with(|p| { - p.borrow_mut() - .entry((who, asset_id)) - .or_default() - .saturating_reduce(amount) - }) -} - -/// set status for a given payment id -fn set_status(id: u64, s: PaymentStatus) { - STATUS.with(|m| m.borrow_mut().insert(id, s)); -} - -pub struct TestPay; -impl Pay for TestPay { - type Beneficiary = u128; - type Balance = u64; - type Id = u64; - type AssetKind = u32; - type Error = (); - - fn pay( - who: &Self::Beneficiary, - asset_kind: Self::AssetKind, - amount: Self::Balance, - ) -> Result { - PAID.with(|paid| *paid.borrow_mut().entry((*who, asset_kind)).or_default() += amount); - Ok(LAST_ID.with(|lid| { - let x = *lid.borrow(); - lid.replace(x + 1); - x - })) - } - fn check_payment(id: Self::Id) -> PaymentStatus { - STATUS.with(|s| { - s.borrow() - .get(&id) - .cloned() - .unwrap_or(PaymentStatus::Unknown) - }) - } - #[cfg(feature = "runtime-benchmarks")] - fn ensure_successful(_: &Self::Beneficiary, _: Self::AssetKind, _: Self::Balance) {} - #[cfg(feature = "runtime-benchmarks")] - fn ensure_concluded(id: Self::Id) { - set_status(id, PaymentStatus::Failure) - } -} - -parameter_types! { - pub const ProposalBond: Permill = Permill::from_percent(5); - pub const Burn: Permill = Permill::from_percent(50); - pub const TreasuryPalletId: PalletId = PalletId(*b"py/trsry"); - pub TreasuryAccount: u128 = Treasury::account_id(); - pub const SpendPayoutPeriod: u64 = 5; -} - -pub struct TestSpendOrigin; -impl frame_support::traits::EnsureOrigin for TestSpendOrigin { - type Success = u64; - fn try_origin(o: RuntimeOrigin) -> Result { - Result::, RuntimeOrigin>::from(o).and_then(|o| match o { - frame_system::RawOrigin::Root => Ok(u64::max_value()), - frame_system::RawOrigin::Signed(10) => Ok(5), - frame_system::RawOrigin::Signed(11) => Ok(10), - frame_system::RawOrigin::Signed(12) => Ok(20), - frame_system::RawOrigin::Signed(13) => Ok(50), - r => Err(RuntimeOrigin::from(r)), - }) - } - #[cfg(feature = "runtime-benchmarks")] - fn try_successful_origin() -> Result { - if TEST_SPEND_ORIGIN_TRY_SUCCESFUL_ORIGIN_ERR.with(|i| *i.borrow()) { - Err(()) - } else { - Ok(frame_system::RawOrigin::Root.into()) - } - } -} - -pub struct MulBy(PhantomData); -impl> ConversionFromAssetBalance for MulBy { - type Error = (); - fn from_asset_balance(balance: u64, _asset_id: u32) -> Result { - return balance.checked_mul(N::get()).ok_or(()); - } - #[cfg(feature = "runtime-benchmarks")] - fn ensure_successful(_: u32) {} -} - -impl Config for Test { - type PalletId = TreasuryPalletId; - type Currency = pallet_balances::Pallet; - type ApproveOrigin = frame_system::EnsureRoot; - type RejectOrigin = frame_system::EnsureRoot; - type RuntimeEvent = RuntimeEvent; - type OnSlash = (); - type ProposalBond = ProposalBond; - type ProposalBondMinimum = ConstU64<1>; - type ProposalBondMaximum = (); - type SpendPeriod = ConstU64<2>; - type Burn = Burn; - type BurnDestination = (); // Just gets burned. - type WeightInfo = (); - type SpendFunds = (); - type MaxApprovals = ConstU32<100>; - type SpendOrigin = TestSpendOrigin; - type AssetKind = u32; - type Beneficiary = u128; - type BeneficiaryLookup = IdentityLookup; - type Paymaster = TestPay; - type BalanceConverter = MulBy>; - type PayoutPeriod = SpendPayoutPeriod; - #[cfg(feature = "runtime-benchmarks")] - type BenchmarkHelper = (); -} - -pub struct ExtBuilder {} - -impl Default for ExtBuilder { - fn default() -> Self { - #[cfg(feature = "runtime-benchmarks")] - TEST_SPEND_ORIGIN_TRY_SUCCESFUL_ORIGIN_ERR.with(|i| *i.borrow_mut() = false); - - Self {} - } -} - -impl ExtBuilder { - #[cfg(feature = "runtime-benchmarks")] - pub fn spend_origin_succesful_origin_err(self) -> Self { - TEST_SPEND_ORIGIN_TRY_SUCCESFUL_ORIGIN_ERR.with(|i| *i.borrow_mut() = true); - self - } - - pub fn build(self) -> sp_io::TestExternalities { - let mut t = frame_system::GenesisConfig::::default() - .build_storage() - .unwrap(); - pallet_balances::GenesisConfig:: { - // Total issuance will be 200 with treasury account initialized at ED. - balances: vec![(0, 100), (1, 98), (2, 1)], - } - .assimilate_storage(&mut t) - .unwrap(); - crate::GenesisConfig::::default() - .assimilate_storage(&mut t) - .unwrap(); - let mut ext = sp_io::TestExternalities::new(t); - ext.execute_with(|| System::set_block_number(1)); - ext - } -} - -fn get_payment_id(i: SpendIndex) -> Option { - let spend = Spends::::get(i).expect("no spend"); - match spend.status { - PaymentState::Attempted { id } => Some(id), - _ => None, - } -} - -#[test] -fn genesis_config_works() { - ExtBuilder::default().build().execute_with(|| { - assert_eq!(Treasury::pot(), 0); - assert_eq!(Treasury::proposal_count(), 0); - }); -} - -#[test] -fn spend_local_origin_permissioning_works() { - ExtBuilder::default().build().execute_with(|| { - assert_noop!( - Treasury::spend_local(RuntimeOrigin::signed(1), 1, 1), - BadOrigin - ); - assert_noop!( - Treasury::spend_local(RuntimeOrigin::signed(10), 6, 1), - Error::::InsufficientPermission - ); - assert_noop!( - Treasury::spend_local(RuntimeOrigin::signed(11), 11, 1), - Error::::InsufficientPermission - ); - assert_noop!( - Treasury::spend_local(RuntimeOrigin::signed(12), 21, 1), - Error::::InsufficientPermission - ); - assert_noop!( - Treasury::spend_local(RuntimeOrigin::signed(13), 51, 1), - Error::::InsufficientPermission - ); - }); -} - -#[docify::export] -#[test] -fn spend_local_origin_works() { - ExtBuilder::default().build().execute_with(|| { - // Check that accumulate works when we have Some value in Dummy already. - Balances::make_free_balance_be(&Treasury::account_id(), 101); - // approve spend of some amount to beneficiary `6`. - assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); - assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); - assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); - assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); - assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(11), 10, 6)); - assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(12), 20, 6)); - assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(13), 50, 6)); - // free balance of `6` is zero, spend period has not passed. - >::on_initialize(1); - assert_eq!(Balances::free_balance(6), 0); - // free balance of `6` is `100`, spend period has passed. - >::on_initialize(2); - assert_eq!(Balances::free_balance(6), 100); - // `100` spent, `1` burned. - assert_eq!(Treasury::pot(), 0); - }); -} - -#[test] -fn minting_works() { - ExtBuilder::default().build().execute_with(|| { - // Check that accumulate works when we have Some value in Dummy already. - Balances::make_free_balance_be(&Treasury::account_id(), 101); - assert_eq!(Treasury::pot(), 100); - }); -} - -#[test] -fn spend_proposal_takes_min_deposit() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) - }); - assert_eq!(Balances::free_balance(0), 99); - assert_eq!(Balances::reserved_balance(0), 1); - }); -} - -#[test] -fn spend_proposal_takes_proportional_deposit() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) - }); - assert_eq!(Balances::free_balance(0), 95); - assert_eq!(Balances::reserved_balance(0), 5); - }); -} - -#[test] -fn spend_proposal_fails_when_proposer_poor() { - ExtBuilder::default().build().execute_with(|| { - assert_noop!( - { - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(2), 100, 3) - }, - Error::::InsufficientProposersBalance, - ); - }); -} - -#[test] -fn accepted_spend_proposal_ignored_outside_spend_period() { - ExtBuilder::default().build().execute_with(|| { - Balances::make_free_balance_be(&Treasury::account_id(), 101); - - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) - }); - assert_ok!({ - #[allow(deprecated)] - Treasury::approve_proposal(RuntimeOrigin::root(), 0) - }); - - >::on_initialize(1); - assert_eq!(Balances::free_balance(3), 0); - assert_eq!(Treasury::pot(), 100); - }); -} - -#[test] -fn unused_pot_should_diminish() { - ExtBuilder::default().build().execute_with(|| { - let init_total_issuance = Balances::total_issuance(); - Balances::make_free_balance_be(&Treasury::account_id(), 101); - assert_eq!(Balances::total_issuance(), init_total_issuance + 100); - - >::on_initialize(2); - assert_eq!(Treasury::pot(), 50); - assert_eq!(Balances::total_issuance(), init_total_issuance + 50); - }); -} - -#[test] -fn rejected_spend_proposal_ignored_on_spend_period() { - ExtBuilder::default().build().execute_with(|| { - Balances::make_free_balance_be(&Treasury::account_id(), 101); - - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) - }); - assert_ok!({ - #[allow(deprecated)] - Treasury::reject_proposal(RuntimeOrigin::root(), 0) - }); - - >::on_initialize(2); - assert_eq!(Balances::free_balance(3), 0); - assert_eq!(Treasury::pot(), 50); - }); -} - -#[test] -fn reject_already_rejected_spend_proposal_fails() { - ExtBuilder::default().build().execute_with(|| { - Balances::make_free_balance_be(&Treasury::account_id(), 101); - - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) - }); - assert_ok!({ - #[allow(deprecated)] - Treasury::reject_proposal(RuntimeOrigin::root(), 0) - }); - assert_noop!( - { - #[allow(deprecated)] - Treasury::reject_proposal(RuntimeOrigin::root(), 0) - }, - Error::::InvalidIndex - ); - }); -} - -#[test] -fn reject_non_existent_spend_proposal_fails() { - ExtBuilder::default().build().execute_with(|| { - assert_noop!( - { - #[allow(deprecated)] - Treasury::reject_proposal(RuntimeOrigin::root(), 0) - }, - Error::::InvalidIndex - ); - }); -} - -#[test] -fn accept_non_existent_spend_proposal_fails() { - ExtBuilder::default().build().execute_with(|| { - assert_noop!( - { - #[allow(deprecated)] - Treasury::approve_proposal(RuntimeOrigin::root(), 0) - }, - Error::::InvalidIndex - ); - }); -} - -#[test] -fn accept_already_rejected_spend_proposal_fails() { - ExtBuilder::default().build().execute_with(|| { - Balances::make_free_balance_be(&Treasury::account_id(), 101); - - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) - }); - assert_ok!({ - #[allow(deprecated)] - Treasury::reject_proposal(RuntimeOrigin::root(), 0) - }); - assert_noop!( - { - #[allow(deprecated)] - Treasury::approve_proposal(RuntimeOrigin::root(), 0) - }, - Error::::InvalidIndex - ); - }); -} - -#[test] -fn accepted_spend_proposal_enacted_on_spend_period() { - ExtBuilder::default().build().execute_with(|| { - Balances::make_free_balance_be(&Treasury::account_id(), 101); - assert_eq!(Treasury::pot(), 100); - - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) - }); - assert_ok!({ - #[allow(deprecated)] - Treasury::approve_proposal(RuntimeOrigin::root(), 0) - }); - - >::on_initialize(2); - assert_eq!(Balances::free_balance(3), 100); - assert_eq!(Treasury::pot(), 0); - }); -} - -#[test] -fn pot_underflow_should_not_diminish() { - ExtBuilder::default().build().execute_with(|| { - Balances::make_free_balance_be(&Treasury::account_id(), 101); - assert_eq!(Treasury::pot(), 100); - - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 150, 3) - }); - assert_ok!({ - #[allow(deprecated)] - Treasury::approve_proposal(RuntimeOrigin::root(), 0) - }); - - >::on_initialize(2); - assert_eq!(Treasury::pot(), 100); // Pot hasn't changed - - let _ = Balances::deposit_into_existing(&Treasury::account_id(), 100).unwrap(); - >::on_initialize(4); - assert_eq!(Balances::free_balance(3), 150); // Fund has been spent - assert_eq!(Treasury::pot(), 25); // Pot has finally changed - }); -} - -// Treasury account doesn't get deleted if amount approved to spend is all its free balance. -// i.e. pot should not include existential deposit needed for account survival. -#[test] -fn treasury_account_doesnt_get_deleted() { - ExtBuilder::default().build().execute_with(|| { - Balances::make_free_balance_be(&Treasury::account_id(), 101); - assert_eq!(Treasury::pot(), 100); - let treasury_balance = Balances::free_balance(&Treasury::account_id()); - - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), treasury_balance, 3) - }); - assert_ok!({ - #[allow(deprecated)] - Treasury::approve_proposal(RuntimeOrigin::root(), 0) - }); - - >::on_initialize(2); - assert_eq!(Treasury::pot(), 100); // Pot hasn't changed - - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), Treasury::pot(), 3) - }); - assert_ok!({ - #[allow(deprecated)] - Treasury::approve_proposal(RuntimeOrigin::root(), 1) - }); - - >::on_initialize(4); - assert_eq!(Treasury::pot(), 0); // Pot is emptied - assert_eq!(Balances::free_balance(Treasury::account_id()), 1); // but the account is still there - }); -} - -// In case treasury account is not existing then it works fine. -// This is useful for chain that will just update runtime. -#[test] -fn inexistent_account_works() { - let mut t = frame_system::GenesisConfig::::default() - .build_storage() - .unwrap(); - pallet_balances::GenesisConfig:: { - balances: vec![(0, 100), (1, 99), (2, 1)], - } - .assimilate_storage(&mut t) - .unwrap(); - // Treasury genesis config is not build thus treasury account does not exist - let mut t: sp_io::TestExternalities = t.into(); - - t.execute_with(|| { - assert_eq!(Balances::free_balance(Treasury::account_id()), 0); // Account does not exist - assert_eq!(Treasury::pot(), 0); // Pot is empty - - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 99, 3) - }); - assert_ok!({ - #[allow(deprecated)] - Treasury::approve_proposal(RuntimeOrigin::root(), 0) - }); - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) - }); - assert_ok!({ - #[allow(deprecated)] - Treasury::approve_proposal(RuntimeOrigin::root(), 1) - }); - >::on_initialize(2); - assert_eq!(Treasury::pot(), 0); // Pot hasn't changed - assert_eq!(Balances::free_balance(3), 0); // Balance of `3` hasn't changed - - Balances::make_free_balance_be(&Treasury::account_id(), 100); - assert_eq!(Treasury::pot(), 99); // Pot now contains funds - assert_eq!(Balances::free_balance(Treasury::account_id()), 100); // Account does exist - - >::on_initialize(4); - - assert_eq!(Treasury::pot(), 0); // Pot has changed - assert_eq!(Balances::free_balance(3), 99); // Balance of `3` has changed - }); -} - -#[test] -fn genesis_funding_works() { - let mut t = frame_system::GenesisConfig::::default() - .build_storage() - .unwrap(); - let initial_funding = 100; - pallet_balances::GenesisConfig:: { - // Total issuance will be 200 with treasury account initialized with 100. - balances: vec![(0, 100), (Treasury::account_id(), initial_funding)], - } - .assimilate_storage(&mut t) - .unwrap(); - crate::GenesisConfig::::default() - .assimilate_storage(&mut t) - .unwrap(); - let mut t: sp_io::TestExternalities = t.into(); - - t.execute_with(|| { - assert_eq!( - Balances::free_balance(Treasury::account_id()), - initial_funding - ); - assert_eq!( - Treasury::pot(), - initial_funding - Balances::minimum_balance() - ); - }); -} - -#[test] -fn max_approvals_limited() { - ExtBuilder::default().build().execute_with(|| { - Balances::make_free_balance_be(&Treasury::account_id(), u64::MAX); - Balances::make_free_balance_be(&0, u64::MAX); - - for _ in 0..::MaxApprovals::get() { - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) - }); - assert_ok!({ - #[allow(deprecated)] - Treasury::approve_proposal(RuntimeOrigin::root(), 0) - }); - } - - // One too many will fail - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) - }); - assert_noop!( - { - #[allow(deprecated)] - Treasury::approve_proposal(RuntimeOrigin::root(), 0) - }, - Error::::TooManyApprovals - ); - }); -} - -#[test] -fn remove_already_removed_approval_fails() { - ExtBuilder::default().build().execute_with(|| { - Balances::make_free_balance_be(&Treasury::account_id(), 101); - - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) - }); - assert_ok!({ - #[allow(deprecated)] - Treasury::approve_proposal(RuntimeOrigin::root(), 0) - }); - assert_eq!(Treasury::approvals(), vec![0]); - assert_ok!(Treasury::remove_approval(RuntimeOrigin::root(), 0)); - assert_eq!(Treasury::approvals(), vec![]); - - assert_noop!( - Treasury::remove_approval(RuntimeOrigin::root(), 0), - Error::::ProposalNotApproved - ); - }); -} - -#[test] -fn spending_local_in_batch_respects_max_total() { - ExtBuilder::default().build().execute_with(|| { - // Respect the `max_total` for the given origin. - assert_ok!(RuntimeCall::from(UtilityCall::batch_all { - calls: vec![ - RuntimeCall::from(TreasuryCall::spend_local { - amount: 2, - beneficiary: 100 - }), - RuntimeCall::from(TreasuryCall::spend_local { - amount: 2, - beneficiary: 101 - }) - ] - }) - .dispatch(RuntimeOrigin::signed(10))); - - assert_err_ignore_postinfo!( - RuntimeCall::from(UtilityCall::batch_all { - calls: vec![ - RuntimeCall::from(TreasuryCall::spend_local { - amount: 2, - beneficiary: 100 - }), - RuntimeCall::from(TreasuryCall::spend_local { - amount: 4, - beneficiary: 101 - }) - ] - }) - .dispatch(RuntimeOrigin::signed(10)), - Error::::InsufficientPermission - ); - }) -} - -#[test] -fn spending_in_batch_respects_max_total() { - ExtBuilder::default().build().execute_with(|| { - // Respect the `max_total` for the given origin. - assert_ok!(RuntimeCall::from(UtilityCall::batch_all { - calls: vec![ - RuntimeCall::from(TreasuryCall::spend { - asset_kind: Box::new(1), - amount: 1, - beneficiary: Box::new(100), - valid_from: None, - }), - RuntimeCall::from(TreasuryCall::spend { - asset_kind: Box::new(1), - amount: 1, - beneficiary: Box::new(101), - valid_from: None, - }) - ] - }) - .dispatch(RuntimeOrigin::signed(10))); - - assert_err_ignore_postinfo!( - RuntimeCall::from(UtilityCall::batch_all { - calls: vec![ - RuntimeCall::from(TreasuryCall::spend { - asset_kind: Box::new(1), - amount: 2, - beneficiary: Box::new(100), - valid_from: None, - }), - RuntimeCall::from(TreasuryCall::spend { - asset_kind: Box::new(1), - amount: 2, - beneficiary: Box::new(101), - valid_from: None, - }) - ] - }) - .dispatch(RuntimeOrigin::signed(10)), - Error::::InsufficientPermission - ); - }) -} - -#[test] -fn spend_origin_works() { - ExtBuilder::default().build().execute_with(|| { - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 1, - Box::new(6), - None - )); - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - None - )); - assert_noop!( - Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 3, Box::new(6), None), - Error::::InsufficientPermission - ); - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(11), - Box::new(1), - 5, - Box::new(6), - None - )); - assert_noop!( - Treasury::spend(RuntimeOrigin::signed(11), Box::new(1), 6, Box::new(6), None), - Error::::InsufficientPermission - ); - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(12), - Box::new(1), - 10, - Box::new(6), - None - )); - assert_noop!( - Treasury::spend( - RuntimeOrigin::signed(12), - Box::new(1), - 11, - Box::new(6), - None - ), - Error::::InsufficientPermission - ); - - assert_eq!(SpendCount::::get(), 4); - assert_eq!(Spends::::iter().count(), 4); - }); -} - -#[test] -fn spend_works() { - ExtBuilder::default().build().execute_with(|| { - System::set_block_number(1); - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - None - )); - - assert_eq!(SpendCount::::get(), 1); - assert_eq!( - Spends::::get(0).unwrap(), - SpendStatus { - asset_kind: 1, - amount: 2, - beneficiary: 6, - valid_from: 1, - expire_at: 6, - status: PaymentState::Pending, - } - ); - System::assert_last_event( - Event::::AssetSpendApproved { - index: 0, - asset_kind: 1, - amount: 2, - beneficiary: 6, - valid_from: 1, - expire_at: 6, - } - .into(), - ); - }); -} - -#[test] -fn spend_expires() { - ExtBuilder::default().build().execute_with(|| { - assert_eq!(::PayoutPeriod::get(), 5); - - // spend `0` expires in 5 blocks after the creating. - System::set_block_number(1); - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - None - )); - System::set_block_number(6); - assert_noop!( - Treasury::payout(RuntimeOrigin::signed(1), 0), - Error::::SpendExpired - ); - - // spend cannot be approved since its already expired. - assert_noop!( - Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - Some(0) - ), - Error::::SpendExpired - ); - }); -} - -#[docify::export] -#[test] -fn spend_payout_works() { - ExtBuilder::default().build().execute_with(|| { - System::set_block_number(1); - // approve a `2` coins spend of asset `1` to beneficiary `6`, the spend valid from now. - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - None - )); - // payout the spend. - assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); - // beneficiary received `2` coins of asset `1`. - assert_eq!(paid(6, 1), 2); - assert_eq!(SpendCount::::get(), 1); - let payment_id = get_payment_id(0).expect("no payment attempt"); - System::assert_last_event( - Event::::Paid { - index: 0, - payment_id, - } - .into(), - ); - set_status(payment_id, PaymentStatus::Success); - // the payment succeed. - assert_ok!(Treasury::check_status(RuntimeOrigin::signed(1), 0)); - System::assert_last_event(Event::::SpendProcessed { index: 0 }.into()); - // cannot payout the same spend twice. - assert_noop!( - Treasury::payout(RuntimeOrigin::signed(1), 0), - Error::::InvalidIndex - ); - }); -} - -#[test] -fn payout_retry_works() { - ExtBuilder::default().build().execute_with(|| { - System::set_block_number(1); - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - None - )); - assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); - assert_eq!(paid(6, 1), 2); - let payment_id = get_payment_id(0).expect("no payment attempt"); - // spend payment is failed - set_status(payment_id, PaymentStatus::Failure); - unpay(6, 1, 2); - // cannot payout a spend in the attempted state - assert_noop!( - Treasury::payout(RuntimeOrigin::signed(1), 0), - Error::::AlreadyAttempted - ); - // check status and update it to retry the payout again - assert_ok!(Treasury::check_status(RuntimeOrigin::signed(1), 0)); - System::assert_last_event( - Event::::PaymentFailed { - index: 0, - payment_id, - } - .into(), - ); - // the payout can be retried now - assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); - assert_eq!(paid(6, 1), 2); - }); -} - -#[test] -fn spend_valid_from_works() { - ExtBuilder::default().build().execute_with(|| { - assert_eq!(::PayoutPeriod::get(), 5); - System::set_block_number(1); - - // spend valid from block `2`. - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - Some(2) - )); - assert_noop!( - Treasury::payout(RuntimeOrigin::signed(1), 0), - Error::::EarlyPayout - ); - System::set_block_number(2); - assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); - - System::set_block_number(5); - // spend approved even if `valid_from` in the past since the payout period has not passed. - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - Some(4) - )); - // spend paid. - assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 1)); - }); -} - -#[test] -fn void_spend_works() { - ExtBuilder::default().build().execute_with(|| { - System::set_block_number(1); - // spend cannot be voided if already attempted. - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - Some(1) - )); - assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); - assert_noop!( - Treasury::void_spend(RuntimeOrigin::root(), 0), - Error::::AlreadyAttempted - ); - - // void spend. - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - Some(10) - )); - assert_ok!(Treasury::void_spend(RuntimeOrigin::root(), 1)); - assert_eq!(Spends::::get(1), None); - }); -} - -#[test] -fn check_status_works() { - ExtBuilder::default().build().execute_with(|| { - assert_eq!(::PayoutPeriod::get(), 5); - System::set_block_number(1); - - // spend `0` expired and can be removed. - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - None - )); - System::set_block_number(7); - let info = Treasury::check_status(RuntimeOrigin::signed(1), 0).unwrap(); - assert_eq!(info.pays_fee, Pays::No); - System::assert_last_event(Event::::SpendProcessed { index: 0 }.into()); - - // spend `1` payment failed and expired hence can be removed. - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - None - )); - assert_noop!( - Treasury::check_status(RuntimeOrigin::signed(1), 1), - Error::::NotAttempted - ); - assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 1)); - let payment_id = get_payment_id(1).expect("no payment attempt"); - set_status(payment_id, PaymentStatus::Failure); - // spend expired. - System::set_block_number(13); - let info = Treasury::check_status(RuntimeOrigin::signed(1), 1).unwrap(); - assert_eq!(info.pays_fee, Pays::Yes); - System::assert_last_event( - Event::::PaymentFailed { - index: 1, - payment_id, - } - .into(), - ); - let info = Treasury::check_status(RuntimeOrigin::signed(1), 1).unwrap(); - assert_eq!(info.pays_fee, Pays::No); - System::assert_last_event(Event::::SpendProcessed { index: 1 }.into()); - - // spend `2` payment succeed. - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - None - )); - assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 2)); - let payment_id = get_payment_id(2).expect("no payment attempt"); - set_status(payment_id, PaymentStatus::Success); - let info = Treasury::check_status(RuntimeOrigin::signed(1), 2).unwrap(); - assert_eq!(info.pays_fee, Pays::No); - System::assert_last_event(Event::::SpendProcessed { index: 2 }.into()); - - // spend `3` payment in process. - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - None - )); - assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 3)); - let payment_id = get_payment_id(3).expect("no payment attempt"); - set_status(payment_id, PaymentStatus::InProgress); - assert_noop!( - Treasury::check_status(RuntimeOrigin::signed(1), 3), - Error::::Inconclusive - ); - - // spend `4` removed since the payment status is unknown. - assert_ok!(Treasury::spend( - RuntimeOrigin::signed(10), - Box::new(1), - 2, - Box::new(6), - None - )); - assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 4)); - let payment_id = get_payment_id(4).expect("no payment attempt"); - set_status(payment_id, PaymentStatus::Unknown); - let info = Treasury::check_status(RuntimeOrigin::signed(1), 4).unwrap(); - assert_eq!(info.pays_fee, Pays::No); - System::assert_last_event(Event::::SpendProcessed { index: 4 }.into()); - }); -} - -#[test] -fn try_state_proposals_invariant_1_works() { - ExtBuilder::default().build().execute_with(|| { - use frame_support::pallet_prelude::DispatchError::Other; - // Add a proposal using `propose_spend` - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) - }); - assert_eq!(Proposals::::iter().count(), 1); - assert_eq!(ProposalCount::::get(), 1); - // Check invariant 1 holds - assert!(ProposalCount::::get() as usize >= Proposals::::iter().count()); - // Break invariant 1 by decreasing `ProposalCount` - ProposalCount::::put(0); - // Invariant 1 should be violated - assert_eq!( - Treasury::do_try_state(), - Err(Other("Actual number of proposals exceeds `ProposalCount`.")) - ); - }); -} - -#[test] -fn try_state_proposals_invariant_2_works() { - ExtBuilder::default().build().execute_with(|| { - use frame_support::pallet_prelude::DispatchError::Other; - // Add a proposal using `propose_spend` - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) - }); - assert_eq!(Proposals::::iter().count(), 1); - let current_proposal_count = ProposalCount::::get(); - assert_eq!(current_proposal_count, 1); - // Check invariant 2 holds - assert!( - Proposals::::iter_keys() - .all(|proposal_index| { - proposal_index < current_proposal_count - }) - ); - // Break invariant 2 by inserting the proposal under key = 1 - let proposal = Proposals::::take(0).unwrap(); - Proposals::::insert(1, proposal); - // Invariant 2 should be violated - assert_eq!( - Treasury::do_try_state(), - Err(Other("`ProposalCount` should by strictly greater than any ProposalIndex used as a key for `Proposals`.")) - ); - }); -} - -#[test] -fn try_state_proposals_invariant_3_works() { - ExtBuilder::default().build().execute_with(|| { - use frame_support::pallet_prelude::DispatchError::Other; - // Add a proposal using `propose_spend` - assert_ok!({ - #[allow(deprecated)] - Treasury::propose_spend(RuntimeOrigin::signed(0), 10, 3) - }); - assert_eq!(Proposals::::iter().count(), 1); - // Approve the proposal - assert_ok!({ - #[allow(deprecated)] - Treasury::approve_proposal(RuntimeOrigin::root(), 0) - }); - assert_eq!(Approvals::::get().len(), 1); - // Check invariant 3 holds - assert!(Approvals::::get() - .iter() - .all(|proposal_index| { Proposals::::contains_key(proposal_index) })); - // Break invariant 3 by adding another key to `Approvals` - let mut approvals_modified = Approvals::::get(); - approvals_modified.try_push(2).unwrap(); - Approvals::::put(approvals_modified); - // Invariant 3 should be violated - assert_eq!( - Treasury::do_try_state(), - Err(Other( - "Proposal indices in `Approvals` must also be contained in `Proposals`." - )) - ); - }); -} - -#[test] -fn try_state_spends_invariant_1_works() { - ExtBuilder::default().build().execute_with(|| { - use frame_support::pallet_prelude::DispatchError::Other; - // Propose and approve a spend - assert_ok!({ - Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 1, Box::new(6), None) - }); - assert_eq!(Spends::::iter().count(), 1); - assert_eq!(SpendCount::::get(), 1); - // Check invariant 1 holds - assert!(SpendCount::::get() as usize >= Spends::::iter().count()); - // Break invariant 1 by decreasing `SpendCount` - SpendCount::::put(0); - // Invariant 1 should be violated - assert_eq!( - Treasury::do_try_state(), - Err(Other("Actual number of spends exceeds `SpendCount`.")) - ); - }); -} - -#[test] -fn try_state_spends_invariant_2_works() { - ExtBuilder::default().build().execute_with(|| { - use frame_support::pallet_prelude::DispatchError::Other; - // Propose and approve a spend - assert_ok!({ - Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 1, Box::new(6), None) - }); - assert_eq!(Spends::::iter().count(), 1); - let current_spend_count = SpendCount::::get(); - assert_eq!(current_spend_count, 1); - // Check invariant 2 holds - assert!( - Spends::::iter_keys() - .all(|spend_index| { - spend_index < current_spend_count - }) - ); - // Break invariant 2 by inserting the spend under key = 1 - let spend = Spends::::take(0).unwrap(); - Spends::::insert(1, spend); - // Invariant 2 should be violated - assert_eq!( - Treasury::do_try_state(), - Err(Other("`SpendCount` should by strictly greater than any SpendIndex used as a key for `Spends`.")) - ); - }); -} - -#[test] -fn try_state_spends_invariant_3_works() { - ExtBuilder::default().build().execute_with(|| { - use frame_support::pallet_prelude::DispatchError::Other; - // Propose and approve a spend - assert_ok!({ - Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 1, Box::new(6), None) - }); - assert_eq!(Spends::::iter().count(), 1); - let current_spend_count = SpendCount::::get(); - assert_eq!(current_spend_count, 1); - // Check invariant 3 holds - assert!(Spends::::iter_values().all( - |SpendStatus { - valid_from, - expire_at, - .. - }| { valid_from < expire_at } - )); - // Break invariant 3 by reversing spend.expire_at and spend.valid_from - let spend = Spends::::take(0).unwrap(); - Spends::::insert( - 0, - SpendStatus { - valid_from: spend.expire_at, - expire_at: spend.valid_from, - ..spend - }, - ); - // Invariant 3 should be violated - assert_eq!( - Treasury::do_try_state(), - Err(Other("Spend cannot expire before it becomes valid.")) - ); - }); -} diff --git a/pallets/treasury/src/weights.rs b/pallets/treasury/src/weights.rs deleted file mode 100644 index 82277e2d2..000000000 --- a/pallets/treasury/src/weights.rs +++ /dev/null @@ -1,367 +0,0 @@ -// This file is part of Substrate. - -// Copyright (C) Parity Technologies (UK) Ltd. -// SPDX-License-Identifier: Apache-2.0 - -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -//! Autogenerated weights for `pallet_treasury` -//! -//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2024-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` -//! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `runner-anb7yjbi-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` -//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024` - -// Executed Command: -// ./target/production/substrate-node -// benchmark -// pallet -// --chain=dev -// --steps=50 -// --repeat=20 -// --pallet=pallet_treasury -// --no-storage-info -// --no-median-slopes -// --no-min-squares -// --extrinsic=* -// --wasm-execution=compiled -// --heap-pages=4096 -// --output=./substrate/frame/treasury/src/weights.rs -// --header=./substrate/HEADER-APACHE2 -// --template=./substrate/.maintain/frame-weight-template.hbs - -#![cfg_attr(rustfmt, rustfmt_skip)] -#![allow(unused_parens)] -#![allow(unused_imports)] -#![allow(missing_docs)] - -use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; -use core::marker::PhantomData; - -/// Weight functions needed for `pallet_treasury`. -pub trait WeightInfo { - fn spend_local() -> Weight; - fn propose_spend() -> Weight; - fn reject_proposal() -> Weight; - fn approve_proposal(p: u32, ) -> Weight; - fn remove_approval() -> Weight; - fn on_initialize_proposals(p: u32, ) -> Weight; - fn spend() -> Weight; - fn payout() -> Weight; - fn check_status() -> Weight; - fn void_spend() -> Weight; -} - -/// Weights for `pallet_treasury` using the Substrate node and recommended hardware. -pub struct SubstrateWeight(PhantomData); -impl WeightInfo for SubstrateWeight { - /// Storage: `Treasury::ProposalCount` (r:1 w:1) - /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Approvals` (r:1 w:1) - /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Proposals` (r:0 w:1) - /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) - fn spend_local() -> Weight { - // Proof Size summary in bytes: - // Measured: `76` - // Estimated: `1887` - // Minimum execution time: 11_910_000 picoseconds. - Weight::from_parts(12_681_000, 1887) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(3_u64)) - } - /// Storage: `Treasury::ProposalCount` (r:1 w:1) - /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Proposals` (r:0 w:1) - /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) - fn propose_spend() -> Weight { - // Proof Size summary in bytes: - // Measured: `177` - // Estimated: `1489` - // Minimum execution time: 24_704_000 picoseconds. - Weight::from_parts(25_484_000, 1489) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)) - } - /// Storage: `Treasury::Proposals` (r:1 w:1) - /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn reject_proposal() -> Weight { - // Proof Size summary in bytes: - // Measured: `335` - // Estimated: `3593` - // Minimum execution time: 26_632_000 picoseconds. - Weight::from_parts(27_325_000, 3593) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)) - } - /// Storage: `Treasury::Proposals` (r:1 w:0) - /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Approvals` (r:1 w:1) - /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) - /// The range of component `p` is `[0, 99]`. - fn approve_proposal(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `504 + p * (8 ±0)` - // Estimated: `3573` - // Minimum execution time: 8_436_000 picoseconds. - Weight::from_parts(11_268_438, 3573) - // Standard Error: 1_039 - .saturating_add(Weight::from_parts(70_903, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) - } - /// Storage: `Treasury::Approvals` (r:1 w:1) - /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) - fn remove_approval() -> Weight { - // Proof Size summary in bytes: - // Measured: `161` - // Estimated: `1887` - // Minimum execution time: 6_372_000 picoseconds. - Weight::from_parts(6_567_000, 1887) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) - } - /// Storage: `Treasury::Deactivated` (r:1 w:1) - /// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Approvals` (r:1 w:1) - /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Proposals` (r:99 w:99) - /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:198 w:198) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Bounties::BountyApprovals` (r:1 w:1) - /// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) - /// The range of component `p` is `[0, 99]`. - fn on_initialize_proposals(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `451 + p * (251 ±0)` - // Estimated: `1887 + p * (5206 ±0)` - // Minimum execution time: 33_150_000 picoseconds. - Weight::from_parts(41_451_020, 1887) - // Standard Error: 19_018 - .saturating_add(Weight::from_parts(34_410_759, 0).saturating_mul(p.into())) - .saturating_add(T::DbWeight::get().reads(3_u64)) - .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(p.into()))) - .saturating_add(T::DbWeight::get().writes(3_u64)) - .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(p.into()))) - .saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into())) - } - /// Storage: `AssetRate::ConversionRateToNative` (r:1 w:0) - /// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`) - /// Storage: `Treasury::SpendCount` (r:1 w:1) - /// Proof: `Treasury::SpendCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Spends` (r:0 w:1) - /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - fn spend() -> Weight { - // Proof Size summary in bytes: - // Measured: `140` - // Estimated: `3501` - // Minimum execution time: 14_233_000 picoseconds. - Weight::from_parts(14_842_000, 3501) - .saturating_add(T::DbWeight::get().reads(2_u64)) - .saturating_add(T::DbWeight::get().writes(2_u64)) - } - /// Storage: `Treasury::Spends` (r:1 w:1) - /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:2 w:2) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn payout() -> Weight { - // Proof Size summary in bytes: - // Measured: `709` - // Estimated: `6208` - // Minimum execution time: 58_857_000 picoseconds. - Weight::from_parts(61_291_000, 6208) - .saturating_add(T::DbWeight::get().reads(5_u64)) - .saturating_add(T::DbWeight::get().writes(5_u64)) - } - /// Storage: `Treasury::Spends` (r:1 w:1) - /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - fn check_status() -> Weight { - // Proof Size summary in bytes: - // Measured: `198` - // Estimated: `3538` - // Minimum execution time: 12_116_000 picoseconds. - Weight::from_parts(12_480_000, 3538) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) - } - /// Storage: `Treasury::Spends` (r:1 w:1) - /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - fn void_spend() -> Weight { - // Proof Size summary in bytes: - // Measured: `198` - // Estimated: `3538` - // Minimum execution time: 10_834_000 picoseconds. - Weight::from_parts(11_427_000, 3538) - .saturating_add(T::DbWeight::get().reads(1_u64)) - .saturating_add(T::DbWeight::get().writes(1_u64)) - } -} - -// For backwards compatibility and tests. -impl WeightInfo for () { - /// Storage: `Treasury::ProposalCount` (r:1 w:1) - /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Approvals` (r:1 w:1) - /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Proposals` (r:0 w:1) - /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) - fn spend_local() -> Weight { - // Proof Size summary in bytes: - // Measured: `76` - // Estimated: `1887` - // Minimum execution time: 11_910_000 picoseconds. - Weight::from_parts(12_681_000, 1887) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - } - /// Storage: `Treasury::ProposalCount` (r:1 w:1) - /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Proposals` (r:0 w:1) - /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) - fn propose_spend() -> Weight { - // Proof Size summary in bytes: - // Measured: `177` - // Estimated: `1489` - // Minimum execution time: 24_704_000 picoseconds. - Weight::from_parts(25_484_000, 1489) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) - } - /// Storage: `Treasury::Proposals` (r:1 w:1) - /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn reject_proposal() -> Weight { - // Proof Size summary in bytes: - // Measured: `335` - // Estimated: `3593` - // Minimum execution time: 26_632_000 picoseconds. - Weight::from_parts(27_325_000, 3593) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) - } - /// Storage: `Treasury::Proposals` (r:1 w:0) - /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Approvals` (r:1 w:1) - /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) - /// The range of component `p` is `[0, 99]`. - fn approve_proposal(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `504 + p * (8 ±0)` - // Estimated: `3573` - // Minimum execution time: 8_436_000 picoseconds. - Weight::from_parts(11_268_438, 3573) - // Standard Error: 1_039 - .saturating_add(Weight::from_parts(70_903, 0).saturating_mul(p.into())) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: `Treasury::Approvals` (r:1 w:1) - /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) - fn remove_approval() -> Weight { - // Proof Size summary in bytes: - // Measured: `161` - // Estimated: `1887` - // Minimum execution time: 6_372_000 picoseconds. - Weight::from_parts(6_567_000, 1887) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: `Treasury::Deactivated` (r:1 w:1) - /// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Approvals` (r:1 w:1) - /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Proposals` (r:99 w:99) - /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:198 w:198) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - /// Storage: `Bounties::BountyApprovals` (r:1 w:1) - /// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) - /// The range of component `p` is `[0, 99]`. - fn on_initialize_proposals(p: u32, ) -> Weight { - // Proof Size summary in bytes: - // Measured: `451 + p * (251 ±0)` - // Estimated: `1887 + p * (5206 ±0)` - // Minimum execution time: 33_150_000 picoseconds. - Weight::from_parts(41_451_020, 1887) - // Standard Error: 19_018 - .saturating_add(Weight::from_parts(34_410_759, 0).saturating_mul(p.into())) - .saturating_add(RocksDbWeight::get().reads(3_u64)) - .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(p.into()))) - .saturating_add(RocksDbWeight::get().writes(3_u64)) - .saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(p.into()))) - .saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into())) - } - /// Storage: `AssetRate::ConversionRateToNative` (r:1 w:0) - /// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`) - /// Storage: `Treasury::SpendCount` (r:1 w:1) - /// Proof: `Treasury::SpendCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) - /// Storage: `Treasury::Spends` (r:0 w:1) - /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - fn spend() -> Weight { - // Proof Size summary in bytes: - // Measured: `140` - // Estimated: `3501` - // Minimum execution time: 14_233_000 picoseconds. - Weight::from_parts(14_842_000, 3501) - .saturating_add(RocksDbWeight::get().reads(2_u64)) - .saturating_add(RocksDbWeight::get().writes(2_u64)) - } - /// Storage: `Treasury::Spends` (r:1 w:1) - /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `Assets::Asset` (r:1 w:1) - /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) - /// Storage: `Assets::Account` (r:2 w:2) - /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) - fn payout() -> Weight { - // Proof Size summary in bytes: - // Measured: `709` - // Estimated: `6208` - // Minimum execution time: 58_857_000 picoseconds. - Weight::from_parts(61_291_000, 6208) - .saturating_add(RocksDbWeight::get().reads(5_u64)) - .saturating_add(RocksDbWeight::get().writes(5_u64)) - } - /// Storage: `Treasury::Spends` (r:1 w:1) - /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - fn check_status() -> Weight { - // Proof Size summary in bytes: - // Measured: `198` - // Estimated: `3538` - // Minimum execution time: 12_116_000 picoseconds. - Weight::from_parts(12_480_000, 3538) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } - /// Storage: `Treasury::Spends` (r:1 w:1) - /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - fn void_spend() -> Weight { - // Proof Size summary in bytes: - // Measured: `198` - // Estimated: `3538` - // Minimum execution time: 10_834_000 picoseconds. - Weight::from_parts(11_427_000, 3538) - .saturating_add(RocksDbWeight::get().reads(1_u64)) - .saturating_add(RocksDbWeight::get().writes(1_u64)) - } -} diff --git a/vendor/README.md b/vendor/README.md index cf93add6c..e0a93ed46 100644 --- a/vendor/README.md +++ b/vendor/README.md @@ -13,19 +13,19 @@ introduce any unintentional changes without being aware of them. ## Package list -| Directory | Package name | Origin | -|------------------------------------|--------------------------------|-----------------------------------------------| -| evm-tracing | moonbeam-client-evm-tracing | ${moonbeam}/client/evm-tracing | -| rpc/debug | moonbeam-rpc-debug | ${moonbeam}/client/rpc/debug | -| rpc/trace | moonbeam-rpc-trace | ${moonbeam}/client/rpc/trace | -| rpc/txpool | moonbeam-rpc-txpool | ${moonbeam}/client/rpc/txpool | -| rpc-core/types | moonbeam-rpc-core-types | ${moonbeam}/client/rpc-core/types | -| rpc-core/debug | moonbeam-rpc-core-debug | ${moonbeam}/client/rpc-core/debug | -| rpc-core/trace | moonbeam-rpc-core-trace | ${moonbeam}/client/rpc-core/trace | -| rpc-core/txpool | moonbeam-rpc-core-txpool | ${moonbeam}/client/rpc-core/txpool | -| runtime/evm_tracer | moonbeam-evm-tracer | ${moonbeam}/runtime/evm_tracer | -| runtime/ext | moonbeam-primitives-ext | ${moonbeam}/primitives/ext | -| primitives/evm-tracing-events | evm-tracing-events | ${moonbeam}/primitives/rpc/evm-tracing-events | -| primitives/debug | moonbeam-rpc-primitives-debug | ${moonbeam}/primitives/rpc/debug | -| primitives/txpool | moonbeam-rpc-primitives-txpool | ${moonbeam}/primitives/rpc/txpool | - +| Directory | Package name | Origin | +|-------------------------------|--------------------------------|-----------------------------------------------| +| evm-tracing | moonbeam-client-evm-tracing | ${moonbeam}/client/evm-tracing | +| rpc/debug | moonbeam-rpc-debug | ${moonbeam}/client/rpc/debug | +| rpc/trace | moonbeam-rpc-trace | ${moonbeam}/client/rpc/trace | +| rpc/txpool | moonbeam-rpc-txpool | ${moonbeam}/client/rpc/txpool | +| rpc-core/types | moonbeam-rpc-core-types | ${moonbeam}/client/rpc-core/types | +| rpc-core/debug | moonbeam-rpc-core-debug | ${moonbeam}/client/rpc-core/debug | +| rpc-core/trace | moonbeam-rpc-core-trace | ${moonbeam}/client/rpc-core/trace | +| rpc-core/txpool | moonbeam-rpc-core-txpool | ${moonbeam}/client/rpc-core/txpool | +| runtime/evm_tracer | moonbeam-evm-tracer | ${moonbeam}/runtime/evm_tracer | +| runtime/ext | moonbeam-primitives-ext | ${moonbeam}/primitives/ext | +| primitives/evm-tracing-events | evm-tracing-events | ${moonbeam}/primitives/rpc/evm-tracing-events | +| primitives/debug | moonbeam-rpc-primitives-debug | ${moonbeam}/primitives/rpc/debug | +| primitives/txpool | moonbeam-rpc-primitives-txpool | ${moonbeam}/primitives/rpc/txpool | +| treasury | pallet-treasury | ${polkadot-sdk}/substrate/frame/treasury | From 08a24df29be61c52671e24775bf2fea48ceca79a Mon Sep 17 00:00:00 2001 From: vedhavyas Date: Tue, 22 Oct 2024 21:42:44 +0530 Subject: [PATCH 11/12] include ingnore treasury pallet --- vendor/treasury/Cargo.toml | 59 ++ vendor/treasury/README.md | 47 + vendor/treasury/src/benchmarking.rs | 426 +++++++++ vendor/treasury/src/lib.rs | 1187 ++++++++++++++++++++++++ vendor/treasury/src/tests.rs | 1321 +++++++++++++++++++++++++++ vendor/treasury/src/weights.rs | 367 ++++++++ 6 files changed, 3407 insertions(+) create mode 100644 vendor/treasury/Cargo.toml create mode 100644 vendor/treasury/README.md create mode 100644 vendor/treasury/src/benchmarking.rs create mode 100644 vendor/treasury/src/lib.rs create mode 100644 vendor/treasury/src/tests.rs create mode 100644 vendor/treasury/src/weights.rs diff --git a/vendor/treasury/Cargo.toml b/vendor/treasury/Cargo.toml new file mode 100644 index 000000000..e60c43416 --- /dev/null +++ b/vendor/treasury/Cargo.toml @@ -0,0 +1,59 @@ +[package] +name = "pallet-treasury" +version = "36.0.1" +authors = ["Parity Technologies "] +edition = "2021" +homepage = "https://paritytech.github.io/polkadot-sdk/" +license = "GPL-3.0-only" +repository = "https://github.com/paritytech/polkadot-sdk.git" +description = "FRAME pallet to manage treasury (polkadot v1.15.0)" +readme = "README.md" + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + +[dependencies] +docify = { workspace = true } +frame-benchmarking = { optional = true, workspace = true } +frame-support.workspace = true +frame-system.workspace = true +impl-trait-for-tuples = { workspace = true } +pallet-balances.workspace = true +parity-scale-codec = { features = ["derive", "max-encoded-len"], workspace = true } +scale-info = { features = ["derive"], workspace = true } +serde = { features = ["derive"], optional = true, workspace = true, default-features = true } +sp-core = { optional = true, workspace = true } +sp-runtime.workspace = true + +[dev-dependencies] +pallet-utility = { workspace = true } +sp-core = { workspace = true } +sp-io = { workspace = true } + +[features] +default = ["std"] +std = [ + "parity-scale-codec/std", + "frame-benchmarking?/std", + "frame-support/std", + "frame-system/std", + "pallet-balances/std", + "scale-info/std", + "serde", + "sp-core?/std", + "sp-runtime/std", +] +runtime-benchmarks = [ + "dep:sp-core", + "frame-benchmarking/runtime-benchmarks", + "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks", + "pallet-balances/runtime-benchmarks", + "sp-runtime/runtime-benchmarks", +] +try-runtime = [ + "frame-support/try-runtime", + "frame-system/try-runtime", + "pallet-balances/try-runtime", + "sp-runtime/try-runtime", +] diff --git a/vendor/treasury/README.md b/vendor/treasury/README.md new file mode 100644 index 000000000..48fd1e269 --- /dev/null +++ b/vendor/treasury/README.md @@ -0,0 +1,47 @@ +# Treasury Pallet + +The Treasury pallet provides a "pot" of funds that can be managed by stakeholders in the system and +a structure for making spending proposals from this pot. + +## Overview + +The Treasury Pallet itself provides the pot to store funds, and a means for stakeholders to propose, +approve, and deny expenditures. The chain will need to provide a method (e.g.inflation, fees) for +collecting funds. + +By way of example, the Council could vote to fund the Treasury with a portion of the block reward +and use the funds to pay developers. + +### Terminology + +- **Proposal:** A suggestion to allocate funds from the pot to a beneficiary. +- **Beneficiary:** An account who will receive the funds from a proposal if the proposal is + approved. +- **Deposit:** Funds that a proposer must lock when making a proposal. The deposit will be returned + or slashed if the proposal is approved or rejected respectively. +- **Pot:** Unspent funds accumulated by the treasury pallet. + +## Interface + +### Dispatchable Functions + +General spending/proposal protocol: +- `spend_local` - Propose and approve a spend of treasury funds, enables the + creation of spends using the native currency of the chain, utilizing the funds + stored in the pot +- `spend` - Propose and approve a spend of treasury funds, allows spending any + asset kind managed by the treasury +- `remove_approval` - Force a previously approved proposal to be removed from + the approval queue +- `payout` - Claim a spend +- `check_status` - Check the status of the spend and remove it from the storage + if processed +- `void_spend` - Void previously approved spend + + +## Release + +polkadot v1.15.0 +- `propose_spend` - Make a spending proposal and stake the required deposit. +- `reject_proposal` - Reject a proposal, slashing the deposit. +- `approve_proposal` - Accept the proposal, returning the deposit. diff --git a/vendor/treasury/src/benchmarking.rs b/vendor/treasury/src/benchmarking.rs new file mode 100644 index 000000000..2a8b080d3 --- /dev/null +++ b/vendor/treasury/src/benchmarking.rs @@ -0,0 +1,426 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Treasury pallet benchmarking. + +#![cfg(feature = "runtime-benchmarks")] + +use super::{Pallet as Treasury, *}; + +use frame_benchmarking::{ + v1::{account, BenchmarkError}, + v2::*, +}; +use frame_support::{ + assert_err, assert_ok, ensure, + traits::{ + tokens::{ConversionFromAssetBalance, PaymentStatus}, + EnsureOrigin, OnInitialize, + }, +}; +use frame_system::RawOrigin; +use sp_core::crypto::FromEntropy; + +/// Trait describing factory functions for dispatchables' parameters. +pub trait ArgumentsFactory { + /// Factory function for an asset kind. + fn create_asset_kind(seed: u32) -> AssetKind; + /// Factory function for a beneficiary. + fn create_beneficiary(seed: [u8; 32]) -> Beneficiary; +} + +/// Implementation that expects the parameters implement the [`FromEntropy`] trait. +impl ArgumentsFactory for () +where + AssetKind: FromEntropy, + Beneficiary: FromEntropy, +{ + fn create_asset_kind(seed: u32) -> AssetKind { + AssetKind::from_entropy(&mut seed.encode().as_slice()).unwrap() + } + fn create_beneficiary(seed: [u8; 32]) -> Beneficiary { + Beneficiary::from_entropy(&mut seed.as_slice()).unwrap() + } +} + +const SEED: u32 = 0; + +// Create the pre-requisite information needed to create a treasury `propose_spend`. +fn setup_proposal, I: 'static>( + u: u32, +) -> (T::AccountId, BalanceOf, AccountIdLookupOf) { + let caller = account("caller", u, SEED); + let value: BalanceOf = T::ProposalBondMinimum::get().saturating_mul(100u32.into()); + let _ = T::Currency::make_free_balance_be(&caller, value); + let beneficiary = account("beneficiary", u, SEED); + let beneficiary_lookup = T::Lookup::unlookup(beneficiary); + (caller, value, beneficiary_lookup) +} + +// Create proposals that are approved for use in `on_initialize`. +fn create_approved_proposals, I: 'static>(n: u32) -> Result<(), &'static str> { + for i in 0..n { + let (caller, value, lookup) = setup_proposal::(i); + #[allow(deprecated)] + Treasury::::propose_spend(RawOrigin::Signed(caller).into(), value, lookup)?; + let proposal_id = >::get() - 1; + Approvals::::try_append(proposal_id).unwrap(); + } + + ensure!( + Approvals::::get().len() == n as usize, + "Not all approved" + ); + + Ok(()) +} + +fn setup_pot_account, I: 'static>() { + let pot_account = Treasury::::account_id(); + let value = T::Currency::minimum_balance().saturating_mul(1_000_000_000u32.into()); + let _ = T::Currency::make_free_balance_be(&pot_account, value); +} + +fn assert_last_event, I: 'static>(generic_event: >::RuntimeEvent) { + frame_system::Pallet::::assert_last_event(generic_event.into()); +} + +// Create the arguments for the `spend` dispatchable. +fn create_spend_arguments, I: 'static>( + seed: u32, +) -> ( + T::AssetKind, + AssetBalanceOf, + T::Beneficiary, + BeneficiaryLookupOf, +) { + let asset_kind = T::BenchmarkHelper::create_asset_kind(seed); + let beneficiary = T::BenchmarkHelper::create_beneficiary([seed.try_into().unwrap(); 32]); + let beneficiary_lookup = T::BeneficiaryLookup::unlookup(beneficiary.clone()); + (asset_kind, 100u32.into(), beneficiary, beneficiary_lookup) +} + +#[instance_benchmarks] +mod benchmarks { + use super::*; + + /// This benchmark is short-circuited if `SpendOrigin` cannot provide + /// a successful origin, in which case `spend` is un-callable and can use weight=0. + #[benchmark] + fn spend_local() -> Result<(), BenchmarkError> { + let (_, value, beneficiary_lookup) = setup_proposal::(SEED); + let origin = + T::SpendOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + let beneficiary = T::Lookup::lookup(beneficiary_lookup.clone()).unwrap(); + + #[extrinsic_call] + _(origin as T::RuntimeOrigin, value, beneficiary_lookup); + + assert_last_event::( + Event::SpendApproved { + proposal_index: 0, + amount: value, + beneficiary, + } + .into(), + ); + Ok(()) + } + + #[benchmark] + fn propose_spend() -> Result<(), BenchmarkError> { + let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); + // Whitelist caller account from further DB operations. + let caller_key = frame_system::Account::::hashed_key_for(&caller); + frame_benchmarking::benchmarking::add_to_whitelist(caller_key.into()); + + #[extrinsic_call] + _(RawOrigin::Signed(caller), value, beneficiary_lookup); + + Ok(()) + } + + #[benchmark] + fn reject_proposal() -> Result<(), BenchmarkError> { + let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); + #[allow(deprecated)] + Treasury::::propose_spend( + RawOrigin::Signed(caller).into(), + value, + beneficiary_lookup, + )?; + let proposal_id = Treasury::::proposal_count() - 1; + let reject_origin = + T::RejectOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + #[extrinsic_call] + _(reject_origin as T::RuntimeOrigin, proposal_id); + Ok(()) + } + + #[benchmark] + fn approve_proposal( + p: Linear<0, { T::MaxApprovals::get() - 1 }>, + ) -> Result<(), BenchmarkError> { + let approve_origin = + T::ApproveOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + create_approved_proposals::(p)?; + let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); + #[allow(deprecated)] + Treasury::::propose_spend( + RawOrigin::Signed(caller).into(), + value, + beneficiary_lookup, + )?; + let proposal_id = Treasury::::proposal_count() - 1; + + #[extrinsic_call] + _(approve_origin as T::RuntimeOrigin, proposal_id); + + Ok(()) + } + + #[benchmark] + fn remove_approval() -> Result<(), BenchmarkError> { + let (caller, value, beneficiary_lookup) = setup_proposal::(SEED); + #[allow(deprecated)] + Treasury::::propose_spend( + RawOrigin::Signed(caller).into(), + value, + beneficiary_lookup, + )?; + let proposal_id = Treasury::::proposal_count() - 1; + Approvals::::try_append(proposal_id).unwrap(); + let reject_origin = + T::RejectOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + + #[extrinsic_call] + _(reject_origin as T::RuntimeOrigin, proposal_id); + + Ok(()) + } + + #[benchmark] + fn on_initialize_proposals( + p: Linear<0, { T::MaxApprovals::get() - 1 }>, + ) -> Result<(), BenchmarkError> { + setup_pot_account::(); + create_approved_proposals::(p)?; + + #[block] + { + Treasury::::on_initialize(0u32.into()); + } + + Ok(()) + } + + /// This benchmark is short-circuited if `SpendOrigin` cannot provide + /// a successful origin, in which case `spend` is un-callable and can use weight=0. + #[benchmark] + fn spend() -> Result<(), BenchmarkError> { + let origin = + T::SpendOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + let (asset_kind, amount, beneficiary, beneficiary_lookup) = + create_spend_arguments::(SEED); + T::BalanceConverter::ensure_successful(asset_kind.clone()); + + #[extrinsic_call] + _( + origin as T::RuntimeOrigin, + Box::new(asset_kind.clone()), + amount, + Box::new(beneficiary_lookup), + None, + ); + + let valid_from = frame_system::Pallet::::block_number(); + let expire_at = valid_from.saturating_add(T::PayoutPeriod::get()); + assert_last_event::( + Event::AssetSpendApproved { + index: 0, + asset_kind, + amount, + beneficiary, + valid_from, + expire_at, + } + .into(), + ); + Ok(()) + } + + #[benchmark] + fn payout() -> Result<(), BenchmarkError> { + let (asset_kind, amount, beneficiary, beneficiary_lookup) = + create_spend_arguments::(SEED); + T::BalanceConverter::ensure_successful(asset_kind.clone()); + + let spend_exists = if let Ok(origin) = T::SpendOrigin::try_successful_origin() { + Treasury::::spend( + origin, + Box::new(asset_kind.clone()), + amount, + Box::new(beneficiary_lookup), + None, + )?; + + true + } else { + false + }; + + T::Paymaster::ensure_successful(&beneficiary, asset_kind, amount); + let caller: T::AccountId = account("caller", 0, SEED); + + #[block] + { + let res = Treasury::::payout(RawOrigin::Signed(caller.clone()).into(), 0u32); + + if spend_exists { + assert_ok!(res); + } else { + assert_err!(res, crate::Error::::InvalidIndex); + } + } + + if spend_exists { + let id = match Spends::::get(0).unwrap().status { + PaymentState::Attempted { id, .. } => { + assert_ne!(T::Paymaster::check_payment(id), PaymentStatus::Failure); + id + } + _ => panic!("No payout attempt made"), + }; + assert_last_event::( + Event::Paid { + index: 0, + payment_id: id, + } + .into(), + ); + assert!(Treasury::::payout(RawOrigin::Signed(caller).into(), 0u32).is_err()); + } + + Ok(()) + } + + #[benchmark] + fn check_status() -> Result<(), BenchmarkError> { + let (asset_kind, amount, beneficiary, beneficiary_lookup) = + create_spend_arguments::(SEED); + + T::BalanceConverter::ensure_successful(asset_kind.clone()); + T::Paymaster::ensure_successful(&beneficiary, asset_kind.clone(), amount); + let caller: T::AccountId = account("caller", 0, SEED); + + let spend_exists = if let Ok(origin) = T::SpendOrigin::try_successful_origin() { + Treasury::::spend( + origin, + Box::new(asset_kind), + amount, + Box::new(beneficiary_lookup), + None, + )?; + + Treasury::::payout(RawOrigin::Signed(caller.clone()).into(), 0u32)?; + match Spends::::get(0).unwrap().status { + PaymentState::Attempted { id, .. } => { + T::Paymaster::ensure_concluded(id); + } + _ => panic!("No payout attempt made"), + }; + + true + } else { + false + }; + + #[block] + { + let res = + Treasury::::check_status(RawOrigin::Signed(caller.clone()).into(), 0u32); + + if spend_exists { + assert_ok!(res); + } else { + assert_err!(res, crate::Error::::InvalidIndex); + } + } + + if let Some(s) = Spends::::get(0) { + assert!(!matches!(s.status, PaymentState::Attempted { .. })); + } + + Ok(()) + } + + #[benchmark] + fn void_spend() -> Result<(), BenchmarkError> { + let (asset_kind, amount, _, beneficiary_lookup) = create_spend_arguments::(SEED); + T::BalanceConverter::ensure_successful(asset_kind.clone()); + let spend_exists = if let Ok(origin) = T::SpendOrigin::try_successful_origin() { + Treasury::::spend( + origin, + Box::new(asset_kind.clone()), + amount, + Box::new(beneficiary_lookup), + None, + )?; + assert!(Spends::::get(0).is_some()); + + true + } else { + false + }; + + let origin = + T::RejectOrigin::try_successful_origin().map_err(|_| BenchmarkError::Weightless)?; + + #[block] + { + let res = Treasury::::void_spend(origin as T::RuntimeOrigin, 0u32); + + if spend_exists { + assert_ok!(res); + } else { + assert_err!(res, crate::Error::::InvalidIndex); + } + } + + assert!(Spends::::get(0).is_none()); + Ok(()) + } + + impl_benchmark_test_suite!( + Treasury, + crate::tests::ExtBuilder::default().build(), + crate::tests::Test + ); + + mod no_spend_origin_tests { + use super::*; + + impl_benchmark_test_suite!( + Treasury, + crate::tests::ExtBuilder::default() + .spend_origin_succesful_origin_err() + .build(), + crate::tests::Test, + benchmarks_path = benchmarking + ); + } +} diff --git a/vendor/treasury/src/lib.rs b/vendor/treasury/src/lib.rs new file mode 100644 index 000000000..fcf99f718 --- /dev/null +++ b/vendor/treasury/src/lib.rs @@ -0,0 +1,1187 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! > Made with *Substrate*, for *Polkadot*. +//! +//! [![github]](https://github.com/paritytech/substrate/frame/fast-unstake) - +//! [![polkadot]](https://polkadot.network) +//! +//! [polkadot]: https://img.shields.io/badge/polkadot-E6007A?style=for-the-badge&logo=polkadot&logoColor=white +//! [github]: https://img.shields.io/badge/github-8da0cb?style=for-the-badge&labelColor=555555&logo=github +//! +//! # Treasury Pallet +//! +//! The Treasury pallet provides a "pot" of funds that can be managed by stakeholders in the system +//! and a structure for making spending proposals from this pot. +//! +//! ## Overview +//! +//! The Treasury Pallet itself provides the pot to store funds, and a means for stakeholders to +//! propose and claim expenditures (aka spends). The chain will need to provide a method to approve +//! spends (e.g. public referendum) and a method for collecting funds (e.g. inflation, fees). +//! +//! By way of example, stakeholders could vote to fund the Treasury with a portion of the block +//! reward and use the funds to pay developers. +//! +//! ### Terminology +//! +//! - **Proposal:** A suggestion to allocate funds from the pot to a beneficiary. +//! - **Beneficiary:** An account who will receive the funds from a proposal iff the proposal is +//! approved. +//! - **Pot:** Unspent funds accumulated by the treasury pallet. +//! - **Spend** An approved proposal for transferring a specific amount of funds to a designated +//! beneficiary. +//! +//! ### Example +//! +//! 1. Multiple local spends approved by spend origins and received by a beneficiary. +#![doc = docify::embed!("src/tests.rs", spend_local_origin_works)] +//! +//! 2. Approve a spend of some asset kind and claim it. +#![doc = docify::embed!("src/tests.rs", spend_payout_works)] +//! +//! ## Pallet API +//! +//! See the [`pallet`] module for more information about the interfaces this pallet exposes, +//! including its configuration trait, dispatchables, storage items, events and errors. +//! +//! ## Low Level / Implementation Details +//! +//! Spends can be initiated using either the `spend_local` or `spend` dispatchable. The +//! `spend_local` dispatchable enables the creation of spends using the native currency of the +//! chain, utilizing the funds stored in the pot. These spends are automatically paid out every +//! [`pallet::Config::SpendPeriod`]. On the other hand, the `spend` dispatchable allows spending of +//! any asset kind managed by the treasury, with payment facilitated by a designated +//! [`pallet::Config::Paymaster`]. To claim these spends, the `payout` dispatchable should be called +//! within some temporal bounds, starting from the moment they become valid and within one +//! [`pallet::Config::PayoutPeriod`]. + +#![cfg_attr(not(feature = "std"), no_std)] + +mod benchmarking; +#[cfg(test)] +mod tests; +pub mod weights; +use core::marker::PhantomData; + +#[cfg(feature = "runtime-benchmarks")] +pub use benchmarking::ArgumentsFactory; + +extern crate alloc; + +use parity_scale_codec::{Decode, Encode, MaxEncodedLen}; +use scale_info::TypeInfo; + +use alloc::{boxed::Box, collections::btree_map::BTreeMap}; +use sp_runtime::{ + traits::{AccountIdConversion, CheckedAdd, Saturating, StaticLookup, Zero}, + Permill, RuntimeDebug, +}; + +use frame_support::{ + dispatch::{DispatchResult, DispatchResultWithPostInfo}, + ensure, print, + traits::{ + tokens::Pay, Currency, ExistenceRequirement::KeepAlive, Get, Imbalance, OnUnbalanced, + ReservableCurrency, WithdrawReasons, + }, + weights::Weight, + PalletId, +}; + +pub use pallet::*; +pub use weights::WeightInfo; + +pub type BalanceOf = + <>::Currency as Currency<::AccountId>>::Balance; +pub type AssetBalanceOf = <>::Paymaster as Pay>::Balance; +pub type PositiveImbalanceOf = <>::Currency as Currency< + ::AccountId, +>>::PositiveImbalance; +pub type NegativeImbalanceOf = <>::Currency as Currency< + ::AccountId, +>>::NegativeImbalance; +type AccountIdLookupOf = <::Lookup as StaticLookup>::Source; +type BeneficiaryLookupOf = <>::BeneficiaryLookup as StaticLookup>::Source; + +/// A trait to allow the Treasury Pallet to spend it's funds for other purposes. +/// There is an expectation that the implementer of this trait will correctly manage +/// the mutable variables passed to it: +/// * `budget_remaining`: How much available funds that can be spent by the treasury. As funds are +/// spent, you must correctly deduct from this value. +/// * `imbalance`: Any imbalances that you create should be subsumed in here to maximize efficiency +/// of updating the total issuance. (i.e. `deposit_creating`) +/// * `total_weight`: Track any weight that your `spend_fund` implementation uses by updating this +/// value. +/// * `missed_any`: If there were items that you want to spend on, but there were not enough funds, +/// mark this value as `true`. This will prevent the treasury from burning the excess funds. +#[impl_trait_for_tuples::impl_for_tuples(30)] +pub trait SpendFunds, I: 'static = ()> { + fn spend_funds( + budget_remaining: &mut BalanceOf, + imbalance: &mut PositiveImbalanceOf, + total_weight: &mut Weight, + missed_any: &mut bool, + ); +} + +/// An index of a proposal. Just a `u32`. +pub type ProposalIndex = u32; + +/// A spending proposal. +#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] +#[derive(Encode, Decode, Clone, PartialEq, Eq, MaxEncodedLen, RuntimeDebug, TypeInfo)] +pub struct Proposal { + /// The account proposing it. + proposer: AccountId, + /// The (total) amount that should be paid if the proposal is accepted. + value: Balance, + /// The account to whom the payment should be made if the proposal is accepted. + beneficiary: AccountId, + /// The amount held on deposit (reserved) for making this proposal. + bond: Balance, +} + +/// The state of the payment claim. +#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] +#[derive(Encode, Decode, Clone, PartialEq, Eq, MaxEncodedLen, RuntimeDebug, TypeInfo)] +pub enum PaymentState { + /// Pending claim. + Pending, + /// Payment attempted with a payment identifier. + Attempted { id: Id }, + /// Payment failed. + Failed, +} + +/// Info regarding an approved treasury spend. +#[cfg_attr(feature = "std", derive(serde::Serialize, serde::Deserialize))] +#[derive(Encode, Decode, Clone, PartialEq, Eq, MaxEncodedLen, RuntimeDebug, TypeInfo)] +pub struct SpendStatus { + // The kind of asset to be spent. + asset_kind: AssetKind, + /// The asset amount of the spend. + amount: AssetBalance, + /// The beneficiary of the spend. + beneficiary: Beneficiary, + /// The block number from which the spend can be claimed. + valid_from: BlockNumber, + /// The block number by which the spend has to be claimed. + expire_at: BlockNumber, + /// The status of the payout/claim. + status: PaymentState, +} + +/// Index of an approved treasury spend. +pub type SpendIndex = u32; + +#[frame_support::pallet] +pub mod pallet { + use super::*; + use frame_support::{ + dispatch_context::with_context, + pallet_prelude::*, + traits::tokens::{ConversionFromAssetBalance, PaymentStatus}, + }; + use frame_system::pallet_prelude::*; + + #[pallet::pallet] + pub struct Pallet(PhantomData<(T, I)>); + + #[pallet::config] + pub trait Config: frame_system::Config { + /// The staking balance. + type Currency: Currency + ReservableCurrency; + + /// Origin from which approvals must come. + type ApproveOrigin: EnsureOrigin; + + /// Origin from which rejections must come. + type RejectOrigin: EnsureOrigin; + + /// The overarching event type. + type RuntimeEvent: From> + + IsType<::RuntimeEvent>; + + /// Handler for the unbalanced decrease when slashing for a rejected proposal or bounty. + type OnSlash: OnUnbalanced>; + + /// Fraction of a proposal's value that should be bonded in order to place the proposal. + /// An accepted proposal gets these back. A rejected proposal does not. + #[pallet::constant] + type ProposalBond: Get; + + /// Minimum amount of funds that should be placed in a deposit for making a proposal. + #[pallet::constant] + type ProposalBondMinimum: Get>; + + /// Maximum amount of funds that should be placed in a deposit for making a proposal. + #[pallet::constant] + type ProposalBondMaximum: Get>>; + + /// Period between successive spends. + #[pallet::constant] + type SpendPeriod: Get>; + + /// Percentage of spare funds (if any) that are burnt per spend period. + #[pallet::constant] + type Burn: Get; + + /// The treasury's pallet id, used for deriving its sovereign account ID. + #[pallet::constant] + type PalletId: Get; + + /// Handler for the unbalanced decrease when treasury funds are burned. + type BurnDestination: OnUnbalanced>; + + /// Weight information for extrinsics in this pallet. + type WeightInfo: WeightInfo; + + /// Runtime hooks to external pallet using treasury to compute spend funds. + type SpendFunds: SpendFunds; + + /// The maximum number of approvals that can wait in the spending queue. + /// + /// NOTE: This parameter is also used within the Bounties Pallet extension if enabled. + #[pallet::constant] + type MaxApprovals: Get; + + /// The origin required for approving spends from the treasury outside of the proposal + /// process. The `Success` value is the maximum amount in a native asset that this origin + /// is allowed to spend at a time. + type SpendOrigin: EnsureOrigin>; + + /// Type parameter representing the asset kinds to be spent from the treasury. + type AssetKind: Parameter + MaxEncodedLen; + + /// Type parameter used to identify the beneficiaries eligible to receive treasury spends. + type Beneficiary: Parameter + MaxEncodedLen; + + /// Converting trait to take a source type and convert to [`Self::Beneficiary`]. + type BeneficiaryLookup: StaticLookup; + + /// Type for processing spends of [Self::AssetKind] in favor of [`Self::Beneficiary`]. + type Paymaster: Pay; + + /// Type for converting the balance of an [Self::AssetKind] to the balance of the native + /// asset, solely for the purpose of asserting the result against the maximum allowed spend + /// amount of the [`Self::SpendOrigin`]. + type BalanceConverter: ConversionFromAssetBalance< + ::Balance, + Self::AssetKind, + BalanceOf, + >; + + /// The period during which an approved treasury spend has to be claimed. + #[pallet::constant] + type PayoutPeriod: Get>; + + /// Helper type for benchmarks. + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper: ArgumentsFactory; + } + + /// Number of proposals that have been made. + #[pallet::storage] + #[pallet::getter(fn proposal_count)] + pub(crate) type ProposalCount = StorageValue<_, ProposalIndex, ValueQuery>; + + /// Proposals that have been made. + #[pallet::storage] + #[pallet::getter(fn proposals)] + pub type Proposals, I: 'static = ()> = StorageMap< + _, + Twox64Concat, + ProposalIndex, + Proposal>, + OptionQuery, + >; + + /// The amount which has been reported as inactive to Currency. + #[pallet::storage] + pub type Deactivated, I: 'static = ()> = + StorageValue<_, BalanceOf, ValueQuery>; + + /// Proposal indices that have been approved but not yet awarded. + #[pallet::storage] + #[pallet::getter(fn approvals)] + pub type Approvals, I: 'static = ()> = + StorageValue<_, BoundedVec, ValueQuery>; + + /// The count of spends that have been made. + #[pallet::storage] + pub(crate) type SpendCount = StorageValue<_, SpendIndex, ValueQuery>; + + /// Spends that have been approved and being processed. + // Hasher: Twox safe since `SpendIndex` is an internal count based index. + #[pallet::storage] + pub type Spends, I: 'static = ()> = StorageMap< + _, + Twox64Concat, + SpendIndex, + SpendStatus< + T::AssetKind, + AssetBalanceOf, + T::Beneficiary, + BlockNumberFor, + ::Id, + >, + OptionQuery, + >; + + #[pallet::genesis_config] + #[derive(frame_support::DefaultNoBound)] + pub struct GenesisConfig, I: 'static = ()> { + #[serde(skip)] + _config: core::marker::PhantomData<(T, I)>, + } + + #[pallet::genesis_build] + impl, I: 'static> BuildGenesisConfig for GenesisConfig { + fn build(&self) { + // Create Treasury account + let account_id = >::account_id(); + let min = T::Currency::minimum_balance(); + if T::Currency::free_balance(&account_id) < min { + let _ = T::Currency::make_free_balance_be(&account_id, min); + } + } + } + + #[pallet::event] + #[pallet::generate_deposit(pub(super) fn deposit_event)] + pub enum Event, I: 'static = ()> { + /// New proposal. + Proposed { proposal_index: ProposalIndex }, + /// We have ended a spend period and will now allocate funds. + Spending { budget_remaining: BalanceOf }, + /// Some funds have been allocated. + Awarded { + proposal_index: ProposalIndex, + award: BalanceOf, + account: T::AccountId, + }, + /// A proposal was rejected; funds were slashed. + Rejected { + proposal_index: ProposalIndex, + slashed: BalanceOf, + }, + /// Some of our funds have been burnt. + Burnt { burnt_funds: BalanceOf }, + /// Spending has finished; this is the amount that rolls over until next spend. + Rollover { rollover_balance: BalanceOf }, + /// Some funds have been deposited. + Deposit { value: BalanceOf }, + /// A new spend proposal has been approved. + SpendApproved { + proposal_index: ProposalIndex, + amount: BalanceOf, + beneficiary: T::AccountId, + }, + /// The inactive funds of the pallet have been updated. + UpdatedInactive { + reactivated: BalanceOf, + deactivated: BalanceOf, + }, + /// A new asset spend proposal has been approved. + AssetSpendApproved { + index: SpendIndex, + asset_kind: T::AssetKind, + amount: AssetBalanceOf, + beneficiary: T::Beneficiary, + valid_from: BlockNumberFor, + expire_at: BlockNumberFor, + }, + /// An approved spend was voided. + AssetSpendVoided { index: SpendIndex }, + /// A payment happened. + Paid { + index: SpendIndex, + payment_id: ::Id, + }, + /// A payment failed and can be retried. + PaymentFailed { + index: SpendIndex, + payment_id: ::Id, + }, + /// A spend was processed and removed from the storage. It might have been successfully + /// paid or it may have expired. + SpendProcessed { index: SpendIndex }, + } + + /// Error for the treasury pallet. + #[pallet::error] + pub enum Error { + /// Proposer's balance is too low. + InsufficientProposersBalance, + /// No proposal, bounty or spend at that index. + InvalidIndex, + /// Too many approvals in the queue. + TooManyApprovals, + /// The spend origin is valid but the amount it is allowed to spend is lower than the + /// amount to be spent. + InsufficientPermission, + /// Proposal has not been approved. + ProposalNotApproved, + /// The balance of the asset kind is not convertible to the balance of the native asset. + FailedToConvertBalance, + /// The spend has expired and cannot be claimed. + SpendExpired, + /// The spend is not yet eligible for payout. + EarlyPayout, + /// The payment has already been attempted. + AlreadyAttempted, + /// There was some issue with the mechanism of payment. + PayoutError, + /// The payout was not yet attempted/claimed. + NotAttempted, + /// The payment has neither failed nor succeeded yet. + Inconclusive, + } + + #[pallet::hooks] + impl, I: 'static> Hooks> for Pallet { + /// ## Complexity + /// - `O(A)` where `A` is the number of approvals + fn on_initialize(n: frame_system::pallet_prelude::BlockNumberFor) -> Weight { + let pot = Self::pot(); + let deactivated = Deactivated::::get(); + if pot != deactivated { + T::Currency::reactivate(deactivated); + T::Currency::deactivate(pot); + Deactivated::::put(&pot); + Self::deposit_event(Event::::UpdatedInactive { + reactivated: deactivated, + deactivated: pot, + }); + } + + // Check to see if we should spend some funds! + if (n % T::SpendPeriod::get()).is_zero() { + Self::spend_funds() + } else { + Weight::zero() + } + } + + #[cfg(feature = "try-runtime")] + fn try_state( + _: frame_system::pallet_prelude::BlockNumberFor, + ) -> Result<(), sp_runtime::TryRuntimeError> { + Self::do_try_state()?; + Ok(()) + } + } + + #[derive(Default)] + struct SpendContext { + spend_in_context: BTreeMap, + } + + #[pallet::call] + impl, I: 'static> Pallet { + /// Put forward a suggestion for spending. + /// + /// ## Dispatch Origin + /// + /// Must be signed. + /// + /// ## Details + /// A deposit proportional to the value is reserved and slashed if the proposal is rejected. + /// It is returned once the proposal is awarded. + /// + /// ### Complexity + /// - O(1) + /// + /// ## Events + /// + /// Emits [`Event::Proposed`] if successful. + #[pallet::call_index(0)] + #[pallet::weight(T::WeightInfo::propose_spend())] + #[allow(deprecated)] + #[deprecated( + note = "`propose_spend` will be removed in February 2024. Use `spend` instead." + )] + pub fn propose_spend( + origin: OriginFor, + #[pallet::compact] value: BalanceOf, + beneficiary: AccountIdLookupOf, + ) -> DispatchResult { + let proposer = ensure_signed(origin)?; + let beneficiary = T::Lookup::lookup(beneficiary)?; + + let bond = Self::calculate_bond(value); + T::Currency::reserve(&proposer, bond) + .map_err(|_| Error::::InsufficientProposersBalance)?; + + let c = Self::proposal_count(); + >::put(c + 1); + >::insert( + c, + Proposal { + proposer, + value, + beneficiary, + bond, + }, + ); + + Self::deposit_event(Event::Proposed { proposal_index: c }); + Ok(()) + } + + /// Reject a proposed spend. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::RejectOrigin`]. + /// + /// ## Details + /// The original deposit will be slashed. + /// + /// ### Complexity + /// - O(1) + /// + /// ## Events + /// + /// Emits [`Event::Rejected`] if successful. + #[pallet::call_index(1)] + #[pallet::weight((T::WeightInfo::reject_proposal(), DispatchClass::Operational))] + #[allow(deprecated)] + #[deprecated( + note = "`reject_proposal` will be removed in February 2024. Use `spend` instead." + )] + pub fn reject_proposal( + origin: OriginFor, + #[pallet::compact] proposal_id: ProposalIndex, + ) -> DispatchResult { + T::RejectOrigin::ensure_origin(origin)?; + + let proposal = + >::take(&proposal_id).ok_or(Error::::InvalidIndex)?; + let value = proposal.bond; + let imbalance = T::Currency::slash_reserved(&proposal.proposer, value).0; + T::OnSlash::on_unbalanced(imbalance); + + Self::deposit_event(Event::::Rejected { + proposal_index: proposal_id, + slashed: value, + }); + Ok(()) + } + + /// Approve a proposal. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::ApproveOrigin`]. + /// + /// ## Details + /// + /// At a later time, the proposal will be allocated to the beneficiary and the original + /// deposit will be returned. + /// + /// ### Complexity + /// - O(1). + /// + /// ## Events + /// + /// No events are emitted from this dispatch. + #[pallet::call_index(2)] + #[pallet::weight((T::WeightInfo::approve_proposal(T::MaxApprovals::get()), DispatchClass::Operational))] + #[allow(deprecated)] + #[deprecated( + note = "`approve_proposal` will be removed in February 2024. Use `spend` instead." + )] + pub fn approve_proposal( + origin: OriginFor, + #[pallet::compact] proposal_id: ProposalIndex, + ) -> DispatchResult { + T::ApproveOrigin::ensure_origin(origin)?; + + ensure!( + >::contains_key(proposal_id), + Error::::InvalidIndex + ); + Approvals::::try_append(proposal_id) + .map_err(|_| Error::::TooManyApprovals)?; + Ok(()) + } + + /// Propose and approve a spend of treasury funds. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`. + /// + /// ### Details + /// NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the + /// beneficiary. + /// + /// ### Parameters + /// - `amount`: The amount to be transferred from the treasury to the `beneficiary`. + /// - `beneficiary`: The destination account for the transfer. + /// + /// ## Events + /// + /// Emits [`Event::SpendApproved`] if successful. + #[pallet::call_index(3)] + #[pallet::weight(T::WeightInfo::spend_local())] + pub fn spend_local( + origin: OriginFor, + #[pallet::compact] amount: BalanceOf, + beneficiary: AccountIdLookupOf, + ) -> DispatchResult { + let max_amount = T::SpendOrigin::ensure_origin(origin)?; + ensure!(amount <= max_amount, Error::::InsufficientPermission); + + with_context::>, _>(|v| { + let context = v.or_default(); + + // We group based on `max_amount`, to distinguish between different kind of + // origins. (assumes that all origins have different `max_amount`) + // + // Worst case is that we reject some "valid" request. + let spend = context.spend_in_context.entry(max_amount).or_default(); + + // Ensure that we don't overflow nor use more than `max_amount` + if spend + .checked_add(&amount) + .map(|s| s > max_amount) + .unwrap_or(true) + { + Err(Error::::InsufficientPermission) + } else { + *spend = spend.saturating_add(amount); + + Ok(()) + } + }) + .unwrap_or(Ok(()))?; + + let beneficiary = T::Lookup::lookup(beneficiary)?; + let proposal_index = Self::proposal_count(); + Approvals::::try_append(proposal_index) + .map_err(|_| Error::::TooManyApprovals)?; + let proposal = Proposal { + proposer: beneficiary.clone(), + value: amount, + beneficiary: beneficiary.clone(), + bond: Default::default(), + }; + Proposals::::insert(proposal_index, proposal); + ProposalCount::::put(proposal_index + 1); + + Self::deposit_event(Event::SpendApproved { + proposal_index, + amount, + beneficiary, + }); + Ok(()) + } + + /// Force a previously approved proposal to be removed from the approval queue. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::RejectOrigin`]. + /// + /// ## Details + /// + /// The original deposit will no longer be returned. + /// + /// ### Parameters + /// - `proposal_id`: The index of a proposal + /// + /// ### Complexity + /// - O(A) where `A` is the number of approvals + /// + /// ### Errors + /// - [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the + /// approval queue, i.e., the proposal has not been approved. This could also mean the + /// proposal does not exist altogether, thus there is no way it would have been approved + /// in the first place. + #[pallet::call_index(4)] + #[pallet::weight((T::WeightInfo::remove_approval(), DispatchClass::Operational))] + pub fn remove_approval( + origin: OriginFor, + #[pallet::compact] proposal_id: ProposalIndex, + ) -> DispatchResult { + T::RejectOrigin::ensure_origin(origin)?; + + Approvals::::try_mutate(|v| -> DispatchResult { + if let Some(index) = v.iter().position(|x| x == &proposal_id) { + v.remove(index); + Ok(()) + } else { + Err(Error::::ProposalNotApproved.into()) + } + })?; + + Ok(()) + } + + /// Propose and approve a spend of treasury funds. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::SpendOrigin`] with the `Success` value being at least + /// `amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted + /// for assertion using the [`Config::BalanceConverter`]. + /// + /// ## Details + /// + /// Create an approved spend for transferring a specific `amount` of `asset_kind` to a + /// designated beneficiary. The spend must be claimed using the `payout` dispatchable within + /// the [`Config::PayoutPeriod`]. + /// + /// ### Parameters + /// - `asset_kind`: An indicator of the specific asset class to be spent. + /// - `amount`: The amount to be transferred from the treasury to the `beneficiary`. + /// - `beneficiary`: The beneficiary of the spend. + /// - `valid_from`: The block number from which the spend can be claimed. It can refer to + /// the past if the resulting spend has not yet expired according to the + /// [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after + /// approval. + /// + /// ## Events + /// + /// Emits [`Event::AssetSpendApproved`] if successful. + #[pallet::call_index(5)] + #[pallet::weight(T::WeightInfo::spend())] + pub fn spend( + origin: OriginFor, + asset_kind: Box, + #[pallet::compact] amount: AssetBalanceOf, + beneficiary: Box>, + valid_from: Option>, + ) -> DispatchResult { + let max_amount = T::SpendOrigin::ensure_origin(origin)?; + let beneficiary = T::BeneficiaryLookup::lookup(*beneficiary)?; + + let now = frame_system::Pallet::::block_number(); + let valid_from = valid_from.unwrap_or(now); + let expire_at = valid_from.saturating_add(T::PayoutPeriod::get()); + ensure!(expire_at > now, Error::::SpendExpired); + + let native_amount = + T::BalanceConverter::from_asset_balance(amount, *asset_kind.clone()) + .map_err(|_| Error::::FailedToConvertBalance)?; + + ensure!( + native_amount <= max_amount, + Error::::InsufficientPermission + ); + + with_context::>, _>(|v| { + let context = v.or_default(); + // We group based on `max_amount`, to distinguish between different kind of + // origins. (assumes that all origins have different `max_amount`) + // + // Worst case is that we reject some "valid" request. + let spend = context.spend_in_context.entry(max_amount).or_default(); + + // Ensure that we don't overflow nor use more than `max_amount` + if spend + .checked_add(&native_amount) + .map(|s| s > max_amount) + .unwrap_or(true) + { + Err(Error::::InsufficientPermission) + } else { + *spend = spend.saturating_add(native_amount); + Ok(()) + } + }) + .unwrap_or(Ok(()))?; + + let index = SpendCount::::get(); + Spends::::insert( + index, + SpendStatus { + asset_kind: *asset_kind.clone(), + amount, + beneficiary: beneficiary.clone(), + valid_from, + expire_at, + status: PaymentState::Pending, + }, + ); + SpendCount::::put(index + 1); + + Self::deposit_event(Event::AssetSpendApproved { + index, + asset_kind: *asset_kind, + amount, + beneficiary, + valid_from, + expire_at, + }); + Ok(()) + } + + /// Claim a spend. + /// + /// ## Dispatch Origin + /// + /// Must be signed. + /// + /// ## Details + /// + /// Spends must be claimed within some temporal bounds. A spend may be claimed within one + /// [`Config::PayoutPeriod`] from the `valid_from` block. + /// In case of a payout failure, the spend status must be updated with the `check_status` + /// dispatchable before retrying with the current function. + /// + /// ### Parameters + /// - `index`: The spend index. + /// + /// ## Events + /// + /// Emits [`Event::Paid`] if successful. + #[pallet::call_index(6)] + #[pallet::weight(T::WeightInfo::payout())] + pub fn payout(origin: OriginFor, index: SpendIndex) -> DispatchResult { + ensure_signed(origin)?; + let mut spend = Spends::::get(index).ok_or(Error::::InvalidIndex)?; + let now = frame_system::Pallet::::block_number(); + ensure!(now >= spend.valid_from, Error::::EarlyPayout); + ensure!(spend.expire_at > now, Error::::SpendExpired); + ensure!( + matches!(spend.status, PaymentState::Pending | PaymentState::Failed), + Error::::AlreadyAttempted + ); + + let id = T::Paymaster::pay(&spend.beneficiary, spend.asset_kind.clone(), spend.amount) + .map_err(|_| Error::::PayoutError)?; + + spend.status = PaymentState::Attempted { id }; + Spends::::insert(index, spend); + + Self::deposit_event(Event::::Paid { + index, + payment_id: id, + }); + + Ok(()) + } + + /// Check the status of the spend and remove it from the storage if processed. + /// + /// ## Dispatch Origin + /// + /// Must be signed. + /// + /// ## Details + /// + /// The status check is a prerequisite for retrying a failed payout. + /// If a spend has either succeeded or expired, it is removed from the storage by this + /// function. In such instances, transaction fees are refunded. + /// + /// ### Parameters + /// - `index`: The spend index. + /// + /// ## Events + /// + /// Emits [`Event::PaymentFailed`] if the spend payout has failed. + /// Emits [`Event::SpendProcessed`] if the spend payout has succeed. + #[pallet::call_index(7)] + #[pallet::weight(T::WeightInfo::check_status())] + pub fn check_status(origin: OriginFor, index: SpendIndex) -> DispatchResultWithPostInfo { + use PaymentState as State; + use PaymentStatus as Status; + + ensure_signed(origin)?; + let mut spend = Spends::::get(index).ok_or(Error::::InvalidIndex)?; + let now = frame_system::Pallet::::block_number(); + + if now > spend.expire_at && !matches!(spend.status, State::Attempted { .. }) { + // spend has expired and no further status update is expected. + Spends::::remove(index); + Self::deposit_event(Event::::SpendProcessed { index }); + return Ok(Pays::No.into()); + } + + let payment_id = match spend.status { + State::Attempted { id } => id, + _ => return Err(Error::::NotAttempted.into()), + }; + + match T::Paymaster::check_payment(payment_id) { + Status::Failure => { + spend.status = PaymentState::Failed; + Spends::::insert(index, spend); + Self::deposit_event(Event::::PaymentFailed { index, payment_id }); + } + Status::Success | Status::Unknown => { + Spends::::remove(index); + Self::deposit_event(Event::::SpendProcessed { index }); + return Ok(Pays::No.into()); + } + Status::InProgress => return Err(Error::::Inconclusive.into()), + } + return Ok(Pays::Yes.into()); + } + + /// Void previously approved spend. + /// + /// ## Dispatch Origin + /// + /// Must be [`Config::RejectOrigin`]. + /// + /// ## Details + /// + /// A spend void is only possible if the payout has not been attempted yet. + /// + /// ### Parameters + /// - `index`: The spend index. + /// + /// ## Events + /// + /// Emits [`Event::AssetSpendVoided`] if successful. + #[pallet::call_index(8)] + #[pallet::weight(T::WeightInfo::void_spend())] + pub fn void_spend(origin: OriginFor, index: SpendIndex) -> DispatchResult { + T::RejectOrigin::ensure_origin(origin)?; + let spend = Spends::::get(index).ok_or(Error::::InvalidIndex)?; + ensure!( + matches!(spend.status, PaymentState::Pending | PaymentState::Failed), + Error::::AlreadyAttempted + ); + + Spends::::remove(index); + Self::deposit_event(Event::::AssetSpendVoided { index }); + Ok(()) + } + } +} + +impl, I: 'static> Pallet { + // Add public immutables and private mutables. + + /// The account ID of the treasury pot. + /// + /// This actually does computation. If you need to keep using it, then make sure you cache the + /// value and only call this once. + pub fn account_id() -> T::AccountId { + T::PalletId::get().into_account_truncating() + } + + /// The needed bond for a proposal whose spend is `value`. + fn calculate_bond(value: BalanceOf) -> BalanceOf { + let mut r = T::ProposalBondMinimum::get().max(T::ProposalBond::get() * value); + if let Some(m) = T::ProposalBondMaximum::get() { + r = r.min(m); + } + r + } + + /// Spend some money! returns number of approvals before spend. + pub fn spend_funds() -> Weight { + let mut total_weight = Weight::zero(); + + let mut budget_remaining = Self::pot(); + Self::deposit_event(Event::Spending { budget_remaining }); + let account_id = Self::account_id(); + + let mut missed_any = false; + let mut imbalance = >::zero(); + let proposals_len = Approvals::::mutate(|v| { + let proposals_approvals_len = v.len() as u32; + v.retain(|&index| { + // Should always be true, but shouldn't panic if false or we're screwed. + if let Some(p) = Self::proposals(index) { + if p.value <= budget_remaining { + budget_remaining -= p.value; + >::remove(index); + + // return their deposit. + let err_amount = T::Currency::unreserve(&p.proposer, p.bond); + debug_assert!(err_amount.is_zero()); + + // provide the allocation. + imbalance.subsume(T::Currency::deposit_creating(&p.beneficiary, p.value)); + + Self::deposit_event(Event::Awarded { + proposal_index: index, + award: p.value, + account: p.beneficiary, + }); + false + } else { + missed_any = true; + true + } + } else { + false + } + }); + proposals_approvals_len + }); + + total_weight += T::WeightInfo::on_initialize_proposals(proposals_len); + + // Call Runtime hooks to external pallet using treasury to compute spend funds. + T::SpendFunds::spend_funds( + &mut budget_remaining, + &mut imbalance, + &mut total_weight, + &mut missed_any, + ); + + if !missed_any { + // burn some proportion of the remaining budget if we run a surplus. + let burn = (T::Burn::get() * budget_remaining).min(budget_remaining); + budget_remaining -= burn; + + let (debit, credit) = T::Currency::pair(burn); + imbalance.subsume(debit); + T::BurnDestination::on_unbalanced(credit); + Self::deposit_event(Event::Burnt { burnt_funds: burn }) + } + + // Must never be an error, but better to be safe. + // proof: budget_remaining is account free balance minus ED; + // Thus we can't spend more than account free balance minus ED; + // Thus account is kept alive; qed; + if let Err(problem) = + T::Currency::settle(&account_id, imbalance, WithdrawReasons::TRANSFER, KeepAlive) + { + print("Inconsistent state - couldn't settle imbalance for funds spent by treasury"); + // Nothing else to do here. + drop(problem); + } + + Self::deposit_event(Event::Rollover { + rollover_balance: budget_remaining, + }); + + total_weight + } + + /// Return the amount of money in the pot. + // The existential deposit is not part of the pot so treasury account never gets deleted. + pub fn pot() -> BalanceOf { + T::Currency::free_balance(&Self::account_id()) + // Must never be less than 0 but better be safe. + .saturating_sub(T::Currency::minimum_balance()) + } + + /// Ensure the correctness of the state of this pallet. + #[cfg(any(feature = "try-runtime", test))] + fn do_try_state() -> Result<(), sp_runtime::TryRuntimeError> { + Self::try_state_proposals()?; + Self::try_state_spends()?; + + Ok(()) + } + + /// ### Invariants of proposal storage items + /// + /// 1. [`ProposalCount`] >= Number of elements in [`Proposals`]. + /// 2. Each entry in [`Proposals`] should be saved under a key strictly less than current + /// [`ProposalCount`]. + /// 3. Each [`ProposalIndex`] contained in [`Approvals`] should exist in [`Proposals`]. + /// Note, that this automatically implies [`Approvals`].count() <= [`Proposals`].count(). + #[cfg(any(feature = "try-runtime", test))] + fn try_state_proposals() -> Result<(), sp_runtime::TryRuntimeError> { + let current_proposal_count = ProposalCount::::get(); + ensure!( + current_proposal_count as usize >= Proposals::::iter().count(), + "Actual number of proposals exceeds `ProposalCount`." + ); + + Proposals::::iter_keys().try_for_each(|proposal_index| -> DispatchResult { + ensure!( + current_proposal_count as u32 > proposal_index, + "`ProposalCount` should by strictly greater than any ProposalIndex used as a key for `Proposals`." + ); + Ok(()) + })?; + + Approvals::::get() + .iter() + .try_for_each(|proposal_index| -> DispatchResult { + ensure!( + Proposals::::contains_key(proposal_index), + "Proposal indices in `Approvals` must also be contained in `Proposals`." + ); + Ok(()) + })?; + + Ok(()) + } + + /// ## Invariants of spend storage items + /// + /// 1. [`SpendCount`] >= Number of elements in [`Spends`]. + /// 2. Each entry in [`Spends`] should be saved under a key strictly less than current + /// [`SpendCount`]. + /// 3. For each spend entry contained in [`Spends`] we should have spend.expire_at + /// > spend.valid_from. + #[cfg(any(feature = "try-runtime", test))] + fn try_state_spends() -> Result<(), sp_runtime::TryRuntimeError> { + let current_spend_count = SpendCount::::get(); + ensure!( + current_spend_count as usize >= Spends::::iter().count(), + "Actual number of spends exceeds `SpendCount`." + ); + + Spends::::iter_keys().try_for_each(|spend_index| -> DispatchResult { + ensure!( + current_spend_count > spend_index, + "`SpendCount` should by strictly greater than any SpendIndex used as a key for `Spends`." + ); + Ok(()) + })?; + + Spends::::iter().try_for_each(|(_index, spend)| -> DispatchResult { + ensure!( + spend.valid_from < spend.expire_at, + "Spend cannot expire before it becomes valid." + ); + Ok(()) + })?; + + Ok(()) + } +} + +impl, I: 'static> OnUnbalanced> for Pallet { + fn on_nonzero_unbalanced(amount: NegativeImbalanceOf) { + let numeric_amount = amount.peek(); + + // Must resolve into existing but better to be safe. + let _ = T::Currency::resolve_creating(&Self::account_id(), amount); + + Self::deposit_event(Event::Deposit { + value: numeric_amount, + }); + } +} + +/// TypedGet implementation to get the AccountId of the Treasury. +pub struct TreasuryAccountId(PhantomData); +impl sp_runtime::traits::TypedGet for TreasuryAccountId +where + R: crate::Config, +{ + type Type = ::AccountId; + fn get() -> Self::Type { + >::account_id() + } +} diff --git a/vendor/treasury/src/tests.rs b/vendor/treasury/src/tests.rs new file mode 100644 index 000000000..2bda67d36 --- /dev/null +++ b/vendor/treasury/src/tests.rs @@ -0,0 +1,1321 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Treasury pallet tests. + +#![cfg(test)] + +use core::{cell::RefCell, marker::PhantomData}; +use sp_runtime::{ + traits::{BadOrigin, Dispatchable, IdentityLookup}, + BuildStorage, +}; + +use frame_support::{ + assert_err_ignore_postinfo, assert_noop, assert_ok, derive_impl, + pallet_prelude::Pays, + parameter_types, + traits::{ + tokens::{ConversionFromAssetBalance, PaymentStatus}, + ConstU32, ConstU64, OnInitialize, + }, + PalletId, +}; + +use super::*; +use crate as treasury; + +type Block = frame_system::mocking::MockBlock; +type UtilityCall = pallet_utility::Call; +type TreasuryCall = crate::Call; + +frame_support::construct_runtime!( + pub enum Test + { + System: frame_system, + Balances: pallet_balances, + Treasury: treasury, + Utility: pallet_utility, + } +); + +#[derive_impl(frame_system::config_preludes::TestDefaultConfig)] +impl frame_system::Config for Test { + type AccountId = u128; // u64 is not enough to hold bytes used to generate bounty account + type Lookup = IdentityLookup; + type Block = Block; + type AccountData = pallet_balances::AccountData; +} + +#[derive_impl(pallet_balances::config_preludes::TestDefaultConfig)] +impl pallet_balances::Config for Test { + type AccountStore = System; +} + +impl pallet_utility::Config for Test { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type PalletsOrigin = OriginCaller; + type WeightInfo = (); +} + +thread_local! { + pub static PAID: RefCell> = RefCell::new(BTreeMap::new()); + pub static STATUS: RefCell> = RefCell::new(BTreeMap::new()); + pub static LAST_ID: RefCell = RefCell::new(0u64); + + #[cfg(feature = "runtime-benchmarks")] + pub static TEST_SPEND_ORIGIN_TRY_SUCCESFUL_ORIGIN_ERR: RefCell = RefCell::new(false); +} + +/// paid balance for a given account and asset ids +fn paid(who: u128, asset_id: u32) -> u64 { + PAID.with(|p| p.borrow().get(&(who, asset_id)).cloned().unwrap_or(0)) +} + +/// reduce paid balance for a given account and asset ids +fn unpay(who: u128, asset_id: u32, amount: u64) { + PAID.with(|p| { + p.borrow_mut() + .entry((who, asset_id)) + .or_default() + .saturating_reduce(amount) + }) +} + +/// set status for a given payment id +fn set_status(id: u64, s: PaymentStatus) { + STATUS.with(|m| m.borrow_mut().insert(id, s)); +} + +pub struct TestPay; +impl Pay for TestPay { + type Beneficiary = u128; + type Balance = u64; + type Id = u64; + type AssetKind = u32; + type Error = (); + + fn pay( + who: &Self::Beneficiary, + asset_kind: Self::AssetKind, + amount: Self::Balance, + ) -> Result { + PAID.with(|paid| *paid.borrow_mut().entry((*who, asset_kind)).or_default() += amount); + Ok(LAST_ID.with(|lid| { + let x = *lid.borrow(); + lid.replace(x + 1); + x + })) + } + fn check_payment(id: Self::Id) -> PaymentStatus { + STATUS.with(|s| { + s.borrow() + .get(&id) + .cloned() + .unwrap_or(PaymentStatus::Unknown) + }) + } + #[cfg(feature = "runtime-benchmarks")] + fn ensure_successful(_: &Self::Beneficiary, _: Self::AssetKind, _: Self::Balance) {} + #[cfg(feature = "runtime-benchmarks")] + fn ensure_concluded(id: Self::Id) { + set_status(id, PaymentStatus::Failure) + } +} + +parameter_types! { + pub const ProposalBond: Permill = Permill::from_percent(5); + pub const Burn: Permill = Permill::from_percent(50); + pub const TreasuryPalletId: PalletId = PalletId(*b"py/trsry"); + pub TreasuryAccount: u128 = Treasury::account_id(); + pub const SpendPayoutPeriod: u64 = 5; +} + +pub struct TestSpendOrigin; +impl frame_support::traits::EnsureOrigin for TestSpendOrigin { + type Success = u64; + fn try_origin(o: RuntimeOrigin) -> Result { + Result::, RuntimeOrigin>::from(o).and_then(|o| match o { + frame_system::RawOrigin::Root => Ok(u64::max_value()), + frame_system::RawOrigin::Signed(10) => Ok(5), + frame_system::RawOrigin::Signed(11) => Ok(10), + frame_system::RawOrigin::Signed(12) => Ok(20), + frame_system::RawOrigin::Signed(13) => Ok(50), + r => Err(RuntimeOrigin::from(r)), + }) + } + #[cfg(feature = "runtime-benchmarks")] + fn try_successful_origin() -> Result { + if TEST_SPEND_ORIGIN_TRY_SUCCESFUL_ORIGIN_ERR.with(|i| *i.borrow()) { + Err(()) + } else { + Ok(frame_system::RawOrigin::Root.into()) + } + } +} + +pub struct MulBy(PhantomData); +impl> ConversionFromAssetBalance for MulBy { + type Error = (); + fn from_asset_balance(balance: u64, _asset_id: u32) -> Result { + return balance.checked_mul(N::get()).ok_or(()); + } + #[cfg(feature = "runtime-benchmarks")] + fn ensure_successful(_: u32) {} +} + +impl Config for Test { + type PalletId = TreasuryPalletId; + type Currency = pallet_balances::Pallet; + type ApproveOrigin = frame_system::EnsureRoot; + type RejectOrigin = frame_system::EnsureRoot; + type RuntimeEvent = RuntimeEvent; + type OnSlash = (); + type ProposalBond = ProposalBond; + type ProposalBondMinimum = ConstU64<1>; + type ProposalBondMaximum = (); + type SpendPeriod = ConstU64<2>; + type Burn = Burn; + type BurnDestination = (); // Just gets burned. + type WeightInfo = (); + type SpendFunds = (); + type MaxApprovals = ConstU32<100>; + type SpendOrigin = TestSpendOrigin; + type AssetKind = u32; + type Beneficiary = u128; + type BeneficiaryLookup = IdentityLookup; + type Paymaster = TestPay; + type BalanceConverter = MulBy>; + type PayoutPeriod = SpendPayoutPeriod; + #[cfg(feature = "runtime-benchmarks")] + type BenchmarkHelper = (); +} + +pub struct ExtBuilder {} + +impl Default for ExtBuilder { + fn default() -> Self { + #[cfg(feature = "runtime-benchmarks")] + TEST_SPEND_ORIGIN_TRY_SUCCESFUL_ORIGIN_ERR.with(|i| *i.borrow_mut() = false); + + Self {} + } +} + +impl ExtBuilder { + #[cfg(feature = "runtime-benchmarks")] + pub fn spend_origin_succesful_origin_err(self) -> Self { + TEST_SPEND_ORIGIN_TRY_SUCCESFUL_ORIGIN_ERR.with(|i| *i.borrow_mut() = true); + self + } + + pub fn build(self) -> sp_io::TestExternalities { + let mut t = frame_system::GenesisConfig::::default() + .build_storage() + .unwrap(); + pallet_balances::GenesisConfig:: { + // Total issuance will be 200 with treasury account initialized at ED. + balances: vec![(0, 100), (1, 98), (2, 1)], + } + .assimilate_storage(&mut t) + .unwrap(); + crate::GenesisConfig::::default() + .assimilate_storage(&mut t) + .unwrap(); + let mut ext = sp_io::TestExternalities::new(t); + ext.execute_with(|| System::set_block_number(1)); + ext + } +} + +fn get_payment_id(i: SpendIndex) -> Option { + let spend = Spends::::get(i).expect("no spend"); + match spend.status { + PaymentState::Attempted { id } => Some(id), + _ => None, + } +} + +#[test] +fn genesis_config_works() { + ExtBuilder::default().build().execute_with(|| { + assert_eq!(Treasury::pot(), 0); + assert_eq!(Treasury::proposal_count(), 0); + }); +} + +#[test] +fn spend_local_origin_permissioning_works() { + ExtBuilder::default().build().execute_with(|| { + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(1), 1, 1), + BadOrigin + ); + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(10), 6, 1), + Error::::InsufficientPermission + ); + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(11), 11, 1), + Error::::InsufficientPermission + ); + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(12), 21, 1), + Error::::InsufficientPermission + ); + assert_noop!( + Treasury::spend_local(RuntimeOrigin::signed(13), 51, 1), + Error::::InsufficientPermission + ); + }); +} + +#[docify::export] +#[test] +fn spend_local_origin_works() { + ExtBuilder::default().build().execute_with(|| { + // Check that accumulate works when we have Some value in Dummy already. + Balances::make_free_balance_be(&Treasury::account_id(), 101); + // approve spend of some amount to beneficiary `6`. + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(10), 5, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(11), 10, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(12), 20, 6)); + assert_ok!(Treasury::spend_local(RuntimeOrigin::signed(13), 50, 6)); + // free balance of `6` is zero, spend period has not passed. + >::on_initialize(1); + assert_eq!(Balances::free_balance(6), 0); + // free balance of `6` is `100`, spend period has passed. + >::on_initialize(2); + assert_eq!(Balances::free_balance(6), 100); + // `100` spent, `1` burned. + assert_eq!(Treasury::pot(), 0); + }); +} + +#[test] +fn minting_works() { + ExtBuilder::default().build().execute_with(|| { + // Check that accumulate works when we have Some value in Dummy already. + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Treasury::pot(), 100); + }); +} + +#[test] +fn spend_proposal_takes_min_deposit() { + ExtBuilder::default().build().execute_with(|| { + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) + }); + assert_eq!(Balances::free_balance(0), 99); + assert_eq!(Balances::reserved_balance(0), 1); + }); +} + +#[test] +fn spend_proposal_takes_proportional_deposit() { + ExtBuilder::default().build().execute_with(|| { + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_eq!(Balances::free_balance(0), 95); + assert_eq!(Balances::reserved_balance(0), 5); + }); +} + +#[test] +fn spend_proposal_fails_when_proposer_poor() { + ExtBuilder::default().build().execute_with(|| { + assert_noop!( + { + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(2), 100, 3) + }, + Error::::InsufficientProposersBalance, + ); + }); +} + +#[test] +fn accepted_spend_proposal_ignored_outside_spend_period() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(1); + assert_eq!(Balances::free_balance(3), 0); + assert_eq!(Treasury::pot(), 100); + }); +} + +#[test] +fn unused_pot_should_diminish() { + ExtBuilder::default().build().execute_with(|| { + let init_total_issuance = Balances::total_issuance(); + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Balances::total_issuance(), init_total_issuance + 100); + + >::on_initialize(2); + assert_eq!(Treasury::pot(), 50); + assert_eq!(Balances::total_issuance(), init_total_issuance + 50); + }); +} + +#[test] +fn rejected_spend_proposal_ignored_on_spend_period() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(2); + assert_eq!(Balances::free_balance(3), 0); + assert_eq!(Treasury::pot(), 50); + }); +} + +#[test] +fn reject_already_rejected_spend_proposal_fails() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }); + assert_noop!( + { + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }, + Error::::InvalidIndex + ); + }); +} + +#[test] +fn reject_non_existent_spend_proposal_fails() { + ExtBuilder::default().build().execute_with(|| { + assert_noop!( + { + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }, + Error::::InvalidIndex + ); + }); +} + +#[test] +fn accept_non_existent_spend_proposal_fails() { + ExtBuilder::default().build().execute_with(|| { + assert_noop!( + { + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }, + Error::::InvalidIndex + ); + }); +} + +#[test] +fn accept_already_rejected_spend_proposal_fails() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::reject_proposal(RuntimeOrigin::root(), 0) + }); + assert_noop!( + { + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }, + Error::::InvalidIndex + ); + }); +} + +#[test] +fn accepted_spend_proposal_enacted_on_spend_period() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Treasury::pot(), 100); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(2); + assert_eq!(Balances::free_balance(3), 100); + assert_eq!(Treasury::pot(), 0); + }); +} + +#[test] +fn pot_underflow_should_not_diminish() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Treasury::pot(), 100); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 150, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(2); + assert_eq!(Treasury::pot(), 100); // Pot hasn't changed + + let _ = Balances::deposit_into_existing(&Treasury::account_id(), 100).unwrap(); + >::on_initialize(4); + assert_eq!(Balances::free_balance(3), 150); // Fund has been spent + assert_eq!(Treasury::pot(), 25); // Pot has finally changed + }); +} + +// Treasury account doesn't get deleted if amount approved to spend is all its free balance. +// i.e. pot should not include existential deposit needed for account survival. +#[test] +fn treasury_account_doesnt_get_deleted() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + assert_eq!(Treasury::pot(), 100); + let treasury_balance = Balances::free_balance(&Treasury::account_id()); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), treasury_balance, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + + >::on_initialize(2); + assert_eq!(Treasury::pot(), 100); // Pot hasn't changed + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), Treasury::pot(), 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 1) + }); + + >::on_initialize(4); + assert_eq!(Treasury::pot(), 0); // Pot is emptied + assert_eq!(Balances::free_balance(Treasury::account_id()), 1); // but the account is still there + }); +} + +// In case treasury account is not existing then it works fine. +// This is useful for chain that will just update runtime. +#[test] +fn inexistent_account_works() { + let mut t = frame_system::GenesisConfig::::default() + .build_storage() + .unwrap(); + pallet_balances::GenesisConfig:: { + balances: vec![(0, 100), (1, 99), (2, 1)], + } + .assimilate_storage(&mut t) + .unwrap(); + // Treasury genesis config is not build thus treasury account does not exist + let mut t: sp_io::TestExternalities = t.into(); + + t.execute_with(|| { + assert_eq!(Balances::free_balance(Treasury::account_id()), 0); // Account does not exist + assert_eq!(Treasury::pot(), 0); // Pot is empty + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 99, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 1) + }); + >::on_initialize(2); + assert_eq!(Treasury::pot(), 0); // Pot hasn't changed + assert_eq!(Balances::free_balance(3), 0); // Balance of `3` hasn't changed + + Balances::make_free_balance_be(&Treasury::account_id(), 100); + assert_eq!(Treasury::pot(), 99); // Pot now contains funds + assert_eq!(Balances::free_balance(Treasury::account_id()), 100); // Account does exist + + >::on_initialize(4); + + assert_eq!(Treasury::pot(), 0); // Pot has changed + assert_eq!(Balances::free_balance(3), 99); // Balance of `3` has changed + }); +} + +#[test] +fn genesis_funding_works() { + let mut t = frame_system::GenesisConfig::::default() + .build_storage() + .unwrap(); + let initial_funding = 100; + pallet_balances::GenesisConfig:: { + // Total issuance will be 200 with treasury account initialized with 100. + balances: vec![(0, 100), (Treasury::account_id(), initial_funding)], + } + .assimilate_storage(&mut t) + .unwrap(); + crate::GenesisConfig::::default() + .assimilate_storage(&mut t) + .unwrap(); + let mut t: sp_io::TestExternalities = t.into(); + + t.execute_with(|| { + assert_eq!( + Balances::free_balance(Treasury::account_id()), + initial_funding + ); + assert_eq!( + Treasury::pot(), + initial_funding - Balances::minimum_balance() + ); + }); +} + +#[test] +fn max_approvals_limited() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), u64::MAX); + Balances::make_free_balance_be(&0, u64::MAX); + + for _ in 0..::MaxApprovals::get() { + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + } + + // One too many will fail + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_noop!( + { + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }, + Error::::TooManyApprovals + ); + }); +} + +#[test] +fn remove_already_removed_approval_fails() { + ExtBuilder::default().build().execute_with(|| { + Balances::make_free_balance_be(&Treasury::account_id(), 101); + + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 100, 3) + }); + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + assert_eq!(Treasury::approvals(), vec![0]); + assert_ok!(Treasury::remove_approval(RuntimeOrigin::root(), 0)); + assert_eq!(Treasury::approvals(), vec![]); + + assert_noop!( + Treasury::remove_approval(RuntimeOrigin::root(), 0), + Error::::ProposalNotApproved + ); + }); +} + +#[test] +fn spending_local_in_batch_respects_max_total() { + ExtBuilder::default().build().execute_with(|| { + // Respect the `max_total` for the given origin. + assert_ok!(RuntimeCall::from(UtilityCall::batch_all { + calls: vec![ + RuntimeCall::from(TreasuryCall::spend_local { + amount: 2, + beneficiary: 100 + }), + RuntimeCall::from(TreasuryCall::spend_local { + amount: 2, + beneficiary: 101 + }) + ] + }) + .dispatch(RuntimeOrigin::signed(10))); + + assert_err_ignore_postinfo!( + RuntimeCall::from(UtilityCall::batch_all { + calls: vec![ + RuntimeCall::from(TreasuryCall::spend_local { + amount: 2, + beneficiary: 100 + }), + RuntimeCall::from(TreasuryCall::spend_local { + amount: 4, + beneficiary: 101 + }) + ] + }) + .dispatch(RuntimeOrigin::signed(10)), + Error::::InsufficientPermission + ); + }) +} + +#[test] +fn spending_in_batch_respects_max_total() { + ExtBuilder::default().build().execute_with(|| { + // Respect the `max_total` for the given origin. + assert_ok!(RuntimeCall::from(UtilityCall::batch_all { + calls: vec![ + RuntimeCall::from(TreasuryCall::spend { + asset_kind: Box::new(1), + amount: 1, + beneficiary: Box::new(100), + valid_from: None, + }), + RuntimeCall::from(TreasuryCall::spend { + asset_kind: Box::new(1), + amount: 1, + beneficiary: Box::new(101), + valid_from: None, + }) + ] + }) + .dispatch(RuntimeOrigin::signed(10))); + + assert_err_ignore_postinfo!( + RuntimeCall::from(UtilityCall::batch_all { + calls: vec![ + RuntimeCall::from(TreasuryCall::spend { + asset_kind: Box::new(1), + amount: 2, + beneficiary: Box::new(100), + valid_from: None, + }), + RuntimeCall::from(TreasuryCall::spend { + asset_kind: Box::new(1), + amount: 2, + beneficiary: Box::new(101), + valid_from: None, + }) + ] + }) + .dispatch(RuntimeOrigin::signed(10)), + Error::::InsufficientPermission + ); + }) +} + +#[test] +fn spend_origin_works() { + ExtBuilder::default().build().execute_with(|| { + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 1, + Box::new(6), + None + )); + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + assert_noop!( + Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 3, Box::new(6), None), + Error::::InsufficientPermission + ); + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(11), + Box::new(1), + 5, + Box::new(6), + None + )); + assert_noop!( + Treasury::spend(RuntimeOrigin::signed(11), Box::new(1), 6, Box::new(6), None), + Error::::InsufficientPermission + ); + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(12), + Box::new(1), + 10, + Box::new(6), + None + )); + assert_noop!( + Treasury::spend( + RuntimeOrigin::signed(12), + Box::new(1), + 11, + Box::new(6), + None + ), + Error::::InsufficientPermission + ); + + assert_eq!(SpendCount::::get(), 4); + assert_eq!(Spends::::iter().count(), 4); + }); +} + +#[test] +fn spend_works() { + ExtBuilder::default().build().execute_with(|| { + System::set_block_number(1); + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + + assert_eq!(SpendCount::::get(), 1); + assert_eq!( + Spends::::get(0).unwrap(), + SpendStatus { + asset_kind: 1, + amount: 2, + beneficiary: 6, + valid_from: 1, + expire_at: 6, + status: PaymentState::Pending, + } + ); + System::assert_last_event( + Event::::AssetSpendApproved { + index: 0, + asset_kind: 1, + amount: 2, + beneficiary: 6, + valid_from: 1, + expire_at: 6, + } + .into(), + ); + }); +} + +#[test] +fn spend_expires() { + ExtBuilder::default().build().execute_with(|| { + assert_eq!(::PayoutPeriod::get(), 5); + + // spend `0` expires in 5 blocks after the creating. + System::set_block_number(1); + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + System::set_block_number(6); + assert_noop!( + Treasury::payout(RuntimeOrigin::signed(1), 0), + Error::::SpendExpired + ); + + // spend cannot be approved since its already expired. + assert_noop!( + Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(0) + ), + Error::::SpendExpired + ); + }); +} + +#[docify::export] +#[test] +fn spend_payout_works() { + ExtBuilder::default().build().execute_with(|| { + System::set_block_number(1); + // approve a `2` coins spend of asset `1` to beneficiary `6`, the spend valid from now. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + // payout the spend. + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + // beneficiary received `2` coins of asset `1`. + assert_eq!(paid(6, 1), 2); + assert_eq!(SpendCount::::get(), 1); + let payment_id = get_payment_id(0).expect("no payment attempt"); + System::assert_last_event( + Event::::Paid { + index: 0, + payment_id, + } + .into(), + ); + set_status(payment_id, PaymentStatus::Success); + // the payment succeed. + assert_ok!(Treasury::check_status(RuntimeOrigin::signed(1), 0)); + System::assert_last_event(Event::::SpendProcessed { index: 0 }.into()); + // cannot payout the same spend twice. + assert_noop!( + Treasury::payout(RuntimeOrigin::signed(1), 0), + Error::::InvalidIndex + ); + }); +} + +#[test] +fn payout_retry_works() { + ExtBuilder::default().build().execute_with(|| { + System::set_block_number(1); + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + assert_eq!(paid(6, 1), 2); + let payment_id = get_payment_id(0).expect("no payment attempt"); + // spend payment is failed + set_status(payment_id, PaymentStatus::Failure); + unpay(6, 1, 2); + // cannot payout a spend in the attempted state + assert_noop!( + Treasury::payout(RuntimeOrigin::signed(1), 0), + Error::::AlreadyAttempted + ); + // check status and update it to retry the payout again + assert_ok!(Treasury::check_status(RuntimeOrigin::signed(1), 0)); + System::assert_last_event( + Event::::PaymentFailed { + index: 0, + payment_id, + } + .into(), + ); + // the payout can be retried now + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + assert_eq!(paid(6, 1), 2); + }); +} + +#[test] +fn spend_valid_from_works() { + ExtBuilder::default().build().execute_with(|| { + assert_eq!(::PayoutPeriod::get(), 5); + System::set_block_number(1); + + // spend valid from block `2`. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(2) + )); + assert_noop!( + Treasury::payout(RuntimeOrigin::signed(1), 0), + Error::::EarlyPayout + ); + System::set_block_number(2); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + + System::set_block_number(5); + // spend approved even if `valid_from` in the past since the payout period has not passed. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(4) + )); + // spend paid. + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 1)); + }); +} + +#[test] +fn void_spend_works() { + ExtBuilder::default().build().execute_with(|| { + System::set_block_number(1); + // spend cannot be voided if already attempted. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(1) + )); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 0)); + assert_noop!( + Treasury::void_spend(RuntimeOrigin::root(), 0), + Error::::AlreadyAttempted + ); + + // void spend. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + Some(10) + )); + assert_ok!(Treasury::void_spend(RuntimeOrigin::root(), 1)); + assert_eq!(Spends::::get(1), None); + }); +} + +#[test] +fn check_status_works() { + ExtBuilder::default().build().execute_with(|| { + assert_eq!(::PayoutPeriod::get(), 5); + System::set_block_number(1); + + // spend `0` expired and can be removed. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + System::set_block_number(7); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 0).unwrap(); + assert_eq!(info.pays_fee, Pays::No); + System::assert_last_event(Event::::SpendProcessed { index: 0 }.into()); + + // spend `1` payment failed and expired hence can be removed. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + assert_noop!( + Treasury::check_status(RuntimeOrigin::signed(1), 1), + Error::::NotAttempted + ); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 1)); + let payment_id = get_payment_id(1).expect("no payment attempt"); + set_status(payment_id, PaymentStatus::Failure); + // spend expired. + System::set_block_number(13); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 1).unwrap(); + assert_eq!(info.pays_fee, Pays::Yes); + System::assert_last_event( + Event::::PaymentFailed { + index: 1, + payment_id, + } + .into(), + ); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 1).unwrap(); + assert_eq!(info.pays_fee, Pays::No); + System::assert_last_event(Event::::SpendProcessed { index: 1 }.into()); + + // spend `2` payment succeed. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 2)); + let payment_id = get_payment_id(2).expect("no payment attempt"); + set_status(payment_id, PaymentStatus::Success); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 2).unwrap(); + assert_eq!(info.pays_fee, Pays::No); + System::assert_last_event(Event::::SpendProcessed { index: 2 }.into()); + + // spend `3` payment in process. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 3)); + let payment_id = get_payment_id(3).expect("no payment attempt"); + set_status(payment_id, PaymentStatus::InProgress); + assert_noop!( + Treasury::check_status(RuntimeOrigin::signed(1), 3), + Error::::Inconclusive + ); + + // spend `4` removed since the payment status is unknown. + assert_ok!(Treasury::spend( + RuntimeOrigin::signed(10), + Box::new(1), + 2, + Box::new(6), + None + )); + assert_ok!(Treasury::payout(RuntimeOrigin::signed(1), 4)); + let payment_id = get_payment_id(4).expect("no payment attempt"); + set_status(payment_id, PaymentStatus::Unknown); + let info = Treasury::check_status(RuntimeOrigin::signed(1), 4).unwrap(); + assert_eq!(info.pays_fee, Pays::No); + System::assert_last_event(Event::::SpendProcessed { index: 4 }.into()); + }); +} + +#[test] +fn try_state_proposals_invariant_1_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Add a proposal using `propose_spend` + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) + }); + assert_eq!(Proposals::::iter().count(), 1); + assert_eq!(ProposalCount::::get(), 1); + // Check invariant 1 holds + assert!(ProposalCount::::get() as usize >= Proposals::::iter().count()); + // Break invariant 1 by decreasing `ProposalCount` + ProposalCount::::put(0); + // Invariant 1 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("Actual number of proposals exceeds `ProposalCount`.")) + ); + }); +} + +#[test] +fn try_state_proposals_invariant_2_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Add a proposal using `propose_spend` + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 1, 3) + }); + assert_eq!(Proposals::::iter().count(), 1); + let current_proposal_count = ProposalCount::::get(); + assert_eq!(current_proposal_count, 1); + // Check invariant 2 holds + assert!( + Proposals::::iter_keys() + .all(|proposal_index| { + proposal_index < current_proposal_count + }) + ); + // Break invariant 2 by inserting the proposal under key = 1 + let proposal = Proposals::::take(0).unwrap(); + Proposals::::insert(1, proposal); + // Invariant 2 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("`ProposalCount` should by strictly greater than any ProposalIndex used as a key for `Proposals`.")) + ); + }); +} + +#[test] +fn try_state_proposals_invariant_3_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Add a proposal using `propose_spend` + assert_ok!({ + #[allow(deprecated)] + Treasury::propose_spend(RuntimeOrigin::signed(0), 10, 3) + }); + assert_eq!(Proposals::::iter().count(), 1); + // Approve the proposal + assert_ok!({ + #[allow(deprecated)] + Treasury::approve_proposal(RuntimeOrigin::root(), 0) + }); + assert_eq!(Approvals::::get().len(), 1); + // Check invariant 3 holds + assert!(Approvals::::get() + .iter() + .all(|proposal_index| { Proposals::::contains_key(proposal_index) })); + // Break invariant 3 by adding another key to `Approvals` + let mut approvals_modified = Approvals::::get(); + approvals_modified.try_push(2).unwrap(); + Approvals::::put(approvals_modified); + // Invariant 3 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other( + "Proposal indices in `Approvals` must also be contained in `Proposals`." + )) + ); + }); +} + +#[test] +fn try_state_spends_invariant_1_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Propose and approve a spend + assert_ok!({ + Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 1, Box::new(6), None) + }); + assert_eq!(Spends::::iter().count(), 1); + assert_eq!(SpendCount::::get(), 1); + // Check invariant 1 holds + assert!(SpendCount::::get() as usize >= Spends::::iter().count()); + // Break invariant 1 by decreasing `SpendCount` + SpendCount::::put(0); + // Invariant 1 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("Actual number of spends exceeds `SpendCount`.")) + ); + }); +} + +#[test] +fn try_state_spends_invariant_2_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Propose and approve a spend + assert_ok!({ + Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 1, Box::new(6), None) + }); + assert_eq!(Spends::::iter().count(), 1); + let current_spend_count = SpendCount::::get(); + assert_eq!(current_spend_count, 1); + // Check invariant 2 holds + assert!( + Spends::::iter_keys() + .all(|spend_index| { + spend_index < current_spend_count + }) + ); + // Break invariant 2 by inserting the spend under key = 1 + let spend = Spends::::take(0).unwrap(); + Spends::::insert(1, spend); + // Invariant 2 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("`SpendCount` should by strictly greater than any SpendIndex used as a key for `Spends`.")) + ); + }); +} + +#[test] +fn try_state_spends_invariant_3_works() { + ExtBuilder::default().build().execute_with(|| { + use frame_support::pallet_prelude::DispatchError::Other; + // Propose and approve a spend + assert_ok!({ + Treasury::spend(RuntimeOrigin::signed(10), Box::new(1), 1, Box::new(6), None) + }); + assert_eq!(Spends::::iter().count(), 1); + let current_spend_count = SpendCount::::get(); + assert_eq!(current_spend_count, 1); + // Check invariant 3 holds + assert!(Spends::::iter_values().all( + |SpendStatus { + valid_from, + expire_at, + .. + }| { valid_from < expire_at } + )); + // Break invariant 3 by reversing spend.expire_at and spend.valid_from + let spend = Spends::::take(0).unwrap(); + Spends::::insert( + 0, + SpendStatus { + valid_from: spend.expire_at, + expire_at: spend.valid_from, + ..spend + }, + ); + // Invariant 3 should be violated + assert_eq!( + Treasury::do_try_state(), + Err(Other("Spend cannot expire before it becomes valid.")) + ); + }); +} diff --git a/vendor/treasury/src/weights.rs b/vendor/treasury/src/weights.rs new file mode 100644 index 000000000..82277e2d2 --- /dev/null +++ b/vendor/treasury/src/weights.rs @@ -0,0 +1,367 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! Autogenerated weights for `pallet_treasury` +//! +//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 +//! DATE: 2024-04-09, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! WORST CASE MAP SIZE: `1000000` +//! HOSTNAME: `runner-anb7yjbi-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024` + +// Executed Command: +// ./target/production/substrate-node +// benchmark +// pallet +// --chain=dev +// --steps=50 +// --repeat=20 +// --pallet=pallet_treasury +// --no-storage-info +// --no-median-slopes +// --no-min-squares +// --extrinsic=* +// --wasm-execution=compiled +// --heap-pages=4096 +// --output=./substrate/frame/treasury/src/weights.rs +// --header=./substrate/HEADER-APACHE2 +// --template=./substrate/.maintain/frame-weight-template.hbs + +#![cfg_attr(rustfmt, rustfmt_skip)] +#![allow(unused_parens)] +#![allow(unused_imports)] +#![allow(missing_docs)] + +use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}}; +use core::marker::PhantomData; + +/// Weight functions needed for `pallet_treasury`. +pub trait WeightInfo { + fn spend_local() -> Weight; + fn propose_spend() -> Weight; + fn reject_proposal() -> Weight; + fn approve_proposal(p: u32, ) -> Weight; + fn remove_approval() -> Weight; + fn on_initialize_proposals(p: u32, ) -> Weight; + fn spend() -> Weight; + fn payout() -> Weight; + fn check_status() -> Weight; + fn void_spend() -> Weight; +} + +/// Weights for `pallet_treasury` using the Substrate node and recommended hardware. +pub struct SubstrateWeight(PhantomData); +impl WeightInfo for SubstrateWeight { + /// Storage: `Treasury::ProposalCount` (r:1 w:1) + /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:0 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + fn spend_local() -> Weight { + // Proof Size summary in bytes: + // Measured: `76` + // Estimated: `1887` + // Minimum execution time: 11_910_000 picoseconds. + Weight::from_parts(12_681_000, 1887) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(3_u64)) + } + /// Storage: `Treasury::ProposalCount` (r:1 w:1) + /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:0 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + fn propose_spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `177` + // Estimated: `1489` + // Minimum execution time: 24_704_000 picoseconds. + Weight::from_parts(25_484_000, 1489) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Proposals` (r:1 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn reject_proposal() -> Weight { + // Proof Size summary in bytes: + // Measured: `335` + // Estimated: `3593` + // Minimum execution time: 26_632_000 picoseconds. + Weight::from_parts(27_325_000, 3593) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Proposals` (r:1 w:0) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// The range of component `p` is `[0, 99]`. + fn approve_proposal(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `504 + p * (8 ±0)` + // Estimated: `3573` + // Minimum execution time: 8_436_000 picoseconds. + Weight::from_parts(11_268_438, 3573) + // Standard Error: 1_039 + .saturating_add(Weight::from_parts(70_903, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + fn remove_approval() -> Weight { + // Proof Size summary in bytes: + // Measured: `161` + // Estimated: `1887` + // Minimum execution time: 6_372_000 picoseconds. + Weight::from_parts(6_567_000, 1887) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Deactivated` (r:1 w:1) + /// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:99 w:99) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:198 w:198) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Bounties::BountyApprovals` (r:1 w:1) + /// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// The range of component `p` is `[0, 99]`. + fn on_initialize_proposals(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `451 + p * (251 ±0)` + // Estimated: `1887 + p * (5206 ±0)` + // Minimum execution time: 33_150_000 picoseconds. + Weight::from_parts(41_451_020, 1887) + // Standard Error: 19_018 + .saturating_add(Weight::from_parts(34_410_759, 0).saturating_mul(p.into())) + .saturating_add(T::DbWeight::get().reads(3_u64)) + .saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(p.into()))) + .saturating_add(T::DbWeight::get().writes(3_u64)) + .saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(p.into()))) + .saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into())) + } + /// Storage: `AssetRate::ConversionRateToNative` (r:1 w:0) + /// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`) + /// Storage: `Treasury::SpendCount` (r:1 w:1) + /// Proof: `Treasury::SpendCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Spends` (r:0 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `140` + // Estimated: `3501` + // Minimum execution time: 14_233_000 picoseconds. + Weight::from_parts(14_842_000, 3501) + .saturating_add(T::DbWeight::get().reads(2_u64)) + .saturating_add(T::DbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:2 w:2) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn payout() -> Weight { + // Proof Size summary in bytes: + // Measured: `709` + // Estimated: `6208` + // Minimum execution time: 58_857_000 picoseconds. + Weight::from_parts(61_291_000, 6208) + .saturating_add(T::DbWeight::get().reads(5_u64)) + .saturating_add(T::DbWeight::get().writes(5_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn check_status() -> Weight { + // Proof Size summary in bytes: + // Measured: `198` + // Estimated: `3538` + // Minimum execution time: 12_116_000 picoseconds. + Weight::from_parts(12_480_000, 3538) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn void_spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `198` + // Estimated: `3538` + // Minimum execution time: 10_834_000 picoseconds. + Weight::from_parts(11_427_000, 3538) + .saturating_add(T::DbWeight::get().reads(1_u64)) + .saturating_add(T::DbWeight::get().writes(1_u64)) + } +} + +// For backwards compatibility and tests. +impl WeightInfo for () { + /// Storage: `Treasury::ProposalCount` (r:1 w:1) + /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:0 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + fn spend_local() -> Weight { + // Proof Size summary in bytes: + // Measured: `76` + // Estimated: `1887` + // Minimum execution time: 11_910_000 picoseconds. + Weight::from_parts(12_681_000, 1887) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + } + /// Storage: `Treasury::ProposalCount` (r:1 w:1) + /// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:0 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + fn propose_spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `177` + // Estimated: `1489` + // Minimum execution time: 24_704_000 picoseconds. + Weight::from_parts(25_484_000, 1489) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Proposals` (r:1 w:1) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn reject_proposal() -> Weight { + // Proof Size summary in bytes: + // Measured: `335` + // Estimated: `3593` + // Minimum execution time: 26_632_000 picoseconds. + Weight::from_parts(27_325_000, 3593) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Proposals` (r:1 w:0) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// The range of component `p` is `[0, 99]`. + fn approve_proposal(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `504 + p * (8 ±0)` + // Estimated: `3573` + // Minimum execution time: 8_436_000 picoseconds. + Weight::from_parts(11_268_438, 3573) + // Standard Error: 1_039 + .saturating_add(Weight::from_parts(70_903, 0).saturating_mul(p.into())) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + fn remove_approval() -> Weight { + // Proof Size summary in bytes: + // Measured: `161` + // Estimated: `1887` + // Minimum execution time: 6_372_000 picoseconds. + Weight::from_parts(6_567_000, 1887) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Deactivated` (r:1 w:1) + /// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Approvals` (r:1 w:1) + /// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Proposals` (r:99 w:99) + /// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:198 w:198) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + /// Storage: `Bounties::BountyApprovals` (r:1 w:1) + /// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`) + /// The range of component `p` is `[0, 99]`. + fn on_initialize_proposals(p: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `451 + p * (251 ±0)` + // Estimated: `1887 + p * (5206 ±0)` + // Minimum execution time: 33_150_000 picoseconds. + Weight::from_parts(41_451_020, 1887) + // Standard Error: 19_018 + .saturating_add(Weight::from_parts(34_410_759, 0).saturating_mul(p.into())) + .saturating_add(RocksDbWeight::get().reads(3_u64)) + .saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(p.into()))) + .saturating_add(RocksDbWeight::get().writes(3_u64)) + .saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(p.into()))) + .saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into())) + } + /// Storage: `AssetRate::ConversionRateToNative` (r:1 w:0) + /// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`) + /// Storage: `Treasury::SpendCount` (r:1 w:1) + /// Proof: `Treasury::SpendCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`) + /// Storage: `Treasury::Spends` (r:0 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `140` + // Estimated: `3501` + // Minimum execution time: 14_233_000 picoseconds. + Weight::from_parts(14_842_000, 3501) + .saturating_add(RocksDbWeight::get().reads(2_u64)) + .saturating_add(RocksDbWeight::get().writes(2_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `Assets::Asset` (r:1 w:1) + /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`) + /// Storage: `Assets::Account` (r:2 w:2) + /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) + fn payout() -> Weight { + // Proof Size summary in bytes: + // Measured: `709` + // Estimated: `6208` + // Minimum execution time: 58_857_000 picoseconds. + Weight::from_parts(61_291_000, 6208) + .saturating_add(RocksDbWeight::get().reads(5_u64)) + .saturating_add(RocksDbWeight::get().writes(5_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn check_status() -> Weight { + // Proof Size summary in bytes: + // Measured: `198` + // Estimated: `3538` + // Minimum execution time: 12_116_000 picoseconds. + Weight::from_parts(12_480_000, 3538) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } + /// Storage: `Treasury::Spends` (r:1 w:1) + /// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + fn void_spend() -> Weight { + // Proof Size summary in bytes: + // Measured: `198` + // Estimated: `3538` + // Minimum execution time: 10_834_000 picoseconds. + Weight::from_parts(11_427_000, 3538) + .saturating_add(RocksDbWeight::get().reads(1_u64)) + .saturating_add(RocksDbWeight::get().writes(1_u64)) + } +} From f2cfc25be589aeda890acabc3186bbda6a270b8a Mon Sep 17 00:00:00 2001 From: vedhavyas Date: Wed, 23 Oct 2024 16:14:21 +0530 Subject: [PATCH 12/12] update frontier port and pull custom fixes on frontier --- Cargo.lock | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1d573cc46..f0d8b6c6f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3743,7 +3743,7 @@ dependencies = [ [[package]] name = "fc-api" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "async-trait", "fp-storage", @@ -3755,7 +3755,7 @@ dependencies = [ [[package]] name = "fc-consensus" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "async-trait", "fp-consensus", @@ -3771,7 +3771,7 @@ dependencies = [ [[package]] name = "fc-db" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "async-trait", "fc-api", @@ -3792,7 +3792,7 @@ dependencies = [ [[package]] name = "fc-mapping-sync" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "fc-db", "fc-storage", @@ -3813,7 +3813,7 @@ dependencies = [ [[package]] name = "fc-rpc" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "ethereum", "ethereum-types", @@ -3867,7 +3867,7 @@ dependencies = [ [[package]] name = "fc-rpc-core" version = "1.1.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "ethereum", "ethereum-types", @@ -3882,7 +3882,7 @@ dependencies = [ [[package]] name = "fc-storage" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "ethereum", "ethereum-types", @@ -4054,7 +4054,7 @@ dependencies = [ [[package]] name = "fp-account" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "hex", "impl-serde", @@ -4073,7 +4073,7 @@ dependencies = [ [[package]] name = "fp-consensus" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "ethereum", "parity-scale-codec", @@ -4084,7 +4084,7 @@ dependencies = [ [[package]] name = "fp-ethereum" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "ethereum", "ethereum-types", @@ -4096,7 +4096,7 @@ dependencies = [ [[package]] name = "fp-evm" version = "3.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "evm", "frame-support", @@ -4111,7 +4111,7 @@ dependencies = [ [[package]] name = "fp-rpc" version = "3.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "ethereum", "ethereum-types", @@ -4127,7 +4127,7 @@ dependencies = [ [[package]] name = "fp-self-contained" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "frame-support", "parity-scale-codec", @@ -4139,7 +4139,7 @@ dependencies = [ [[package]] name = "fp-storage" version = "2.0.0" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "parity-scale-codec", "serde", @@ -8535,7 +8535,7 @@ dependencies = [ [[package]] name = "pallet-ethereum" version = "4.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "ethereum", "ethereum-types", @@ -8582,7 +8582,7 @@ dependencies = [ [[package]] name = "pallet-evm" version = "6.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "environmental", "evm", @@ -8605,7 +8605,7 @@ dependencies = [ [[package]] name = "pallet-evm-chain-id" version = "1.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "frame-support", "frame-system", @@ -8642,7 +8642,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-blake2" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "fp-evm", ] @@ -8650,7 +8650,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-bn128" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "fp-evm", "sp-core", @@ -8688,7 +8688,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-dispatch" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "fp-evm", "frame-support", @@ -8726,7 +8726,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-ed25519" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "ed25519-dalek", "fp-evm", @@ -8735,7 +8735,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-modexp" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "fp-evm", "num", @@ -8744,7 +8744,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-sha3fips" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "fp-evm", "tiny-keccak", @@ -8753,7 +8753,7 @@ dependencies = [ [[package]] name = "pallet-evm-precompile-simple" version = "2.0.0-dev" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "fp-evm", "ripemd", @@ -11313,7 +11313,7 @@ dependencies = [ [[package]] name = "precompile-utils" version = "0.1.0" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "derive_more", "environmental", @@ -11342,7 +11342,7 @@ dependencies = [ [[package]] name = "precompile-utils-macro" version = "0.1.0" -source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#2e219e17a526125da003e64ef22ec037917083fa" +source = "git+https://github.com/AstarNetwork/frontier?branch=stable2407#68d63a3cfab5293eacf551ab84c75057a5772830" dependencies = [ "case", "num_enum 0.7.3",