From ae9ea5dfef94d2761825eae8ec0d41db1c4131ed Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Mon, 25 Nov 2024 16:36:22 +0100 Subject: [PATCH 01/15] feat: tx-pause and safe-mode pallets integration --- Cargo.lock | 612 ++++++++++++++------------ Cargo.toml | 2 + runtime/local/Cargo.toml | 8 + runtime/local/src/genesis_config.rs | 2 + runtime/local/src/lib.rs | 88 +++- runtime/shibuya/Cargo.toml | 8 + runtime/shibuya/src/genesis_config.rs | 2 + runtime/shibuya/src/lib.rs | 81 +++- 8 files changed, 504 insertions(+), 299 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9dec9d5ff7..44c6b56787 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1073,7 +1073,7 @@ dependencies = [ [[package]] name = "binary-merkle-tree" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "hash-db", "log", @@ -1286,7 +1286,7 @@ dependencies = [ [[package]] name = "bp-xcm-bridge-hub-router" version = "0.14.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "scale-info", @@ -2096,7 +2096,7 @@ dependencies = [ [[package]] name = "cumulus-client-cli" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "clap", "parity-scale-codec", @@ -2113,7 +2113,7 @@ dependencies = [ [[package]] name = "cumulus-client-collator" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "cumulus-client-consensus-common", "cumulus-client-network", @@ -2136,7 +2136,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-aura" version = "0.17.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "cumulus-client-collator", @@ -2181,7 +2181,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-common" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "cumulus-client-pov-recovery", @@ -2211,7 +2211,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-proposer" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "anyhow", "async-trait", @@ -2226,7 +2226,7 @@ dependencies = [ [[package]] name = "cumulus-client-consensus-relay-chain" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "cumulus-client-consensus-common", @@ -2249,7 +2249,7 @@ dependencies = [ [[package]] name = "cumulus-client-network" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "cumulus-relay-chain-interface", @@ -2275,7 +2275,7 @@ dependencies = [ [[package]] name = "cumulus-client-parachain-inherent" version = "0.11.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2297,7 +2297,7 @@ dependencies = [ [[package]] name = "cumulus-client-pov-recovery" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2323,7 +2323,7 @@ dependencies = [ [[package]] name = "cumulus-client-service" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "cumulus-client-cli", "cumulus-client-collator", @@ -2360,7 +2360,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-aura-ext" version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "cumulus-pallet-parachain-system", "frame-support", @@ -2376,8 +2376,8 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system" -version = "0.16.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +version = "0.16.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bytes", "cumulus-pallet-parachain-system-proc-macro", @@ -2413,7 +2413,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-parachain-system-proc-macro" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -2424,7 +2424,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcm" version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2439,7 +2439,7 @@ dependencies = [ [[package]] name = "cumulus-pallet-xcmp-queue" version = "0.16.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bounded-collections", "bp-xcm-bridge-hub-router", @@ -2464,7 +2464,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-aura" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2477,7 +2477,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-core" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "polkadot-core-primitives", @@ -2493,7 +2493,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-parachain-inherent" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2509,7 +2509,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-proof-size-hostfunction" version = "0.10.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "sp-externalities", "sp-runtime-interface", @@ -2519,7 +2519,7 @@ dependencies = [ [[package]] name = "cumulus-primitives-utility" version = "0.16.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -2538,7 +2538,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-inprocess-interface" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2562,7 +2562,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-interface" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2581,7 +2581,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-minimal-node" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "async-trait", @@ -2616,7 +2616,7 @@ dependencies = [ [[package]] name = "cumulus-relay-chain-rpc-interface" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "cumulus-primitives-core", @@ -2655,7 +2655,7 @@ dependencies = [ [[package]] name = "cumulus-test-relay-sproof-builder" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "cumulus-primitives-core", "parity-scale-codec", @@ -4033,7 +4033,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "fork-tree" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", ] @@ -4160,7 +4160,7 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-support-procedural", @@ -4184,7 +4184,7 @@ dependencies = [ [[package]] name = "frame-benchmarking-cli" version = "42.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "Inflector", "array-bytes", @@ -4234,7 +4234,7 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "14.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -4245,7 +4245,7 @@ dependencies = [ [[package]] name = "frame-election-provider-support" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -4261,7 +4261,7 @@ dependencies = [ [[package]] name = "frame-executive" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "aquamarine", "frame-support", @@ -4291,7 +4291,7 @@ dependencies = [ [[package]] name = "frame-metadata-hash-extension" version = "0.5.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "docify", @@ -4306,7 +4306,7 @@ dependencies = [ [[package]] name = "frame-support" version = "37.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "aquamarine", "array-bytes", @@ -4347,7 +4347,7 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "30.0.4" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "Inflector", "cfg-expr", @@ -4366,7 +4366,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate 3.2.0", @@ -4378,7 +4378,7 @@ dependencies = [ [[package]] name = "frame-support-procedural-tools-derive" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "proc-macro2", "quote", @@ -4388,7 +4388,7 @@ dependencies = [ [[package]] name = "frame-system" version = "37.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "cfg-if", "docify", @@ -4408,7 +4408,7 @@ dependencies = [ [[package]] name = "frame-system-benchmarking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -4422,7 +4422,7 @@ dependencies = [ [[package]] name = "frame-system-rpc-runtime-api" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "docify", "parity-scale-codec", @@ -4432,7 +4432,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "parity-scale-codec", @@ -6541,6 +6541,7 @@ dependencies = [ "pallet-membership", "pallet-preimage", "pallet-proxy", + "pallet-safe-mode", "pallet-scheduler", "pallet-static-price-provider", "pallet-sudo", @@ -6548,6 +6549,7 @@ dependencies = [ "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-treasury 36.0.1", + "pallet-tx-pause", "pallet-unified-accounts", "pallet-utility", "pallet-vesting", @@ -6870,7 +6872,7 @@ dependencies = [ [[package]] name = "mmr-gadget" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "futures 0.3.30", "log", @@ -6889,7 +6891,7 @@ dependencies = [ [[package]] name = "mmr-rpc" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -7957,7 +7959,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "pallet-asset-conversion" version = "19.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -7975,7 +7977,7 @@ dependencies = [ [[package]] name = "pallet-asset-rate" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -7989,7 +7991,7 @@ dependencies = [ [[package]] name = "pallet-asset-tx-payment" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -8006,7 +8008,7 @@ dependencies = [ [[package]] name = "pallet-assets" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -8022,7 +8024,7 @@ dependencies = [ [[package]] name = "pallet-aura" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-system", @@ -8038,7 +8040,7 @@ dependencies = [ [[package]] name = "pallet-authority-discovery" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-system", @@ -8053,7 +8055,7 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-system", @@ -8066,7 +8068,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -8089,7 +8091,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "aquamarine", "docify", @@ -8110,7 +8112,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "docify", "frame-benchmarking", @@ -8125,7 +8127,7 @@ dependencies = [ [[package]] name = "pallet-beefy" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-system", @@ -8144,7 +8146,7 @@ dependencies = [ [[package]] name = "pallet-beefy-mmr" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "binary-merkle-tree", @@ -8168,7 +8170,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -8185,7 +8187,7 @@ dependencies = [ [[package]] name = "pallet-broker" version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bitvec", "frame-benchmarking", @@ -8245,7 +8247,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -8289,7 +8291,7 @@ dependencies = [ [[package]] name = "pallet-collator-selection" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -8308,7 +8310,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -8344,7 +8346,7 @@ dependencies = [ [[package]] name = "pallet-contracts" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bitflags 1.3.2", "environmental", @@ -8377,7 +8379,7 @@ dependencies = [ [[package]] name = "pallet-contracts-proc-macro" version = "23.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "proc-macro2", "quote", @@ -8387,7 +8389,7 @@ dependencies = [ [[package]] name = "pallet-contracts-uapi" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bitflags 1.3.2", "parity-scale-codec", @@ -8399,7 +8401,7 @@ dependencies = [ [[package]] name = "pallet-conviction-voting" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "assert_matches", "frame-benchmarking", @@ -8438,7 +8440,7 @@ dependencies = [ [[package]] name = "pallet-delegated-staking" version = "4.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-system", @@ -8451,7 +8453,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -8488,7 +8490,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8510,7 +8512,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -8523,7 +8525,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -8883,7 +8885,7 @@ dependencies = [ [[package]] name = "pallet-fast-unstake" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "docify", "frame-benchmarking", @@ -8901,7 +8903,7 @@ dependencies = [ [[package]] name = "pallet-grandpa" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -8923,7 +8925,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "enumflags2", "frame-benchmarking", @@ -8939,7 +8941,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -8958,7 +8960,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -8993,7 +8995,7 @@ dependencies = [ [[package]] name = "pallet-insecure-randomness-collective-flip" version = "25.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-system", @@ -9006,7 +9008,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9021,8 +9023,8 @@ dependencies = [ [[package]] name = "pallet-message-queue" -version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +version = "40.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "environmental", "frame-benchmarking", @@ -9041,7 +9043,7 @@ dependencies = [ [[package]] name = "pallet-migrations" version = "7.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "docify", "frame-benchmarking", @@ -9058,7 +9060,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9075,7 +9077,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9090,7 +9092,7 @@ dependencies = [ [[package]] name = "pallet-nis" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9105,7 +9107,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-system", @@ -9123,7 +9125,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-benchmarking" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9143,7 +9145,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools-runtime-api" version = "32.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "pallet-nomination-pools", "parity-scale-codec", @@ -9153,7 +9155,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-system", @@ -9169,7 +9171,7 @@ dependencies = [ [[package]] name = "pallet-offences-benchmarking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9192,7 +9194,7 @@ dependencies = [ [[package]] name = "pallet-parameters" version = "0.8.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "docify", "frame-benchmarking", @@ -9209,7 +9211,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9247,7 +9249,7 @@ dependencies = [ [[package]] name = "pallet-proxy" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9261,7 +9263,7 @@ dependencies = [ [[package]] name = "pallet-ranked-collective" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9279,7 +9281,7 @@ dependencies = [ [[package]] name = "pallet-recovery" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9293,7 +9295,7 @@ dependencies = [ [[package]] name = "pallet-referenda" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "assert_matches", "frame-benchmarking", @@ -9311,7 +9313,7 @@ dependencies = [ [[package]] name = "pallet-root-testing" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-system", @@ -9322,10 +9324,28 @@ dependencies = [ "sp-runtime", ] +[[package]] +name = "pallet-safe-mode" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-balances", + "pallet-proxy", + "pallet-utility", + "parity-scale-codec", + "scale-info", + "sp-arithmetic", + "sp-runtime", +] + [[package]] name = "pallet-scheduler" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "docify", "frame-benchmarking", @@ -9342,7 +9362,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-system", @@ -9363,7 +9383,7 @@ dependencies = [ [[package]] name = "pallet-session-benchmarking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9379,7 +9399,7 @@ dependencies = [ [[package]] name = "pallet-society" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9396,7 +9416,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -9418,7 +9438,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -9429,7 +9449,7 @@ dependencies = [ [[package]] name = "pallet-staking-reward-fn" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "log", "sp-arithmetic", @@ -9438,7 +9458,7 @@ dependencies = [ [[package]] name = "pallet-staking-runtime-api" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "sp-api", @@ -9448,7 +9468,7 @@ dependencies = [ [[package]] name = "pallet-state-trie-migration" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9484,7 +9504,7 @@ dependencies = [ [[package]] name = "pallet-sudo" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "docify", "frame-benchmarking", @@ -9499,7 +9519,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "36.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "docify", "frame-benchmarking", @@ -9518,7 +9538,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9536,7 +9556,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-system", @@ -9551,7 +9571,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "40.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -9567,7 +9587,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -9598,7 +9618,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "36.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "docify", "frame-benchmarking", @@ -9613,6 +9633,23 @@ dependencies = [ "sp-runtime", ] +[[package]] +name = "pallet-tx-pause" +version = "18.0.0" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" +dependencies = [ + "docify", + "frame-benchmarking", + "frame-support", + "frame-system", + "pallet-balances", + "pallet-proxy", + "pallet-utility", + "parity-scale-codec", + "scale-info", + "sp-runtime", +] + [[package]] name = "pallet-unified-accounts" version = "0.1.0" @@ -9641,7 +9678,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "37.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9656,7 +9693,7 @@ dependencies = [ [[package]] name = "pallet-vesting" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9670,7 +9707,7 @@ dependencies = [ [[package]] name = "pallet-whitelist" version = "36.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9703,8 +9740,8 @@ dependencies = [ [[package]] name = "pallet-xcm" -version = "16.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +version = "16.0.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bounded-collections", "frame-benchmarking", @@ -9721,13 +9758,14 @@ dependencies = [ "staging-xcm", "staging-xcm-builder", "staging-xcm-executor", + "tracing", "xcm-runtime-apis", ] [[package]] name = "pallet-xcm-benchmarks" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-benchmarking", "frame-support", @@ -9745,7 +9783,7 @@ dependencies = [ [[package]] name = "parachains-common" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "cumulus-primitives-core", "cumulus-primitives-utility", @@ -10084,7 +10122,7 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "polkadot-approval-distribution" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bitvec", "futures 0.3.30", @@ -10104,7 +10142,7 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "always-assert", "futures 0.3.30", @@ -10120,7 +10158,7 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "17.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "derive_more", "fatality", @@ -10144,7 +10182,7 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "fatality", @@ -10177,7 +10215,7 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "cfg-if", "clap", @@ -10205,7 +10243,7 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bitvec", "fatality", @@ -10227,7 +10265,7 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "scale-info", @@ -10238,7 +10276,7 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "17.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "derive_more", "fatality", @@ -10263,7 +10301,7 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -10277,7 +10315,7 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "futures 0.3.30", "futures-timer", @@ -10299,7 +10337,7 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "always-assert", "async-trait", @@ -10322,7 +10360,7 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "futures 0.3.30", "parity-scale-codec", @@ -10340,7 +10378,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bitvec", "derive_more", @@ -10373,7 +10411,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bitvec", "futures 0.3.30", @@ -10395,7 +10433,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bitvec", "fatality", @@ -10415,7 +10453,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "futures 0.3.30", "polkadot-node-subsystem", @@ -10430,7 +10468,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "17.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "futures 0.3.30", @@ -10453,7 +10491,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "futures 0.3.30", "polkadot-node-metrics", @@ -10467,7 +10505,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "futures 0.3.30", "futures-timer", @@ -10484,7 +10522,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "fatality", "futures 0.3.30", @@ -10503,7 +10541,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "futures 0.3.30", @@ -10520,7 +10558,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-prospective-parachains" version = "16.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "fatality", "futures 0.3.30", @@ -10534,7 +10572,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bitvec", "fatality", @@ -10552,7 +10590,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "always-assert", "array-bytes", @@ -10581,7 +10619,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "futures 0.3.30", "polkadot-node-primitives", @@ -10597,7 +10635,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-common" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "cpu-time", "futures 0.3.30", @@ -10623,7 +10661,7 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "futures 0.3.30", "polkadot-node-metrics", @@ -10638,7 +10676,7 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "lazy_static", "log", @@ -10657,7 +10695,7 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bs58 0.5.1", "futures 0.3.30", @@ -10676,7 +10714,7 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-channel 1.9.0", "async-trait", @@ -10702,7 +10740,7 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bitvec", "bounded-vec", @@ -10725,7 +10763,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -10735,7 +10773,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "17.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "bitvec", @@ -10765,7 +10803,7 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "17.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "derive_more", @@ -10801,7 +10839,7 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "futures 0.3.30", @@ -10823,7 +10861,7 @@ dependencies = [ [[package]] name = "polkadot-parachain-primitives" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bounded-collections", "derive_more", @@ -10839,7 +10877,7 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bitvec", "hex-literal", @@ -10865,7 +10903,7 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "jsonrpsee", "mmr-rpc", @@ -10900,7 +10938,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "16.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bitvec", "frame-benchmarking", @@ -10950,7 +10988,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bs58 0.5.1", "frame-benchmarking", @@ -10962,7 +11000,7 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "16.0.2" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bitflags 1.3.2", "bitvec", @@ -11009,7 +11047,7 @@ dependencies = [ [[package]] name = "polkadot-service" version = "17.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "frame-benchmarking", @@ -11127,7 +11165,7 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "arrayvec 0.7.6", "bitvec", @@ -11150,7 +11188,7 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -12212,7 +12250,7 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "binary-merkle-tree", "bitvec", @@ -12312,7 +12350,7 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "polkadot-primitives", @@ -12662,7 +12700,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "29.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "log", "sp-core", @@ -12673,7 +12711,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "futures 0.3.30", @@ -12703,7 +12741,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "futures 0.3.30", "futures-timer", @@ -12725,7 +12763,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.42.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "sp-api", @@ -12740,7 +12778,7 @@ dependencies = [ [[package]] name = "sc-chain-spec" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "docify", @@ -12767,7 +12805,7 @@ dependencies = [ [[package]] name = "sc-chain-spec-derive" version = "12.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -12778,7 +12816,7 @@ dependencies = [ [[package]] name = "sc-cli" version = "0.46.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "chrono", @@ -12819,7 +12857,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "fnv", "futures 0.3.30", @@ -12846,7 +12884,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "hash-db", "kvdb", @@ -12872,7 +12910,7 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "futures 0.3.30", @@ -12896,7 +12934,7 @@ dependencies = [ [[package]] name = "sc-consensus-aura" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "futures 0.3.30", @@ -12925,7 +12963,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "fork-tree", @@ -12961,7 +12999,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -12983,7 +13021,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13019,7 +13057,7 @@ dependencies = [ [[package]] name = "sc-consensus-beefy-rpc" version = "23.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -13039,7 +13077,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "fork-tree", "parity-scale-codec", @@ -13052,7 +13090,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa" version = "0.29.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "ahash", "array-bytes", @@ -13096,7 +13134,7 @@ dependencies = [ [[package]] name = "sc-consensus-grandpa-rpc" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "finality-grandpa", "futures 0.3.30", @@ -13116,7 +13154,7 @@ dependencies = [ [[package]] name = "sc-consensus-manual-seal" version = "0.45.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "assert_matches", "async-trait", @@ -13151,7 +13189,7 @@ dependencies = [ [[package]] name = "sc-consensus-slots" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "futures 0.3.30", @@ -13174,7 +13212,7 @@ dependencies = [ [[package]] name = "sc-executor" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -13197,7 +13235,7 @@ dependencies = [ [[package]] name = "sc-executor-common" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "polkavm", "sc-allocator", @@ -13210,7 +13248,7 @@ dependencies = [ [[package]] name = "sc-executor-polkavm" version = "0.32.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "log", "polkavm", @@ -13221,7 +13259,7 @@ dependencies = [ [[package]] name = "sc-executor-wasmtime" version = "0.35.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "anyhow", "cfg-if", @@ -13239,7 +13277,7 @@ dependencies = [ [[package]] name = "sc-informant" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "ansi_term", "futures 0.3.30", @@ -13256,7 +13294,7 @@ dependencies = [ [[package]] name = "sc-keystore" version = "33.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "parking_lot 0.12.3", @@ -13270,7 +13308,7 @@ dependencies = [ [[package]] name = "sc-mixnet" version = "0.14.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "arrayvec 0.7.6", @@ -13299,7 +13337,7 @@ dependencies = [ [[package]] name = "sc-network" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13350,7 +13388,7 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "bitflags 1.3.2", @@ -13368,7 +13406,7 @@ dependencies = [ [[package]] name = "sc-network-gossip" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "ahash", "futures 0.3.30", @@ -13387,7 +13425,7 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13408,7 +13446,7 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "async-channel 1.9.0", @@ -13445,7 +13483,7 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "futures 0.3.30", @@ -13464,7 +13502,7 @@ dependencies = [ [[package]] name = "sc-network-types" version = "0.12.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bs58 0.5.1", "ed25519-dalek", @@ -13481,7 +13519,7 @@ dependencies = [ [[package]] name = "sc-offchain" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "bytes", @@ -13515,7 +13553,7 @@ dependencies = [ [[package]] name = "sc-proposer-metrics" version = "0.18.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "log", "substrate-prometheus-endpoint", @@ -13524,7 +13562,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "futures 0.3.30", "jsonrpsee", @@ -13556,7 +13594,7 @@ dependencies = [ [[package]] name = "sc-rpc-api" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -13576,7 +13614,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "16.0.2" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "forwarded-header-value", "futures 0.3.30", @@ -13598,7 +13636,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "futures 0.3.30", @@ -13630,7 +13668,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.45.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "directories", @@ -13694,7 +13732,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.36.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "log", "parity-scale-codec", @@ -13705,7 +13743,7 @@ dependencies = [ [[package]] name = "sc-storage-monitor" version = "0.22.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "clap", "fs4", @@ -13718,7 +13756,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.44.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -13737,7 +13775,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "derive_more", "futures 0.3.30", @@ -13758,7 +13796,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "chrono", "futures 0.3.30", @@ -13778,7 +13816,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "ansi_term", "chrono", @@ -13808,7 +13846,7 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", @@ -13819,7 +13857,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "futures 0.3.30", @@ -13846,7 +13884,7 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "futures 0.3.30", @@ -13862,7 +13900,7 @@ dependencies = [ [[package]] name = "sc-utils" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-channel 1.9.0", "futures 0.3.30", @@ -14389,6 +14427,7 @@ dependencies = [ "pallet-preimage", "pallet-price-aggregator", "pallet-proxy", + "pallet-safe-mode", "pallet-scheduler", "pallet-session", "pallet-sudo", @@ -14396,6 +14435,7 @@ dependencies = [ "pallet-transaction-payment", "pallet-transaction-payment-rpc-runtime-api", "pallet-treasury 36.0.1", + "pallet-tx-pause", "pallet-unified-accounts", "pallet-utility", "pallet-vesting", @@ -14667,7 +14707,7 @@ dependencies = [ [[package]] name = "slot-range-helper" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "enumn", "parity-scale-codec", @@ -14874,7 +14914,7 @@ dependencies = [ [[package]] name = "sp-api" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "docify", "hash-db", @@ -14896,7 +14936,7 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "20.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "Inflector", "blake2 0.10.6", @@ -14910,7 +14950,7 @@ dependencies = [ [[package]] name = "sp-application-crypto" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "scale-info", @@ -14922,7 +14962,7 @@ dependencies = [ [[package]] name = "sp-arithmetic" version = "26.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "docify", "integer-sqrt", @@ -14936,7 +14976,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "scale-info", @@ -14948,7 +14988,7 @@ dependencies = [ [[package]] name = "sp-block-builder" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "sp-api", "sp-inherents", @@ -14958,7 +14998,7 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "37.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "futures 0.3.30", "parity-scale-codec", @@ -14977,7 +15017,7 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "futures 0.3.30", @@ -14992,7 +15032,7 @@ dependencies = [ [[package]] name = "sp-consensus-aura" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "parity-scale-codec", @@ -15008,7 +15048,7 @@ dependencies = [ [[package]] name = "sp-consensus-babe" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "parity-scale-codec", @@ -15026,7 +15066,7 @@ dependencies = [ [[package]] name = "sp-consensus-beefy" version = "22.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "lazy_static", "parity-scale-codec", @@ -15046,7 +15086,7 @@ dependencies = [ [[package]] name = "sp-consensus-grandpa" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "finality-grandpa", "log", @@ -15063,7 +15103,7 @@ dependencies = [ [[package]] name = "sp-consensus-slots" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "scale-info", @@ -15074,7 +15114,7 @@ dependencies = [ [[package]] name = "sp-core" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "bitflags 1.3.2", @@ -15120,7 +15160,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "blake2b_simd", "byteorder", @@ -15133,7 +15173,7 @@ dependencies = [ [[package]] name = "sp-crypto-hashing-proc-macro" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "quote", "sp-crypto-hashing", @@ -15143,7 +15183,7 @@ dependencies = [ [[package]] name = "sp-database" version = "10.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "kvdb", "parking_lot 0.12.3", @@ -15152,7 +15192,7 @@ dependencies = [ [[package]] name = "sp-debug-derive" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "proc-macro2", "quote", @@ -15162,7 +15202,7 @@ dependencies = [ [[package]] name = "sp-externalities" version = "0.29.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "environmental", "parity-scale-codec", @@ -15172,7 +15212,7 @@ dependencies = [ [[package]] name = "sp-genesis-builder" version = "0.15.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "scale-info", @@ -15184,7 +15224,7 @@ dependencies = [ [[package]] name = "sp-inherents" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "impl-trait-for-tuples", @@ -15197,7 +15237,7 @@ dependencies = [ [[package]] name = "sp-io" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bytes", "docify", @@ -15223,7 +15263,7 @@ dependencies = [ [[package]] name = "sp-keyring" version = "39.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "sp-core", "sp-runtime", @@ -15233,7 +15273,7 @@ dependencies = [ [[package]] name = "sp-keystore" version = "0.40.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "parking_lot 0.12.3", @@ -15244,7 +15284,7 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "thiserror", "zstd 0.12.4", @@ -15253,7 +15293,7 @@ dependencies = [ [[package]] name = "sp-metadata-ir" version = "0.7.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-metadata", "parity-scale-codec", @@ -15263,7 +15303,7 @@ dependencies = [ [[package]] name = "sp-mixnet" version = "0.12.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "scale-info", @@ -15274,7 +15314,7 @@ dependencies = [ [[package]] name = "sp-mmr-primitives" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "log", "parity-scale-codec", @@ -15291,7 +15331,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "scale-info", @@ -15304,7 +15344,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "sp-api", "sp-core", @@ -15314,7 +15354,7 @@ dependencies = [ [[package]] name = "sp-panic-handler" version = "13.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "backtrace", "lazy_static", @@ -15324,7 +15364,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "32.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "rustc-hash", "serde", @@ -15334,7 +15374,7 @@ dependencies = [ [[package]] name = "sp-runtime" version = "39.0.2" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "docify", "either", @@ -15360,7 +15400,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface" version = "28.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -15379,7 +15419,7 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "Inflector", "expander", @@ -15392,7 +15432,7 @@ dependencies = [ [[package]] name = "sp-session" version = "35.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "scale-info", @@ -15406,7 +15446,7 @@ dependencies = [ [[package]] name = "sp-staking" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "impl-trait-for-tuples", "parity-scale-codec", @@ -15419,7 +15459,7 @@ dependencies = [ [[package]] name = "sp-state-machine" version = "0.43.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "hash-db", "log", @@ -15439,7 +15479,7 @@ dependencies = [ [[package]] name = "sp-statement-store" version = "18.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "aes-gcm", "curve25519-dalek", @@ -15463,12 +15503,12 @@ dependencies = [ [[package]] name = "sp-std" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" [[package]] name = "sp-storage" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "impl-serde", "parity-scale-codec", @@ -15480,7 +15520,7 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "parity-scale-codec", @@ -15492,7 +15532,7 @@ dependencies = [ [[package]] name = "sp-tracing" version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "tracing", @@ -15503,7 +15543,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "sp-api", "sp-runtime", @@ -15512,7 +15552,7 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "34.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "async-trait", "parity-scale-codec", @@ -15526,7 +15566,7 @@ dependencies = [ [[package]] name = "sp-trie" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "ahash", "hash-db", @@ -15549,7 +15589,7 @@ dependencies = [ [[package]] name = "sp-version" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "impl-serde", "parity-scale-codec", @@ -15566,7 +15606,7 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" version = "14.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "parity-scale-codec", "proc-macro2", @@ -15577,7 +15617,7 @@ dependencies = [ [[package]] name = "sp-wasm-interface" version = "21.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "anyhow", "impl-trait-for-tuples", @@ -15589,7 +15629,7 @@ dependencies = [ [[package]] name = "sp-weights" version = "31.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "bounded-collections", "parity-scale-codec", @@ -15655,7 +15695,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staging-parachain-info" version = "0.16.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "cumulus-primitives-core", "frame-support", @@ -15668,7 +15708,7 @@ dependencies = [ [[package]] name = "staging-xcm" version = "14.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "bounded-collections", @@ -15685,8 +15725,8 @@ dependencies = [ [[package]] name = "staging-xcm-builder" -version = "16.0.1" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +version = "16.0.2" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-system", @@ -15707,7 +15747,7 @@ dependencies = [ [[package]] name = "staging-xcm-executor" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "environmental", "frame-benchmarking", @@ -15839,7 +15879,7 @@ dependencies = [ [[package]] name = "substrate-bip39" version = "0.6.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "hmac 0.12.1", "pbkdf2 0.12.2", @@ -15864,12 +15904,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "11.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" [[package]] name = "substrate-frame-rpc-system" version = "38.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "docify", "frame-system-rpc-runtime-api", @@ -15889,7 +15929,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.17.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "http-body-util", "hyper 1.4.1", @@ -15903,7 +15943,7 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "37.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -15920,7 +15960,7 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "24.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "array-bytes", "build-helper", @@ -16462,7 +16502,7 @@ dependencies = [ [[package]] name = "tracing-gum" version = "15.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "coarsetime", "polkadot-primitives", @@ -16473,7 +16513,7 @@ dependencies = [ [[package]] name = "tracing-gum-proc-macro" version = "5.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "expander", "proc-macro-crate 3.2.0", @@ -17368,8 +17408,8 @@ dependencies = [ [[package]] name = "westend-runtime" -version = "17.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +version = "17.0.1" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "binary-merkle-tree", "bitvec", @@ -17475,7 +17515,7 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "polkadot-primitives", @@ -17900,7 +17940,7 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "10.1.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "Inflector", "proc-macro2", @@ -17911,7 +17951,7 @@ dependencies = [ [[package]] name = "xcm-runtime-apis" version = "0.3.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "parity-scale-codec", @@ -17925,7 +17965,7 @@ dependencies = [ [[package]] name = "xcm-simulator" version = "16.0.0" -source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#fc627930d54785acaaa30fe003190244221ca36a" +source = "git+https://github.com/paritytech/polkadot-sdk?branch=stable2407#b98e0b32c68ba10a345a5f6c9edf7e2648c3daac" dependencies = [ "frame-support", "frame-system", diff --git a/Cargo.toml b/Cargo.toml index 7f984d4f13..6d207a4814 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -184,6 +184,8 @@ pallet-message-queue = { git = "https://github.com/paritytech/polkadot-sdk", bra 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-tx-pause = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } +pallet-safe-mode = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # EVM & Ethereum # (wasm) diff --git a/runtime/local/Cargo.toml b/runtime/local/Cargo.toml index 1fc813ba8b..94c664c602 100644 --- a/runtime/local/Cargo.toml +++ b/runtime/local/Cargo.toml @@ -43,11 +43,13 @@ pallet-insecure-randomness-collective-flip = { workspace = true } pallet-membership = { workspace = true } pallet-preimage = { workspace = true } pallet-proxy = { workspace = true } +pallet-safe-mode = { workspace = true, default-features = false } pallet-scheduler = { workspace = true } pallet-sudo = { workspace = true } pallet-timestamp = { workspace = true } pallet-transaction-payment = { workspace = true } pallet-treasury = { workspace = true } +pallet-tx-pause = { workspace = true, default-features = false } pallet-utility = { workspace = true } pallet-vesting = { workspace = true } sp-api = { workspace = true } @@ -160,6 +162,8 @@ std = [ "pallet-utility/std", "pallet-vesting/std", "pallet-proxy/std", + "pallet-safe-mode/std", + "pallet-tx-pause/std", "sp-api/std", "sp-block-builder/std", "sp-consensus-aura/std", @@ -222,9 +226,11 @@ runtime-benchmarks = [ "pallet-evm-precompile-dapp-staking/runtime-benchmarks", "pallet-grandpa/runtime-benchmarks", "pallet-proxy/runtime-benchmarks", + "pallet-safe-mode/runtime-benchmarks", "pallet-scheduler/runtime-benchmarks", "pallet-static-price-provider/runtime-benchmarks", "pallet-sudo/runtime-benchmarks", + "pallet-tx-pause/runtime-benchmarks", "pallet-utility/runtime-benchmarks", "pallet-vesting/runtime-benchmarks", ] @@ -248,11 +254,13 @@ try-runtime = [ "pallet-sudo/try-runtime", "pallet-timestamp/try-runtime", "pallet-transaction-payment/try-runtime", + "pallet-tx-pause/try-runtime", "pallet-utility/try-runtime", "pallet-vesting/try-runtime", "pallet-unified-accounts/try-runtime", "pallet-ethereum/try-runtime", "pallet-assets/try-runtime", + "pallet-safe-mode/try-runtime", "pallet-scheduler/try-runtime", "pallet-proxy/try-runtime", "pallet-preimage/try-runtime", diff --git a/runtime/local/src/genesis_config.rs b/runtime/local/src/genesis_config.rs index c6dc2c2e61..e480da7650 100644 --- a/runtime/local/src/genesis_config.rs +++ b/runtime/local/src/genesis_config.rs @@ -176,6 +176,8 @@ pub fn default_config() -> serde_json::Value { democracy: Default::default(), treasury: Default::default(), community_treasury: Default::default(), + safe_mode: Default::default(), + tx_pause: Default::default(), }; serde_json::to_value(&config).expect("Could not build genesis config.") diff --git a/runtime/local/src/lib.rs b/runtime/local/src/lib.rs index 650698f91a..a5de502dab 100644 --- a/runtime/local/src/lib.rs +++ b/runtime/local/src/lib.rs @@ -29,8 +29,9 @@ use frame_support::{ traits::{ fungible::{Balanced, Credit, HoldConsideration}, tokens::{PayFromAccount, UnityAssetBalanceConversion}, - AsEnsureOriginWithArg, ConstU128, ConstU32, ConstU64, EqualPrivilegeOnly, FindAuthor, Get, - InstanceFilter, LinearStoragePrice, Nothing, OnFinalize, WithdrawReasons, + AsEnsureOriginWithArg, ConstU128, ConstU32, ConstU64, Contains, EqualPrivilegeOnly, + FindAuthor, Get, InsideBoth, InstanceFilter, LinearStoragePrice, Nothing, OnFinalize, + WithdrawReasons, }, weights::{ constants::{ExtrinsicBaseWeight, RocksDbWeight, WEIGHT_REF_TIME_PER_SECOND}, @@ -41,13 +42,14 @@ use frame_support::{ }; use frame_system::{ limits::{BlockLength, BlockWeights}, - EnsureRoot, EnsureSigned, + EnsureRoot, EnsureSigned, EnsureWithSuccess, }; use pallet_ethereum::PostLogContent; use pallet_evm::{FeeCalculator, GasWeightMapping, Runner}; use pallet_evm_precompile_assets_erc20::AddressToAssetId; use pallet_grandpa::{fg_primitives, AuthorityList as GrandpaAuthorityList}; use pallet_transaction_payment::{FungibleAdapter, Multiplier, TargetedFeeAdjustment}; +use pallet_tx_pause::RuntimeCallNameOf; use parity_scale_codec::{Compact, Decode, Encode, MaxEncodedLen}; use sp_api::impl_runtime_apis; use sp_core::{crypto::KeyTypeId, sr25519, ConstBool, OpaqueMetadata, H160, H256, U256}; @@ -72,10 +74,10 @@ use astar_primitives::{ governance::{ CommunityCouncilCollectiveInst, CommunityCouncilMembershipInst, CommunityTreasuryInst, EnsureRootOrAllMainCouncil, EnsureRootOrAllTechnicalCommittee, - EnsureRootOrTwoThirdsCommunityCouncil, EnsureRootOrTwoThirdsMainCouncil, - EnsureRootOrTwoThirdsTechnicalCommittee, MainCouncilCollectiveInst, - MainCouncilMembershipInst, MainTreasuryInst, TechnicalCommitteeCollectiveInst, - TechnicalCommitteeMembershipInst, + EnsureRootOrHalfTechnicalCommittee, EnsureRootOrTwoThirdsCommunityCouncil, + EnsureRootOrTwoThirdsMainCouncil, EnsureRootOrTwoThirdsTechnicalCommittee, + MainCouncilCollectiveInst, MainCouncilMembershipInst, MainTreasuryInst, + TechnicalCommitteeCollectiveInst, TechnicalCommitteeMembershipInst, }, Address, AssetId, Balance, BlockNumber, Hash, Header, Nonce, }; @@ -207,10 +209,9 @@ parameter_types! { } // Configure FRAME pallets to include in runtime. - impl frame_system::Config for Runtime { /// The basic call filter to use in dispatchable. - type BaseCallFilter = frame_support::traits::Everything; + type BaseCallFilter = InsideBoth; /// Block & extrinsics weights: base values and limits. type BlockWeights = RuntimeBlockWeights; /// The maximum length of a block (in bytes). @@ -1127,6 +1128,70 @@ impl pallet_collective_proxy::Config for Runtime { type WeightInfo = pallet_collective_proxy::weights::SubstrateWeight; } +parameter_types! { + pub const EnterDuration: BlockNumber = 10 * MINUTES; + pub const EnterDepositAmount: Option = None; + pub const ExtendDuration: BlockNumber = 5 * MINUTES; + pub const ExtendDepositAmount: Option = None; + pub const ReleaseDelay: Option = None; +} + +/// Calls that can bypass the safe-mode pallet. +pub struct SafeModeWhitelistedCalls; +impl Contains for SafeModeWhitelistedCalls { + fn contains(call: &RuntimeCall) -> bool { + match call { + RuntimeCall::Sudo(_) + // System and Timestamp are required for block production + | RuntimeCall::System(_) + | RuntimeCall::Timestamp(_) + | RuntimeCall::SafeMode(_) + | RuntimeCall::TxPause(_) => true, + _ => false, + } + } +} + +/// Calls that cannot be paused by the tx-pause pallet. +pub struct TxPauseWhitelistedCalls; +/// All calls can be paused, except Sudo calls. +impl Contains> for TxPauseWhitelistedCalls { + fn contains(full_name: &pallet_tx_pause::RuntimeCallNameOf) -> bool { + matches!(full_name.0.as_slice(), b"Sudo") + } +} + +impl pallet_safe_mode::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Currency = Balances; + type RuntimeHoldReason = RuntimeHoldReason; + type WhitelistedCalls = SafeModeWhitelistedCalls; + type EnterDuration = EnterDuration; + type EnterDepositAmount = EnterDepositAmount; + type ExtendDuration = ExtendDuration; + type ExtendDepositAmount = ExtendDepositAmount; + // The 'Success' value below represents the number of blocks that the origin may induce safe mode + type ForceEnterOrigin = + EnsureWithSuccess; + type ForceExtendOrigin = + EnsureWithSuccess; + type ForceExitOrigin = EnsureRootOrAllTechnicalCommittee; + type ForceDepositOrigin = EnsureRootOrAllTechnicalCommittee; + type ReleaseDelay = ReleaseDelay; + type Notify = (); + type WeightInfo = pallet_safe_mode::weights::SubstrateWeight; +} + +impl pallet_tx_pause::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type PauseOrigin = EnsureRootOrHalfTechnicalCommittee; + type UnpauseOrigin = EnsureRootOrHalfTechnicalCommittee; + type WhitelistedCalls = TxPauseWhitelistedCalls; + type MaxNameLen = ConstU32<256>; + type WeightInfo = pallet_tx_pause::weights::SubstrateWeight; +} + construct_runtime!( pub struct Runtime { System: frame_system = 10, @@ -1171,6 +1236,9 @@ construct_runtime!( Treasury: pallet_treasury:: = 107, CommunityTreasury: pallet_treasury:: = 108, CollectiveProxy: pallet_collective_proxy = 109, + + SafeMode: pallet_safe_mode = 130, + TxPause: pallet_tx_pause = 131, } ); @@ -1290,6 +1358,8 @@ mod benches { [pallet_dapp_staking, DappStaking] [pallet_inflation, Inflation] [pallet_dynamic_evm_base_fee, DynamicEvmBaseFee] + [pallet_tx_pause, TxPause] + [pallet_safe_mode, SafeMode] ); } diff --git a/runtime/shibuya/Cargo.toml b/runtime/shibuya/Cargo.toml index fa1abf2c0e..4f06299215 100644 --- a/runtime/shibuya/Cargo.toml +++ b/runtime/shibuya/Cargo.toml @@ -68,6 +68,7 @@ pallet-migrations = { workspace = true } pallet-multisig = { workspace = true } pallet-preimage = { workspace = true } pallet-proxy = { workspace = true } +pallet-safe-mode = { workspace = true, default-features = false } pallet-scheduler = { workspace = true } pallet-session = { workspace = true } pallet-sudo = { workspace = true } @@ -75,6 +76,7 @@ pallet-timestamp = { workspace = true } pallet-transaction-payment = { workspace = true } pallet-transaction-payment-rpc-runtime-api = { workspace = true } pallet-treasury = { workspace = true } +pallet-tx-pause = { workspace = true, default-features = false } pallet-utility = { workspace = true } pallet-vesting = { workspace = true } vesting-mbm = { workspace = true } @@ -223,6 +225,7 @@ std = [ "pallet-preimage/std", "pallet-price-aggregator/std", "pallet-proxy/std", + "pallet-safe-mode/std", "pallet-scheduler/std", "pallet-session/std", "pallet-sudo/std", @@ -230,6 +233,7 @@ std = [ "pallet-transaction-payment-rpc-runtime-api/std", "pallet-transaction-payment/std", "pallet-treasury/std", + "pallet-tx-pause/std", "pallet-unified-accounts/std", "pallet-utility/std", "pallet-vesting/std", @@ -306,10 +310,12 @@ runtime-benchmarks = [ "pallet-preimage/runtime-benchmarks", "pallet-price-aggregator/runtime-benchmarks", "pallet-proxy/runtime-benchmarks", + "pallet-safe-mode/runtime-benchmarks", "pallet-scheduler/runtime-benchmarks", "pallet-sudo/runtime-benchmarks", "pallet-timestamp/runtime-benchmarks", "pallet-treasury/runtime-benchmarks", + "pallet-tx-pause/runtime-benchmarks", "pallet-unified-accounts/runtime-benchmarks", "pallet-utility/runtime-benchmarks", "pallet-vesting/runtime-benchmarks", @@ -367,12 +373,14 @@ try-runtime = [ "pallet-preimage/try-runtime", "pallet-price-aggregator/try-runtime", "pallet-proxy/try-runtime", + "pallet-safe-mode/try-runtime", "pallet-scheduler/try-runtime", "pallet-session/try-runtime", "pallet-sudo/try-runtime", "pallet-timestamp/try-runtime", "pallet-transaction-payment/try-runtime", "pallet-treasury/try-runtime", + "pallet-tx-pause/try-runtime", "pallet-unified-accounts/try-runtime", "pallet-utility/try-runtime", "pallet-vesting/try-runtime", diff --git a/runtime/shibuya/src/genesis_config.rs b/runtime/shibuya/src/genesis_config.rs index 1b6ce2db93..5e9f889272 100644 --- a/runtime/shibuya/src/genesis_config.rs +++ b/runtime/shibuya/src/genesis_config.rs @@ -196,6 +196,8 @@ pub fn default_config(para_id: u32) -> serde_json::Value { democracy: Default::default(), treasury: Default::default(), community_treasury: Default::default(), + safe_mode: Default::default(), + tx_pause: Default::default(), }; serde_json::to_value(&config).expect("Could not build genesis config.") diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index 39829378ad..334137e1df 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -31,8 +31,8 @@ use frame_support::{ fungible::{Balanced, Credit, HoldConsideration}, tokens::{PayFromAccount, UnityAssetBalanceConversion}, AsEnsureOriginWithArg, ConstBool, ConstU128, ConstU32, ConstU64, Contains, - EqualPrivilegeOnly, FindAuthor, Get, Imbalance, InstanceFilter, LinearStoragePrice, - Nothing, OnFinalize, OnUnbalanced, WithdrawReasons, + EqualPrivilegeOnly, FindAuthor, Get, Imbalance, InsideBoth, InstanceFilter, + LinearStoragePrice, Nothing, OnFinalize, OnUnbalanced, WithdrawReasons, }, weights::{ constants::{ @@ -45,7 +45,7 @@ use frame_support::{ }; use frame_system::{ limits::{BlockLength, BlockWeights}, - EnsureRoot, EnsureSigned, + EnsureRoot, EnsureSigned, EnsureWithSuccess, }; use pallet_ethereum::PostLogContent; use pallet_evm::{FeeCalculator, GasWeightMapping, Runner}; @@ -53,6 +53,7 @@ use pallet_identity::legacy::IdentityInfo; use pallet_transaction_payment::{ FeeDetails, Multiplier, RuntimeDispatchInfo, TargetedFeeAdjustment, }; +use pallet_tx_pause::RuntimeCallNameOf; use parity_scale_codec::{Compact, Decode, Encode, MaxEncodedLen}; use polkadot_runtime_common::BlockHashCount; use sp_api::impl_runtime_apis; @@ -290,6 +291,9 @@ impl Contains for BaseFilter { } } +type SafeModeTxPauseFilter = InsideBoth; +type BaseCallFilter = InsideBoth; + impl frame_system::Config for Runtime { /// The identifier used to distinguish between accounts. type AccountId = AccountId; @@ -321,7 +325,7 @@ impl frame_system::Config for Runtime { type OnNewAccount = (); type OnKilledAccount = pallet_unified_accounts::KillAccountMapping; type DbWeight = RocksDbWeight; - type BaseCallFilter = BaseFilter; + type BaseCallFilter = BaseCallFilter; type SystemWeightInfo = frame_system::weights::SubstrateWeight; type BlockWeights = RuntimeBlockWeights; type BlockLength = RuntimeBlockLength; @@ -1535,6 +1539,70 @@ impl pallet_migrations::Config for Runtime { type WeightInfo = pallet_migrations::weights::SubstrateWeight; } +parameter_types! { + pub const EnterDuration: BlockNumber = 4 * HOURS; + pub const EnterDepositAmount: Option = None; + pub const ExtendDuration: BlockNumber = 2 * HOURS; + pub const ExtendDepositAmount: Option = None; + pub const ReleaseDelay: Option = None; +} + +/// Calls that can bypass the safe-mode pallet. +pub struct SafeModeWhitelistedCalls; +impl Contains for SafeModeWhitelistedCalls { + fn contains(call: &RuntimeCall) -> bool { + match call { + RuntimeCall::Sudo(_) + // System and Timestamp are required for block production + | RuntimeCall::System(_) + | RuntimeCall::Timestamp(_) + | RuntimeCall::SafeMode(_) + | RuntimeCall::TxPause(_) => true, + _ => false, + } + } +} + +/// Calls that cannot be paused by the tx-pause pallet. +pub struct TxPauseWhitelistedCalls; +/// All calls can be paused, except Sudo calls. +impl Contains> for TxPauseWhitelistedCalls { + fn contains(full_name: &pallet_tx_pause::RuntimeCallNameOf) -> bool { + matches!(full_name.0.as_slice(), b"Sudo") + } +} + +impl pallet_safe_mode::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Currency = Balances; + type RuntimeHoldReason = RuntimeHoldReason; + type WhitelistedCalls = SafeModeWhitelistedCalls; + type EnterDuration = EnterDuration; + type EnterDepositAmount = EnterDepositAmount; + type ExtendDuration = ExtendDuration; + type ExtendDepositAmount = ExtendDepositAmount; + // The 'Success' value below represents the number of blocks that the origin may induce safe mode + type ForceEnterOrigin = + EnsureWithSuccess; + type ForceExtendOrigin = + EnsureWithSuccess; + type ForceExitOrigin = EnsureRootOrAllTechnicalCommittee; + type ForceDepositOrigin = EnsureRootOrAllTechnicalCommittee; + type ReleaseDelay = ReleaseDelay; + type Notify = (); + type WeightInfo = pallet_safe_mode::weights::SubstrateWeight; +} + +impl pallet_tx_pause::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type RuntimeCall = RuntimeCall; + type PauseOrigin = EnsureRootOrHalfTechnicalCommittee; + type UnpauseOrigin = EnsureRootOrHalfTechnicalCommittee; + type WhitelistedCalls = TxPauseWhitelistedCalls; + type MaxNameLen = ConstU32<256>; + type WeightInfo = pallet_tx_pause::weights::SubstrateWeight; +} + #[cfg(feature = "runtime-benchmarks")] impl vesting_mbm::Config for Runtime {} @@ -1610,6 +1678,9 @@ construct_runtime!( MultiBlockMigrations: pallet_migrations = 120, + SafeMode: pallet_safe_mode = 130, + TxPause: pallet_tx_pause = 131, + #[cfg(feature = "runtime-benchmarks")] VestingMBM: vesting_mbm = 250, } @@ -1751,6 +1822,8 @@ mod benches { [pallet_collective_proxy, CollectiveProxy] [orml_oracle, Oracle] [vesting_mbm, VestingMBM] + [pallet_tx_pause, TxPause] + [pallet_safe_mode, SafeMode] ); } From ac5d44b10ab79914b8d1e3f053d3f9d695733e90 Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Thu, 28 Nov 2024 13:54:28 +0100 Subject: [PATCH 02/15] config updated and safe-mode coupled to DappStaking via Notify --- pallets/dapp-staking/src/lib.rs | 27 ++++++++++-- pallets/dapp-staking/src/test/tests.rs | 24 ++++++++++- runtime/local/src/lib.rs | 52 +++++++--------------- runtime/shibuya/src/lib.rs | 60 ++++++++++---------------- 4 files changed, 84 insertions(+), 79 deletions(-) diff --git a/pallets/dapp-staking/src/lib.rs b/pallets/dapp-staking/src/lib.rs index c82b163d29..d96ff175bc 100644 --- a/pallets/dapp-staking/src/lib.rs +++ b/pallets/dapp-staking/src/lib.rs @@ -39,7 +39,7 @@ use frame_support::{ pallet_prelude::*, traits::{ fungible::{Inspect as FunInspect, MutateFreeze as FunMutateFreeze}, - StorageVersion, + SafeModeNotify, StorageVersion, }, weights::Weight, }; @@ -682,9 +682,7 @@ pub mod pallet { #[pallet::weight(T::WeightInfo::maintenance_mode())] pub fn maintenance_mode(origin: OriginFor, enabled: bool) -> DispatchResult { T::ManagerOrigin::ensure_origin(origin)?; - ActiveProtocolState::::mutate(|state| state.maintenance = enabled); - - Self::deposit_event(Event::::MaintenanceMode { enabled }); + Self::set_maintenance_mode(enabled); Ok(()) } @@ -2210,6 +2208,14 @@ pub mod pallet { Ok(()) } + /// Internal function to transition the dApp staking protocol maintenance mode. + /// Ensure this method is **not exposed publicly** and is only used for legitimate maintenance mode transitions invoked by privileged or trusted logic, + /// such as `T::ManagerOrigin` or a safe-mode enter/exit notification. + fn set_maintenance_mode(enabled: bool) { + ActiveProtocolState::::mutate(|state| state.maintenance = enabled); + Self::deposit_event(Event::::MaintenanceMode { enabled }); + } + /// Ensure the correctness of the state of this pallet. #[cfg(any(feature = "try-runtime", test))] pub fn do_try_state() -> Result<(), sp_runtime::TryRuntimeError> { @@ -2470,4 +2476,17 @@ pub mod pallet { Ok(()) } } + + /// Implementation of the `SafeModeNotify` trait for the `DappStaking` pallet. + /// This integration ensures that the dApp staking protocol transitions to and from + /// maintenance mode when the runtime enters or exits safe mode. + impl SafeModeNotify for Pallet { + fn entered() { + Self::set_maintenance_mode(true); + } + + fn exited() { + Self::set_maintenance_mode(false); + } + } } diff --git a/pallets/dapp-staking/src/test/tests.rs b/pallets/dapp-staking/src/test/tests.rs index c3ffcbe732..f3014e326f 100644 --- a/pallets/dapp-staking/src/test/tests.rs +++ b/pallets/dapp-staking/src/test/tests.rs @@ -29,7 +29,7 @@ use frame_support::{ error::BadOrigin, traits::{ fungible::Unbalanced as FunUnbalanced, Currency, Get, OnFinalize, OnInitialize, - ReservableCurrency, + ReservableCurrency, SafeModeNotify, }, BoundedVec, }; @@ -185,6 +185,28 @@ fn maintenance_mode_call_filtering_works() { }) } +#[test] +fn maintenance_safe_mode_entered_exited_works() { + ExtBuilder::default().build_and_execute(|| { + // Check that maintenance mode is disabled by default + assert!(!ActiveProtocolState::::get().maintenance); + + // Call entered and check post-state and event + DappStaking::entered(); + assert!(ActiveProtocolState::::get().maintenance); + System::assert_last_event(RuntimeEvent::DappStaking(Event::MaintenanceMode { + enabled: true, + })); + + // Call exited and check post-state and event + DappStaking::exited(); + assert!(!ActiveProtocolState::::get().maintenance); + System::assert_last_event(RuntimeEvent::DappStaking(Event::MaintenanceMode { + enabled: false, + })); + }) +} + #[test] fn on_initialize_is_noop_if_no_era_change() { ExtBuilder::default().build_and_execute(|| { diff --git a/runtime/local/src/lib.rs b/runtime/local/src/lib.rs index a5de502dab..04c3cf02be 100644 --- a/runtime/local/src/lib.rs +++ b/runtime/local/src/lib.rs @@ -49,7 +49,6 @@ use pallet_evm::{FeeCalculator, GasWeightMapping, Runner}; use pallet_evm_precompile_assets_erc20::AddressToAssetId; use pallet_grandpa::{fg_primitives, AuthorityList as GrandpaAuthorityList}; use pallet_transaction_payment::{FungibleAdapter, Multiplier, TargetedFeeAdjustment}; -use pallet_tx_pause::RuntimeCallNameOf; use parity_scale_codec::{Compact, Decode, Encode, MaxEncodedLen}; use sp_api::impl_runtime_apis; use sp_core::{crypto::KeyTypeId, sr25519, ConstBool, OpaqueMetadata, H160, H256, U256}; @@ -1128,57 +1127,39 @@ impl pallet_collective_proxy::Config for Runtime { type WeightInfo = pallet_collective_proxy::weights::SubstrateWeight; } -parameter_types! { - pub const EnterDuration: BlockNumber = 10 * MINUTES; - pub const EnterDepositAmount: Option = None; - pub const ExtendDuration: BlockNumber = 5 * MINUTES; - pub const ExtendDepositAmount: Option = None; - pub const ReleaseDelay: Option = None; -} - /// Calls that can bypass the safe-mode pallet. pub struct SafeModeWhitelistedCalls; impl Contains for SafeModeWhitelistedCalls { fn contains(call: &RuntimeCall) -> bool { match call { - RuntimeCall::Sudo(_) // System and Timestamp are required for block production - | RuntimeCall::System(_) + RuntimeCall::System(_) | RuntimeCall::Timestamp(_) - | RuntimeCall::SafeMode(_) + | RuntimeCall::Sudo(_) | RuntimeCall::TxPause(_) => true, _ => false, } } } -/// Calls that cannot be paused by the tx-pause pallet. -pub struct TxPauseWhitelistedCalls; -/// All calls can be paused, except Sudo calls. -impl Contains> for TxPauseWhitelistedCalls { - fn contains(full_name: &pallet_tx_pause::RuntimeCallNameOf) -> bool { - matches!(full_name.0.as_slice(), b"Sudo") - } -} - impl pallet_safe_mode::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Currency = Balances; type RuntimeHoldReason = RuntimeHoldReason; type WhitelistedCalls = SafeModeWhitelistedCalls; - type EnterDuration = EnterDuration; - type EnterDepositAmount = EnterDepositAmount; - type ExtendDuration = ExtendDuration; - type ExtendDepositAmount = ExtendDepositAmount; - // The 'Success' value below represents the number of blocks that the origin may induce safe mode + type EnterDuration = ConstU32<{ 5 * MINUTES }>; + type EnterDepositAmount = (); + type ExtendDuration = ConstU32<{ 2 * MINUTES }>; + type ExtendDepositAmount = (); + // The 'Success' values below represent the number of blocks that the origin may induce safe mode type ForceEnterOrigin = - EnsureWithSuccess; + EnsureWithSuccess>; type ForceExtendOrigin = - EnsureWithSuccess; - type ForceExitOrigin = EnsureRootOrAllTechnicalCommittee; - type ForceDepositOrigin = EnsureRootOrAllTechnicalCommittee; - type ReleaseDelay = ReleaseDelay; - type Notify = (); + EnsureWithSuccess>; + type ForceExitOrigin = EnsureRootOrTwoThirdsTechnicalCommittee; + type ForceDepositOrigin = EnsureRootOrTwoThirdsTechnicalCommittee; + type ReleaseDelay = (); + type Notify = DappStaking; type WeightInfo = pallet_safe_mode::weights::SubstrateWeight; } @@ -1187,7 +1168,7 @@ impl pallet_tx_pause::Config for Runtime { type RuntimeCall = RuntimeCall; type PauseOrigin = EnsureRootOrHalfTechnicalCommittee; type UnpauseOrigin = EnsureRootOrHalfTechnicalCommittee; - type WhitelistedCalls = TxPauseWhitelistedCalls; + type WhitelistedCalls = (); type MaxNameLen = ConstU32<256>; type WeightInfo = pallet_tx_pause::weights::SubstrateWeight; } @@ -1236,9 +1217,8 @@ construct_runtime!( Treasury: pallet_treasury:: = 107, CommunityTreasury: pallet_treasury:: = 108, CollectiveProxy: pallet_collective_proxy = 109, - - SafeMode: pallet_safe_mode = 130, - TxPause: pallet_tx_pause = 131, + SafeMode: pallet_safe_mode = 110, + TxPause: pallet_tx_pause = 111, } ); diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index 334137e1df..3463018ce8 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -53,7 +53,6 @@ use pallet_identity::legacy::IdentityInfo; use pallet_transaction_payment::{ FeeDetails, Multiplier, RuntimeDispatchInfo, TargetedFeeAdjustment, }; -use pallet_tx_pause::RuntimeCallNameOf; use parity_scale_codec::{Compact, Decode, Encode, MaxEncodedLen}; use polkadot_runtime_common::BlockHashCount; use sp_api::impl_runtime_apis; @@ -89,7 +88,8 @@ use astar_primitives::{ CommunityCouncilCollectiveInst, CommunityCouncilMembershipInst, CommunityTreasuryInst, EnsureRootOrAllMainCouncil, EnsureRootOrAllTechnicalCommittee, EnsureRootOrFourFifthsCommunityCouncil, EnsureRootOrHalfCommunityCouncil, - EnsureRootOrHalfMainCouncil, EnsureRootOrHalfTechnicalCommittee, MainCouncilCollectiveInst, + EnsureRootOrHalfMainCouncil, EnsureRootOrHalfTechnicalCommittee, + EnsureRootOrTwoThirdsTechnicalCommittee, MainCouncilCollectiveInst, MainCouncilMembershipInst, MainTreasuryInst, OracleMembershipInst, TechnicalCommitteeCollectiveInst, TechnicalCommitteeMembershipInst, }, @@ -249,7 +249,9 @@ parameter_types! { pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { - weights.base_extrinsic = ExtrinsicBaseWeight::get(); + // Adjusting the base extrinsic weight to account for the additional database + // read introduced by the `tx-pause` pallet during extrinsic filtering. + weights.base_extrinsic = ExtrinsicBaseWeight::get().saturating_add(RocksDbWeight::get().reads(1)); }) .for_class(DispatchClass::Normal, |weights| { weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); @@ -1539,57 +1541,40 @@ impl pallet_migrations::Config for Runtime { type WeightInfo = pallet_migrations::weights::SubstrateWeight; } -parameter_types! { - pub const EnterDuration: BlockNumber = 4 * HOURS; - pub const EnterDepositAmount: Option = None; - pub const ExtendDuration: BlockNumber = 2 * HOURS; - pub const ExtendDepositAmount: Option = None; - pub const ReleaseDelay: Option = None; -} - /// Calls that can bypass the safe-mode pallet. pub struct SafeModeWhitelistedCalls; impl Contains for SafeModeWhitelistedCalls { fn contains(call: &RuntimeCall) -> bool { match call { - RuntimeCall::Sudo(_) // System and Timestamp are required for block production - | RuntimeCall::System(_) + RuntimeCall::System(_) | RuntimeCall::Timestamp(_) - | RuntimeCall::SafeMode(_) + | RuntimeCall::ParachainSystem(_) + | RuntimeCall::Sudo(_) | RuntimeCall::TxPause(_) => true, _ => false, } } } -/// Calls that cannot be paused by the tx-pause pallet. -pub struct TxPauseWhitelistedCalls; -/// All calls can be paused, except Sudo calls. -impl Contains> for TxPauseWhitelistedCalls { - fn contains(full_name: &pallet_tx_pause::RuntimeCallNameOf) -> bool { - matches!(full_name.0.as_slice(), b"Sudo") - } -} - impl pallet_safe_mode::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Currency = Balances; type RuntimeHoldReason = RuntimeHoldReason; type WhitelistedCalls = SafeModeWhitelistedCalls; - type EnterDuration = EnterDuration; - type EnterDepositAmount = EnterDepositAmount; - type ExtendDuration = ExtendDuration; - type ExtendDepositAmount = ExtendDepositAmount; - // The 'Success' value below represents the number of blocks that the origin may induce safe mode + type EnterDuration = ConstU32<{ 4 * HOURS }>; + type EnterDepositAmount = (); + type ExtendDuration = ConstU32<{ 2 * HOURS }>; + type ExtendDepositAmount = (); + // The 'Success' values below represent the number of blocks that the origin may induce safe mode type ForceEnterOrigin = - EnsureWithSuccess; + EnsureWithSuccess>; type ForceExtendOrigin = - EnsureWithSuccess; - type ForceExitOrigin = EnsureRootOrAllTechnicalCommittee; - type ForceDepositOrigin = EnsureRootOrAllTechnicalCommittee; - type ReleaseDelay = ReleaseDelay; - type Notify = (); + EnsureWithSuccess>; + type ForceExitOrigin = EnsureRootOrTwoThirdsTechnicalCommittee; + type ForceDepositOrigin = EnsureRootOrTwoThirdsTechnicalCommittee; + type ReleaseDelay = (); + type Notify = DappStaking; type WeightInfo = pallet_safe_mode::weights::SubstrateWeight; } @@ -1598,7 +1583,7 @@ impl pallet_tx_pause::Config for Runtime { type RuntimeCall = RuntimeCall; type PauseOrigin = EnsureRootOrHalfTechnicalCommittee; type UnpauseOrigin = EnsureRootOrHalfTechnicalCommittee; - type WhitelistedCalls = TxPauseWhitelistedCalls; + type WhitelistedCalls = (); type MaxNameLen = ConstU32<256>; type WeightInfo = pallet_tx_pause::weights::SubstrateWeight; } @@ -1675,12 +1660,11 @@ construct_runtime!( Treasury: pallet_treasury:: = 107, CommunityTreasury: pallet_treasury:: = 108, CollectiveProxy: pallet_collective_proxy = 109, + SafeMode: pallet_safe_mode = 110, + TxPause: pallet_tx_pause = 111, MultiBlockMigrations: pallet_migrations = 120, - SafeMode: pallet_safe_mode = 130, - TxPause: pallet_tx_pause = 131, - #[cfg(feature = "runtime-benchmarks")] VestingMBM: vesting_mbm = 250, } From 96a0520dc8cc082e0fcdf41f89db2a48ad0b92eb Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:41:24 +0100 Subject: [PATCH 03/15] overhead benchmark comment added --- Cargo.lock | 1 + Cargo.toml | 1 + bin/collator/src/local/service.rs | 9 ++ bin/collator/src/parachain/service.rs | 9 ++ runtime/shibuya/Cargo.toml | 2 + runtime/shibuya/src/lib.rs | 4 +- runtime/shibuya/src/weights/base_extrinsic.rs | 82 +++++++++++++++++++ runtime/shibuya/src/weights/mod.rs | 1 + scripts/run_benchmarks.sh | 16 ++++ 9 files changed, 122 insertions(+), 3 deletions(-) create mode 100644 runtime/shibuya/src/weights/base_extrinsic.rs diff --git a/Cargo.lock b/Cargo.lock index 44c6b56787..1630f73395 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14466,6 +14466,7 @@ dependencies = [ "sp-std", "sp-transaction-pool", "sp-version", + "sp-weights", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", diff --git a/Cargo.toml b/Cargo.toml index 6d207a4814..857e8a929e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -114,6 +114,7 @@ sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", branch = " 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-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # (native) sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } diff --git a/bin/collator/src/local/service.rs b/bin/collator/src/local/service.rs index 7c3c210441..039a943ab5 100644 --- a/bin/collator/src/local/service.rs +++ b/bin/collator/src/local/service.rs @@ -47,11 +47,20 @@ use astar_primitives::*; const GRANDPA_JUSTIFICATION_PERIOD: u32 = 512; /// Parachain host functions +#[cfg(not(feature = "runtime-benchmarks"))] pub type HostFunctions = ( cumulus_client_service::ParachainHostFunctions, moonbeam_primitives_ext::moonbeam_ext::HostFunctions, ); +/// Host functions required for kitchensink runtime and Substrate node. +#[cfg(feature = "runtime-benchmarks")] +pub type HostFunctions = ( + frame_benchmarking::benchmarking::HostFunctions, + cumulus_client_service::ParachainHostFunctions, + moonbeam_primitives_ext::moonbeam_ext::HostFunctions, +); + type ParachainExecutor = WasmExecutor; type FullClient = sc_service::TFullClient; diff --git a/bin/collator/src/parachain/service.rs b/bin/collator/src/parachain/service.rs index 64566c934e..b8c6fcb9f0 100644 --- a/bin/collator/src/parachain/service.rs +++ b/bin/collator/src/parachain/service.rs @@ -62,11 +62,20 @@ use crate::{ }; /// Parachain host functions +#[cfg(not(feature = "runtime-benchmarks"))] pub type HostFunctions = ( cumulus_client_service::ParachainHostFunctions, moonbeam_primitives_ext::moonbeam_ext::HostFunctions, ); +/// Host functions required for kitchensink runtime and Substrate node. +#[cfg(feature = "runtime-benchmarks")] +pub type HostFunctions = ( + frame_benchmarking::benchmarking::HostFunctions, + cumulus_client_service::ParachainHostFunctions, + moonbeam_primitives_ext::moonbeam_ext::HostFunctions, +); + /// Parachain executor pub type ParachainExecutor = WasmExecutor; diff --git a/runtime/shibuya/Cargo.toml b/runtime/shibuya/Cargo.toml index 4f06299215..4dce8933a5 100644 --- a/runtime/shibuya/Cargo.toml +++ b/runtime/shibuya/Cargo.toml @@ -36,6 +36,7 @@ sp-session = { workspace = true } sp-std = { workspace = true } sp-transaction-pool = { workspace = true } sp-version = { workspace = true } +sp-weights = { workspace = true } # frame dependencies frame-executive = { workspace = true } @@ -264,6 +265,7 @@ std = [ "sp-std/std", "sp-transaction-pool/std", "sp-version/std", + "sp-weights/std", "substrate-wasm-builder", "vesting-mbm/std", "xcm-builder/std", diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index 3463018ce8..bd54f01d69 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -249,9 +249,7 @@ parameter_types! { pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { - // Adjusting the base extrinsic weight to account for the additional database - // read introduced by the `tx-pause` pallet during extrinsic filtering. - weights.base_extrinsic = ExtrinsicBaseWeight::get().saturating_add(RocksDbWeight::get().reads(1)); + weights.base_extrinsic = weights::base_extrinsic::ExtrinsicBaseWeight::get(); }) .for_class(DispatchClass::Normal, |weights| { weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); diff --git a/runtime/shibuya/src/weights/base_extrinsic.rs b/runtime/shibuya/src/weights/base_extrinsic.rs new file mode 100644 index 0000000000..f94c16cc62 --- /dev/null +++ b/runtime/shibuya/src/weights/base_extrinsic.rs @@ -0,0 +1,82 @@ +// This file is part of Astar. + +// Copyright (C) Stake Technologies Pte.Ltd. +// SPDX-License-Identifier: GPL-3.0-or-later + +// Astar is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Astar is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Astar. If not, see . + +// This is just a dummy file. + +use sp_core::parameter_types; +use sp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight}; + +// parameter_types! { +// /// Time to execute a NO-OP extrinsic, for example `System::remark`. +// /// Calculated by multiplying the *Average* with `1.0` and adding `0`. +// /// +// /// Stats nanoseconds: +// /// Min, Max: 106_559, 107_788 +// /// Average: 107_074 +// /// Median: 107_067 +// /// Std-Dev: 242.67 +// /// +// /// Percentiles nanoseconds: +// /// 99th: 107_675 +// /// 95th: 107_513 +// /// 75th: 107_225 +// pub const ExtrinsicBaseWeight: Weight = +// Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(107_074), 0); +// } + +parameter_types! { + /// Time to execute a NO-OP extrinsic, for example `System::remark`. + /// Calculated by multiplying the *Average* with `1.0` and adding `0`. + /// + /// Stats nanoseconds: + /// Min, Max: 87_894, 99_268 + /// Average: 90_705 + /// Median: 90_325 + /// Std-Dev: 2344.95 + /// + /// Percentiles nanoseconds: + /// 99th: 99_232 + /// 95th: 96_405 + /// 75th: 91_204 + pub const ExtrinsicBaseWeight: Weight = + Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(90_705), 0); +} + +#[cfg(test)] +mod test_weights { + use sp_weights::constants; + + /// Checks that the weight exists and is sane. + // NOTE: If this test fails but you are sure that the generated values are fine, + // you can delete it. + #[test] + fn sane() { + let w = super::ExtrinsicBaseWeight::get(); + + // At least 10 µs. + assert!( + w.ref_time() >= 10u64 * constants::WEIGHT_REF_TIME_PER_MICROS, + "Weight should be at least 10 µs." + ); + // At most 1 ms. + assert!( + w.ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS, + "Weight should be at most 1 ms." + ); + } +} diff --git a/runtime/shibuya/src/weights/mod.rs b/runtime/shibuya/src/weights/mod.rs index 93a7d79b6f..f4d73f8812 100644 --- a/runtime/shibuya/src/weights/mod.rs +++ b/runtime/shibuya/src/weights/mod.rs @@ -16,6 +16,7 @@ // You should have received a copy of the GNU General Public License // along with Astar. If not, see . +pub mod base_extrinsic; pub mod orml_oracle; pub mod pallet_assets; pub mod pallet_balances; diff --git a/scripts/run_benchmarks.sh b/scripts/run_benchmarks.sh index c739e4762d..dc90465601 100755 --- a/scripts/run_benchmarks.sh +++ b/scripts/run_benchmarks.sh @@ -137,6 +137,22 @@ for chain in ${chains//,/ }; do fi done + # Update the block and extrinsic overhead weights. + echo "[+] Benchmarking block and extrinsic overheads..." + OUTPUT=$( + ./target/production/polkadot benchmark overhead \ + --chain=$chain \ + --wasm-execution=compiled \ + --weight-path="$output_path/$chain/" \ + --warmup=10 \ + --repeat=100 \ + --header=./.github/license-check/headers/HEADER-GNUv3 + ) + if [ $? -ne 0 ]; then + echo "$OUTPUT" >> "$ERR_FILE" + echo "[-] Failed to benchmark the block and extrinsic overheads. Error written to $ERR_FILE; continuing..." + fi + echo "[+] Benchmarking the machine..." OUTPUT=$( $ASTAR_COLLATOR benchmark machine --chain=$chain 2>&1 From 03d0f9a3c154063bae978e4fc547599c679e0a8c Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:54:07 +0100 Subject: [PATCH 04/15] overhead benchmark command added - typo --- scripts/run_benchmarks.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/run_benchmarks.sh b/scripts/run_benchmarks.sh index dc90465601..d6b96c389a 100755 --- a/scripts/run_benchmarks.sh +++ b/scripts/run_benchmarks.sh @@ -140,7 +140,7 @@ for chain in ${chains//,/ }; do # Update the block and extrinsic overhead weights. echo "[+] Benchmarking block and extrinsic overheads..." OUTPUT=$( - ./target/production/polkadot benchmark overhead \ + $ASTAR_COLLATOR benchmark overhead \ --chain=$chain \ --wasm-execution=compiled \ --weight-path="$output_path/$chain/" \ From fcbffdb178ccf6bbf84818d31115817d3d7e3a70 Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Wed, 4 Dec 2024 15:32:37 +0100 Subject: [PATCH 05/15] Revert "overhead benchmark command added - typo" This reverts commit 03d0f9a3c154063bae978e4fc547599c679e0a8c. --- scripts/run_benchmarks.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/run_benchmarks.sh b/scripts/run_benchmarks.sh index d6b96c389a..dc90465601 100755 --- a/scripts/run_benchmarks.sh +++ b/scripts/run_benchmarks.sh @@ -140,7 +140,7 @@ for chain in ${chains//,/ }; do # Update the block and extrinsic overhead weights. echo "[+] Benchmarking block and extrinsic overheads..." OUTPUT=$( - $ASTAR_COLLATOR benchmark overhead \ + ./target/production/polkadot benchmark overhead \ --chain=$chain \ --wasm-execution=compiled \ --weight-path="$output_path/$chain/" \ From 9048b77136d12b707fa8ab8d6aa515eae2550de2 Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Wed, 4 Dec 2024 15:33:19 +0100 Subject: [PATCH 06/15] Revert "overhead benchmark comment added" This reverts commit 96a0520dc8cc082e0fcdf41f89db2a48ad0b92eb. --- Cargo.lock | 1 - Cargo.toml | 1 - bin/collator/src/local/service.rs | 9 -- bin/collator/src/parachain/service.rs | 9 -- runtime/shibuya/Cargo.toml | 2 - runtime/shibuya/src/lib.rs | 4 +- runtime/shibuya/src/weights/base_extrinsic.rs | 82 ------------------- runtime/shibuya/src/weights/mod.rs | 1 - scripts/run_benchmarks.sh | 16 ---- 9 files changed, 3 insertions(+), 122 deletions(-) delete mode 100644 runtime/shibuya/src/weights/base_extrinsic.rs diff --git a/Cargo.lock b/Cargo.lock index 1630f73395..44c6b56787 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14466,7 +14466,6 @@ dependencies = [ "sp-std", "sp-transaction-pool", "sp-version", - "sp-weights", "staging-parachain-info", "staging-xcm", "staging-xcm-builder", diff --git a/Cargo.toml b/Cargo.toml index 857e8a929e..6d207a4814 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -114,7 +114,6 @@ sp-arithmetic = { git = "https://github.com/paritytech/polkadot-sdk", branch = " 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-weights = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407", default-features = false } # (native) sp-blockchain = { git = "https://github.com/paritytech/polkadot-sdk", branch = "stable2407" } diff --git a/bin/collator/src/local/service.rs b/bin/collator/src/local/service.rs index 039a943ab5..7c3c210441 100644 --- a/bin/collator/src/local/service.rs +++ b/bin/collator/src/local/service.rs @@ -47,20 +47,11 @@ use astar_primitives::*; const GRANDPA_JUSTIFICATION_PERIOD: u32 = 512; /// Parachain host functions -#[cfg(not(feature = "runtime-benchmarks"))] pub type HostFunctions = ( cumulus_client_service::ParachainHostFunctions, moonbeam_primitives_ext::moonbeam_ext::HostFunctions, ); -/// Host functions required for kitchensink runtime and Substrate node. -#[cfg(feature = "runtime-benchmarks")] -pub type HostFunctions = ( - frame_benchmarking::benchmarking::HostFunctions, - cumulus_client_service::ParachainHostFunctions, - moonbeam_primitives_ext::moonbeam_ext::HostFunctions, -); - type ParachainExecutor = WasmExecutor; type FullClient = sc_service::TFullClient; diff --git a/bin/collator/src/parachain/service.rs b/bin/collator/src/parachain/service.rs index b8c6fcb9f0..64566c934e 100644 --- a/bin/collator/src/parachain/service.rs +++ b/bin/collator/src/parachain/service.rs @@ -62,20 +62,11 @@ use crate::{ }; /// Parachain host functions -#[cfg(not(feature = "runtime-benchmarks"))] pub type HostFunctions = ( cumulus_client_service::ParachainHostFunctions, moonbeam_primitives_ext::moonbeam_ext::HostFunctions, ); -/// Host functions required for kitchensink runtime and Substrate node. -#[cfg(feature = "runtime-benchmarks")] -pub type HostFunctions = ( - frame_benchmarking::benchmarking::HostFunctions, - cumulus_client_service::ParachainHostFunctions, - moonbeam_primitives_ext::moonbeam_ext::HostFunctions, -); - /// Parachain executor pub type ParachainExecutor = WasmExecutor; diff --git a/runtime/shibuya/Cargo.toml b/runtime/shibuya/Cargo.toml index 4dce8933a5..4f06299215 100644 --- a/runtime/shibuya/Cargo.toml +++ b/runtime/shibuya/Cargo.toml @@ -36,7 +36,6 @@ sp-session = { workspace = true } sp-std = { workspace = true } sp-transaction-pool = { workspace = true } sp-version = { workspace = true } -sp-weights = { workspace = true } # frame dependencies frame-executive = { workspace = true } @@ -265,7 +264,6 @@ std = [ "sp-std/std", "sp-transaction-pool/std", "sp-version/std", - "sp-weights/std", "substrate-wasm-builder", "vesting-mbm/std", "xcm-builder/std", diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index bd54f01d69..3463018ce8 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -249,7 +249,9 @@ parameter_types! { pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { - weights.base_extrinsic = weights::base_extrinsic::ExtrinsicBaseWeight::get(); + // Adjusting the base extrinsic weight to account for the additional database + // read introduced by the `tx-pause` pallet during extrinsic filtering. + weights.base_extrinsic = ExtrinsicBaseWeight::get().saturating_add(RocksDbWeight::get().reads(1)); }) .for_class(DispatchClass::Normal, |weights| { weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); diff --git a/runtime/shibuya/src/weights/base_extrinsic.rs b/runtime/shibuya/src/weights/base_extrinsic.rs deleted file mode 100644 index f94c16cc62..0000000000 --- a/runtime/shibuya/src/weights/base_extrinsic.rs +++ /dev/null @@ -1,82 +0,0 @@ -// This file is part of Astar. - -// Copyright (C) Stake Technologies Pte.Ltd. -// SPDX-License-Identifier: GPL-3.0-or-later - -// Astar is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. - -// Astar is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -// You should have received a copy of the GNU General Public License -// along with Astar. If not, see . - -// This is just a dummy file. - -use sp_core::parameter_types; -use sp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight}; - -// parameter_types! { -// /// Time to execute a NO-OP extrinsic, for example `System::remark`. -// /// Calculated by multiplying the *Average* with `1.0` and adding `0`. -// /// -// /// Stats nanoseconds: -// /// Min, Max: 106_559, 107_788 -// /// Average: 107_074 -// /// Median: 107_067 -// /// Std-Dev: 242.67 -// /// -// /// Percentiles nanoseconds: -// /// 99th: 107_675 -// /// 95th: 107_513 -// /// 75th: 107_225 -// pub const ExtrinsicBaseWeight: Weight = -// Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(107_074), 0); -// } - -parameter_types! { - /// Time to execute a NO-OP extrinsic, for example `System::remark`. - /// Calculated by multiplying the *Average* with `1.0` and adding `0`. - /// - /// Stats nanoseconds: - /// Min, Max: 87_894, 99_268 - /// Average: 90_705 - /// Median: 90_325 - /// Std-Dev: 2344.95 - /// - /// Percentiles nanoseconds: - /// 99th: 99_232 - /// 95th: 96_405 - /// 75th: 91_204 - pub const ExtrinsicBaseWeight: Weight = - Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(90_705), 0); -} - -#[cfg(test)] -mod test_weights { - use sp_weights::constants; - - /// Checks that the weight exists and is sane. - // NOTE: If this test fails but you are sure that the generated values are fine, - // you can delete it. - #[test] - fn sane() { - let w = super::ExtrinsicBaseWeight::get(); - - // At least 10 µs. - assert!( - w.ref_time() >= 10u64 * constants::WEIGHT_REF_TIME_PER_MICROS, - "Weight should be at least 10 µs." - ); - // At most 1 ms. - assert!( - w.ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS, - "Weight should be at most 1 ms." - ); - } -} diff --git a/runtime/shibuya/src/weights/mod.rs b/runtime/shibuya/src/weights/mod.rs index f4d73f8812..93a7d79b6f 100644 --- a/runtime/shibuya/src/weights/mod.rs +++ b/runtime/shibuya/src/weights/mod.rs @@ -16,7 +16,6 @@ // You should have received a copy of the GNU General Public License // along with Astar. If not, see . -pub mod base_extrinsic; pub mod orml_oracle; pub mod pallet_assets; pub mod pallet_balances; diff --git a/scripts/run_benchmarks.sh b/scripts/run_benchmarks.sh index dc90465601..c739e4762d 100755 --- a/scripts/run_benchmarks.sh +++ b/scripts/run_benchmarks.sh @@ -137,22 +137,6 @@ for chain in ${chains//,/ }; do fi done - # Update the block and extrinsic overhead weights. - echo "[+] Benchmarking block and extrinsic overheads..." - OUTPUT=$( - ./target/production/polkadot benchmark overhead \ - --chain=$chain \ - --wasm-execution=compiled \ - --weight-path="$output_path/$chain/" \ - --warmup=10 \ - --repeat=100 \ - --header=./.github/license-check/headers/HEADER-GNUv3 - ) - if [ $? -ne 0 ]; then - echo "$OUTPUT" >> "$ERR_FILE" - echo "[-] Failed to benchmark the block and extrinsic overheads. Error written to $ERR_FILE; continuing..." - fi - echo "[+] Benchmarking the machine..." OUTPUT=$( $ASTAR_COLLATOR benchmark machine --chain=$chain 2>&1 From 815f13f3eb9cb05d6938b60c06393e9790b6b4b1 Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Wed, 4 Dec 2024 15:38:45 +0100 Subject: [PATCH 07/15] todo comment added to use proper benchmarking in the future --- runtime/shibuya/src/lib.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index 3463018ce8..5281a1644e 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -251,6 +251,9 @@ parameter_types! { .for_class(DispatchClass::all(), |weights| { // Adjusting the base extrinsic weight to account for the additional database // read introduced by the `tx-pause` pallet during extrinsic filtering. + // + // TODO: This hardcoded addition is a temporary fix. Replace it with a proper + // benchmark in the future. weights.base_extrinsic = ExtrinsicBaseWeight::get().saturating_add(RocksDbWeight::get().reads(1)); }) .for_class(DispatchClass::Normal, |weights| { From 642f7270fd4766174461504af21475b9e626988c Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Wed, 4 Dec 2024 15:40:50 +0100 Subject: [PATCH 08/15] remove useless crate option Co-authored-by: Ermal Kaleci --- runtime/local/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/local/Cargo.toml b/runtime/local/Cargo.toml index 94c664c602..c60c74b66a 100644 --- a/runtime/local/Cargo.toml +++ b/runtime/local/Cargo.toml @@ -43,7 +43,7 @@ pallet-insecure-randomness-collective-flip = { workspace = true } pallet-membership = { workspace = true } pallet-preimage = { workspace = true } pallet-proxy = { workspace = true } -pallet-safe-mode = { workspace = true, default-features = false } +pallet-safe-mode = { workspace = true } pallet-scheduler = { workspace = true } pallet-sudo = { workspace = true } pallet-timestamp = { workspace = true } From c710c1e5ad0d565a8c9c2057efca8a1e193c2759 Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Wed, 4 Dec 2024 15:41:20 +0100 Subject: [PATCH 09/15] remove useless crate option Co-authored-by: Ermal Kaleci From efd9b61a6c4d535f8338298ceb7b7d8e62ccea9b Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Wed, 4 Dec 2024 15:44:01 +0100 Subject: [PATCH 10/15] remove useless crates options --- runtime/local/Cargo.toml | 2 +- runtime/shibuya/Cargo.toml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/runtime/local/Cargo.toml b/runtime/local/Cargo.toml index c60c74b66a..957d4d9d2e 100644 --- a/runtime/local/Cargo.toml +++ b/runtime/local/Cargo.toml @@ -49,7 +49,7 @@ pallet-sudo = { workspace = true } pallet-timestamp = { workspace = true } pallet-transaction-payment = { workspace = true } pallet-treasury = { workspace = true } -pallet-tx-pause = { workspace = true, default-features = false } +pallet-tx-pause = { workspace = true } pallet-utility = { workspace = true } pallet-vesting = { workspace = true } sp-api = { workspace = true } diff --git a/runtime/shibuya/Cargo.toml b/runtime/shibuya/Cargo.toml index 4f06299215..f86f65e106 100644 --- a/runtime/shibuya/Cargo.toml +++ b/runtime/shibuya/Cargo.toml @@ -68,7 +68,7 @@ pallet-migrations = { workspace = true } pallet-multisig = { workspace = true } pallet-preimage = { workspace = true } pallet-proxy = { workspace = true } -pallet-safe-mode = { workspace = true, default-features = false } +pallet-safe-mode = { workspace = true } pallet-scheduler = { workspace = true } pallet-session = { workspace = true } pallet-sudo = { workspace = true } @@ -76,7 +76,7 @@ pallet-timestamp = { workspace = true } pallet-transaction-payment = { workspace = true } pallet-transaction-payment-rpc-runtime-api = { workspace = true } pallet-treasury = { workspace = true } -pallet-tx-pause = { workspace = true, default-features = false } +pallet-tx-pause = { workspace = true } pallet-utility = { workspace = true } pallet-vesting = { workspace = true } vesting-mbm = { workspace = true } From 6218b74cf9e6f61905f4cb51c5652b31f27d18d2 Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Wed, 4 Dec 2024 16:01:10 +0100 Subject: [PATCH 11/15] DbWeight from frame_system::Config used --- runtime/shibuya/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index 5281a1644e..22aa68f38f 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -254,7 +254,7 @@ parameter_types! { // // TODO: This hardcoded addition is a temporary fix. Replace it with a proper // benchmark in the future. - weights.base_extrinsic = ExtrinsicBaseWeight::get().saturating_add(RocksDbWeight::get().reads(1)); + weights.base_extrinsic = ExtrinsicBaseWeight::get().saturating_add(::DbWeight::get().reads(1)); }) .for_class(DispatchClass::Normal, |weights| { weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); From 1f400a4e1d02afa5bf9da6e2ee37e0b3915ceca9 Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Wed, 4 Dec 2024 18:28:31 +0100 Subject: [PATCH 12/15] RuntimeAdjustedWeights type to handle weights override --- runtime/shibuya/src/lib.rs | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index 22aa68f38f..3adc256974 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -230,6 +230,19 @@ impl_opaque_keys! { } } +// Adjusting the base extrinsic weight to account for the additional database +// read introduced by the `tx-pause` pallet during extrinsic filtering. +// +// TODO: This hardcoded addition is a temporary fix. Replace it with a proper +// benchmark in the future. +pub struct RuntimeAdjustedWeights; +impl RuntimeAdjustedWeights { + pub fn extrinsic_base_weight() -> Weight { + ExtrinsicBaseWeight::get() + .saturating_add(::DbWeight::get().reads(1)) + } +} + /// We assume that ~10% of the block weight is consumed by `on_initalize` handlers. /// This is used to limit the maximal weight of a single extrinsic. const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); @@ -249,12 +262,7 @@ parameter_types! { pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { - // Adjusting the base extrinsic weight to account for the additional database - // read introduced by the `tx-pause` pallet during extrinsic filtering. - // - // TODO: This hardcoded addition is a temporary fix. Replace it with a proper - // benchmark in the future. - weights.base_extrinsic = ExtrinsicBaseWeight::get().saturating_add(::DbWeight::get().reads(1)); + weights.base_extrinsic = RuntimeAdjustedWeights::extrinsic_base_weight(); }) .for_class(DispatchClass::Normal, |weights| { weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); @@ -807,7 +815,7 @@ impl WeightToFeePolynomial for WeightToFee { type Balance = Balance; fn polynomial() -> WeightToFeeCoefficients { let p = WeightFeeFactor::get(); - let q = Balance::from(ExtrinsicBaseWeight::get().ref_time()); + let q = Balance::from(RuntimeAdjustedWeights::extrinsic_base_weight().ref_time()); smallvec::smallvec![WeightToFeeCoefficient { degree: 1, negative: false, From 633982fada9f42a98e00500abc1c8600200f16c6 Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Wed, 4 Dec 2024 19:27:47 +0100 Subject: [PATCH 13/15] remove WeightToFee mock --- tests/integration/src/setup.rs | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/tests/integration/src/setup.rs b/tests/integration/src/setup.rs index df985e1ab0..5a275f5ee1 100644 --- a/tests/integration/src/setup.rs +++ b/tests/integration/src/setup.rs @@ -48,6 +48,7 @@ pub use shibuya::*; #[cfg(feature = "shibuya")] mod shibuya { use super::*; + pub use shibuya_runtime::WeightToFee; pub use shibuya_runtime::*; /// 1 SBY. @@ -82,6 +83,7 @@ mod shibuya { pub use shiden::*; #[cfg(feature = "shiden")] mod shiden { + pub use shiden_runtime::WeightToFee; pub use shiden_runtime::*; /// 1 SDN. @@ -92,6 +94,7 @@ mod shiden { pub use astar::*; #[cfg(feature = "astar")] mod astar { + pub use astar_runtime::WeightToFee; pub use astar_runtime::*; /// 1 ASTR. @@ -374,21 +377,3 @@ pub fn call_wasm_contract_method( ); value } - -/// TODO: improve WeightToFee later once code is more accessible. - -/// Same `WeightToFee` implementation as runtime -pub struct WeightToFee; -impl WeightToFeePolynomial for WeightToFee { - type Balance = Balance; - fn polynomial() -> WeightToFeeCoefficients { - let p = WeightFeeFactor::get(); - let q = Balance::from(ExtrinsicBaseWeight::get().ref_time()); - smallvec::smallvec![WeightToFeeCoefficient { - degree: 1, - negative: false, - coeff_frac: Perbill::from_rational(p % q, q), - coeff_integer: p / q, - }] - } -} From ce4612cbbb98160e088cd036b858aad46c425943 Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Wed, 4 Dec 2024 19:27:49 +0100 Subject: [PATCH 14/15] Revert "RuntimeAdjustedWeights type to handle weights override" This reverts commit 1f400a4e1d02afa5bf9da6e2ee37e0b3915ceca9. --- runtime/shibuya/src/lib.rs | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index 3adc256974..22aa68f38f 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -230,19 +230,6 @@ impl_opaque_keys! { } } -// Adjusting the base extrinsic weight to account for the additional database -// read introduced by the `tx-pause` pallet during extrinsic filtering. -// -// TODO: This hardcoded addition is a temporary fix. Replace it with a proper -// benchmark in the future. -pub struct RuntimeAdjustedWeights; -impl RuntimeAdjustedWeights { - pub fn extrinsic_base_weight() -> Weight { - ExtrinsicBaseWeight::get() - .saturating_add(::DbWeight::get().reads(1)) - } -} - /// We assume that ~10% of the block weight is consumed by `on_initalize` handlers. /// This is used to limit the maximal weight of a single extrinsic. const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); @@ -262,7 +249,12 @@ parameter_types! { pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder() .base_block(BlockExecutionWeight::get()) .for_class(DispatchClass::all(), |weights| { - weights.base_extrinsic = RuntimeAdjustedWeights::extrinsic_base_weight(); + // Adjusting the base extrinsic weight to account for the additional database + // read introduced by the `tx-pause` pallet during extrinsic filtering. + // + // TODO: This hardcoded addition is a temporary fix. Replace it with a proper + // benchmark in the future. + weights.base_extrinsic = ExtrinsicBaseWeight::get().saturating_add(::DbWeight::get().reads(1)); }) .for_class(DispatchClass::Normal, |weights| { weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); @@ -815,7 +807,7 @@ impl WeightToFeePolynomial for WeightToFee { type Balance = Balance; fn polynomial() -> WeightToFeeCoefficients { let p = WeightFeeFactor::get(); - let q = Balance::from(RuntimeAdjustedWeights::extrinsic_base_weight().ref_time()); + let q = Balance::from(ExtrinsicBaseWeight::get().ref_time()); smallvec::smallvec![WeightToFeeCoefficient { degree: 1, negative: false, From e2156844daf5a10a2410bc19da65a30dfb18ac90 Mon Sep 17 00:00:00 2001 From: Igor Papandinas <26460174+ipapandinas@users.noreply.github.com> Date: Wed, 4 Dec 2024 19:31:24 +0100 Subject: [PATCH 15/15] base_extrinsic get from RuntimeBlockWeights for WeightToFee --- runtime/shibuya/src/lib.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/runtime/shibuya/src/lib.rs b/runtime/shibuya/src/lib.rs index 22aa68f38f..4db3d3b028 100644 --- a/runtime/shibuya/src/lib.rs +++ b/runtime/shibuya/src/lib.rs @@ -807,7 +807,12 @@ impl WeightToFeePolynomial for WeightToFee { type Balance = Balance; fn polynomial() -> WeightToFeeCoefficients { let p = WeightFeeFactor::get(); - let q = Balance::from(ExtrinsicBaseWeight::get().ref_time()); + let q = Balance::from( + RuntimeBlockWeights::get() + .get(DispatchClass::Normal) + .base_extrinsic + .ref_time(), + ); smallvec::smallvec![WeightToFeeCoefficient { degree: 1, negative: false,