From bbd51ce867967f71657b901f1a956ad4f75d352e Mon Sep 17 00:00:00 2001
From: georgepisaltu <52418509+georgepisaltu@users.noreply.github.com>
Date: Wed, 13 Mar 2024 16:10:59 +0200
Subject: [PATCH] Revert "FRAME: Create `TransactionExtension` as a replacement
 for `SignedExtension` (#2280)" (#3665)

This PR reverts #2280 which introduced `TransactionExtension` to replace
`SignedExtension`.

As a result of the discussion
[here](https://github.com/paritytech/polkadot-sdk/pull/3623#issuecomment-1986789700),
the changes will be reverted for now with plans to reintroduce the
concept in the future.

---------

Signed-off-by: georgepisaltu <george.pisaltu@parity.io>
---
 Cargo.lock                                    |   35 +-
 bridges/bin/runtime-common/Cargo.toml         |    1 -
 bridges/bin/runtime-common/src/lib.rs         |   72 +-
 bridges/bin/runtime-common/src/mock.rs        |    2 +-
 .../runtime-common/src/priority_calculator.rs |   11 +-
 .../src/refund_relayer_extension.rs           |  154 +-
 .../chain-bridge-hub-cumulus/src/lib.rs       |    4 +-
 .../chain-bridge-hub-rococo/src/lib.rs        |    2 +-
 bridges/primitives/chain-kusama/src/lib.rs    |    4 +-
 .../chain-polkadot-bulletin/src/lib.rs        |   51 +-
 bridges/primitives/chain-polkadot/src/lib.rs  |    4 +-
 bridges/primitives/chain-rococo/src/lib.rs    |    4 +-
 bridges/primitives/chain-westend/src/lib.rs   |    4 +-
 bridges/primitives/polkadot-core/src/lib.rs   |   37 +-
 bridges/primitives/runtime/src/extensions.rs  |  135 +-
 .../snowbridge/runtime/test-common/Cargo.toml |    1 -
 .../assets/asset-hub-rococo/Cargo.toml        |    2 -
 .../assets/asset-hub-rococo/src/lib.rs        |   77 +-
 .../src/weights/frame_system_extensions.rs    |  121 --
 .../asset-hub-rococo/src/weights/mod.rs       |    3 -
 .../pallet_asset_conversion_tx_payment.rs     |   92 -
 .../src/weights/pallet_transaction_payment.rs |   67 -
 .../assets/asset-hub-westend/Cargo.toml       |    2 -
 .../assets/asset-hub-westend/src/lib.rs       |   77 +-
 .../src/weights/frame_system_extensions.rs    |  121 --
 .../asset-hub-westend/src/weights/mod.rs      |    3 -
 .../pallet_asset_conversion_tx_payment.rs     |   92 -
 .../src/weights/pallet_transaction_payment.rs |   67 -
 .../bridge-hubs/bridge-hub-rococo/Cargo.toml  |    1 -
 .../src/bridge_to_bulletin_config.rs          |    4 +-
 .../src/bridge_to_westend_config.rs           |    4 +-
 .../bridge-hubs/bridge-hub-rococo/src/lib.rs  |   27 +-
 .../src/weights/frame_system_extensions.rs    |  121 --
 .../bridge-hub-rococo/src/weights/mod.rs      |    2 -
 .../src/weights/pallet_transaction_payment.rs |   67 -
 .../bridge-hub-rococo/tests/snowbridge.rs     |    8 +-
 .../bridge-hub-rococo/tests/tests.rs          |   11 +-
 .../bridge-hubs/bridge-hub-westend/Cargo.toml |    1 -
 .../src/bridge_to_rococo_config.rs            |    4 +-
 .../bridge-hubs/bridge-hub-westend/src/lib.rs |   25 +-
 .../src/weights/frame_system_extensions.rs    |  121 --
 .../bridge-hub-westend/src/weights/mod.rs     |    2 -
 .../src/weights/pallet_transaction_payment.rs |   67 -
 .../bridge-hub-westend/tests/tests.rs         |   11 +-
 .../collectives-westend/Cargo.toml            |    1 -
 .../collectives-westend/src/lib.rs            |   12 +-
 .../src/weights/frame_system_extensions.rs    |  121 --
 .../collectives-westend/src/weights/mod.rs    |    2 -
 .../src/weights/pallet_transaction_payment.rs |   67 -
 .../contracts/contracts-rococo/Cargo.toml     |    1 -
 .../contracts/contracts-rococo/src/lib.rs     |   10 +-
 .../coretime/coretime-rococo/Cargo.toml       |    1 -
 .../coretime/coretime-rococo/src/lib.rs       |    9 +-
 .../src/weights/frame_system_extensions.rs    |  121 --
 .../coretime-rococo/src/weights/mod.rs        |    2 -
 .../src/weights/pallet_transaction_payment.rs |   67 -
 .../coretime/coretime-westend/Cargo.toml      |    1 -
 .../coretime/coretime-westend/src/lib.rs      |    9 +-
 .../src/weights/frame_system_extensions.rs    |  121 --
 .../coretime-westend/src/weights/mod.rs       |    2 -
 .../src/weights/pallet_transaction_payment.rs |   67 -
 .../glutton/glutton-westend/src/lib.rs        |    9 +-
 .../src/weights/frame_system_extensions.rs    |  119 --
 .../runtimes/people/people-rococo/Cargo.toml  |    1 -
 .../runtimes/people/people-rococo/src/lib.rs  |    9 +-
 .../src/weights/frame_system_extensions.rs    |  121 --
 .../people/people-rococo/src/weights/mod.rs   |    2 -
 .../src/weights/pallet_transaction_payment.rs |   67 -
 .../runtimes/people/people-westend/Cargo.toml |    1 -
 .../runtimes/people/people-westend/src/lib.rs |    8 +-
 .../src/weights/frame_system_extensions.rs    |  121 --
 .../people/people-westend/src/weights/mod.rs  |    2 -
 .../src/weights/pallet_transaction_payment.rs |   67 -
 .../runtimes/starters/seedling/src/lib.rs     |    6 +-
 .../runtimes/starters/shell/src/lib.rs        |   64 +-
 .../runtimes/testing/penpal/Cargo.toml        |    1 -
 .../runtimes/testing/penpal/src/lib.rs        |   26 +-
 .../testing/rococo-parachain/Cargo.toml       |    1 -
 .../testing/rococo-parachain/src/lib.rs       |    7 +-
 cumulus/polkadot-parachain/Cargo.toml         |    1 -
 .../storage-weight-reclaim/Cargo.toml         |   13 +-
 .../src/benchmarking.rs                       |   70 -
 .../storage-weight-reclaim/src/lib.rs         |  522 ++++-
 .../storage-weight-reclaim/src/tests.rs       |  484 -----
 cumulus/test/client/Cargo.toml                |    2 -
 cumulus/test/client/src/lib.rs                |   13 +-
 cumulus/test/runtime/src/lib.rs               |    9 +-
 cumulus/test/service/Cargo.toml               |    2 -
 cumulus/test/service/src/bench_utils.rs       |    4 +-
 cumulus/test/service/src/lib.rs               |    9 +-
 .../src/reference_docs/extrinsic_encoding.rs  |  101 +-
 .../src/reference_docs/frame_runtime_types.rs |    2 +-
 docs/sdk/src/reference_docs/mod.rs            |    4 +-
 .../src/reference_docs/signed_extensions.rs   |   79 +
 .../reference_docs/transaction_extensions.rs  |   57 -
 polkadot/node/service/Cargo.toml              |    1 -
 polkadot/node/service/src/benchmarking.rs     |   18 +-
 polkadot/node/test/service/Cargo.toml         |    1 -
 polkadot/node/test/service/src/lib.rs         |   11 +-
 polkadot/runtime/common/Cargo.toml            |    1 -
 polkadot/runtime/common/src/claims.rs         |  150 +-
 polkadot/runtime/rococo/Cargo.toml            |    1 -
 .../constants/src/weights/block_weights.rs    |   29 +-
 .../src/weights/extrinsic_weights.rs          |   29 +-
 polkadot/runtime/rococo/src/lib.rs            |   45 +-
 .../weights/frame_benchmarking_baseline.rs    |   43 +-
 .../rococo/src/weights/frame_system.rs        |  103 +-
 .../src/weights/frame_system_extensions.rs    |  123 --
 polkadot/runtime/rococo/src/weights/mod.rs    |    2 -
 .../rococo/src/weights/pallet_asset_rate.rs   |   63 +-
 .../src/weights/pallet_balances_balances.rs   |   58 +-
 ...allet_balances_nis_counterpart_balances.rs |   58 +-
 .../rococo/src/weights/pallet_bounties.rs     |  218 +--
 .../src/weights/pallet_child_bounties.rs      |  181 +-
 .../src/weights/pallet_conviction_voting.rs   |  196 +-
 .../rococo/src/weights/pallet_identity.rs     |  409 ++--
 .../rococo/src/weights/pallet_indices.rs      |   73 +-
 .../src/weights/pallet_message_queue.rs       |  168 +-
 .../rococo/src/weights/pallet_multisig.rs     |  123 +-
 .../runtime/rococo/src/weights/pallet_nis.rs  |  243 +--
 .../rococo/src/weights/pallet_preimage.rs     |  252 ++-
 .../rococo/src/weights/pallet_proxy.rs        |  195 +-
 .../src/weights/pallet_ranked_collective.rs   |   66 +-
 .../rococo/src/weights/pallet_recovery.rs     |  186 --
 .../pallet_referenda_fellowship_referenda.rs  |  235 ++-
 .../src/weights/pallet_referenda_referenda.rs |  283 +--
 .../rococo/src/weights/pallet_scheduler.rs    |  146 +-
 .../runtime/rococo/src/weights/pallet_sudo.rs |   45 +-
 .../rococo/src/weights/pallet_timestamp.rs    |   35 +-
 .../src/weights/pallet_transaction_payment.rs |   68 -
 .../rococo/src/weights/pallet_treasury.rs     |  233 +--
 .../rococo/src/weights/pallet_utility.rs      |   47 +-
 .../rococo/src/weights/pallet_vesting.rs      |  254 ++-
 .../rococo/src/weights/pallet_whitelist.rs    |   68 +-
 .../runtime/rococo/src/weights/pallet_xcm.rs  |   90 +-
 .../weights/pallet_xcm_benchmarks_fungible.rs |  191 --
 .../weights/pallet_xcm_benchmarks_generic.rs  |  347 ----
 .../weights/runtime_common_assigned_slots.rs  |   70 +-
 .../src/weights/runtime_common_auctions.rs    |  137 +-
 .../src/weights/runtime_common_claims.rs      |  180 +-
 .../src/weights/runtime_common_coretime.rs    |   86 -
 .../src/weights/runtime_common_crowdloan.rs   |  239 +--
 .../runtime_common_identity_migrator.rs       |   83 +-
 .../weights/runtime_common_paras_registrar.rs |  281 +--
 .../src/weights/runtime_common_slots.rs       |  127 +-
 .../runtime_parachains_assigner_on_demand.rs  |   50 +-
 .../runtime_parachains_configuration.rs       |   48 +-
 .../weights/runtime_parachains_disputes.rs    |   23 +-
 .../src/weights/runtime_parachains_hrmp.rs    |  389 ++--
 .../weights/runtime_parachains_inclusion.rs   |   45 +-
 .../weights/runtime_parachains_initializer.rs |   27 +-
 .../src/weights/runtime_parachains_paras.rs   |  368 ++--
 .../runtime_parachains_paras_inherent.rs      |  429 ++---
 polkadot/runtime/test-runtime/Cargo.toml      |    1 -
 polkadot/runtime/test-runtime/src/lib.rs      |   40 +-
 polkadot/runtime/westend/Cargo.toml           |    1 -
 polkadot/runtime/westend/src/lib.rs           |   25 +-
 .../src/weights/frame_system_extensions.rs    |  116 --
 polkadot/runtime/westend/src/weights/mod.rs   |    2 -
 .../westend/src/weights/pallet_sudo.rs        |   11 -
 .../src/weights/pallet_transaction_payment.rs |   65 -
 polkadot/xcm/xcm-builder/Cargo.toml           |    1 -
 .../xcm/xcm-builder/src/tests/pay/mock.rs     |   12 +-
 .../xcm/xcm-simulator/fuzzer/src/parachain.rs |    4 +-
 .../xcm-simulator/fuzzer/src/relay_chain.rs   |    4 +-
 prdoc/pr_2280.prdoc                           |  144 --
 prdoc/pr_3665.prdoc                           |   11 +
 substrate/.maintain/frame-weight-template.hbs |    2 +-
 substrate/bin/node/cli/Cargo.toml             |    2 -
 .../bin/node/cli/benches/block_production.rs  |    2 +-
 substrate/bin/node/cli/benches/executor.rs    |    6 +-
 substrate/bin/node/cli/src/service.rs         |   77 +-
 substrate/bin/node/cli/tests/basic.rs         |   26 +-
 substrate/bin/node/cli/tests/fees.rs          |   24 +-
 .../bin/node/cli/tests/submit_transaction.rs  |   10 +-
 substrate/bin/node/runtime/Cargo.toml         |    2 -
 substrate/bin/node/runtime/src/lib.rs         |  165 +-
 substrate/bin/node/testing/src/bench.rs       |   26 +-
 substrate/bin/node/testing/src/keyring.rs     |   44 +-
 .../client/api/src/notifications/tests.rs     |    7 +-
 substrate/client/db/benches/state_access.rs   |    5 +-
 substrate/client/db/src/lib.rs                |  262 +--
 substrate/client/db/src/utils.rs              |   11 +-
 .../network-gossip/src/state_machine.rs       |    5 +-
 substrate/client/network/sync/src/blocks.rs   |    7 +-
 substrate/client/transaction-pool/src/lib.rs  |    9 +-
 substrate/frame/alliance/src/weights.rs       | 1033 +++++-----
 .../frame/asset-conversion/src/weights.rs     |  126 +-
 substrate/frame/asset-rate/src/weights.rs     |   73 +-
 substrate/frame/assets/src/weights.rs         |  841 ++++----
 substrate/frame/babe/src/mock.rs              |    5 +-
 substrate/frame/bags-list/src/weights.rs      |  165 +-
 substrate/frame/balances/Cargo.toml           |    1 -
 .../balances/src/tests/currency_tests.rs      |   17 +-
 substrate/frame/balances/src/tests/mod.rs     |    4 +-
 substrate/frame/balances/src/weights.rs       |   98 +-
 substrate/frame/beefy/src/mock.rs             |    6 +-
 substrate/frame/benchmarking/src/weights.rs   |   81 +-
 substrate/frame/bounties/src/weights.rs       |  405 ++--
 substrate/frame/broker/src/weights.rs         |  357 ++--
 substrate/frame/child-bounties/src/weights.rs |  381 ++--
 substrate/frame/collective/src/tests.rs       |    2 +-
 substrate/frame/collective/src/weights.rs     |  677 ++++---
 substrate/frame/contracts/src/weights.rs      |  265 +--
 .../frame/conviction-voting/src/weights.rs    |  405 ++--
 .../frame/core-fellowship/src/weights.rs      |  429 ++---
 substrate/frame/democracy/src/weights.rs      | 1093 ++++++-----
 .../election-provider-multi-phase/src/mock.rs |    2 +-
 .../src/unsigned.rs                           |    4 +-
 .../src/weights.rs                            |  517 +++--
 .../test-staking-e2e/src/mock.rs              |    4 +-
 substrate/frame/elections-phragmen/src/lib.rs |    2 +-
 .../frame/elections-phragmen/src/weights.rs   |  655 ++++---
 substrate/frame/examples/basic/src/lib.rs     |   76 +-
 substrate/frame/examples/basic/src/tests.rs   |    9 +-
 .../examples/offchain-worker/src/tests.rs     |   22 +-
 substrate/frame/examples/tasks/src/weights.rs |   78 +-
 substrate/frame/executive/src/tests.rs        |  225 +--
 substrate/frame/fast-unstake/src/weights.rs   |  473 +++--
 substrate/frame/glutton/src/weights.rs        |  249 +--
 substrate/frame/grandpa/src/mock.rs           |    9 +-
 substrate/frame/identity/src/weights.rs       |  825 ++++----
 substrate/frame/im-online/src/mock.rs         |    4 +-
 substrate/frame/im-online/src/tests.rs        |    4 +-
 substrate/frame/im-online/src/weights.rs      |   85 +-
 substrate/frame/indices/src/weights.rs        |  121 +-
 substrate/frame/lottery/src/weights.rs        |  301 ++-
 substrate/frame/membership/src/weights.rs     |  385 ++--
 substrate/frame/message-queue/src/weights.rs  |  247 ++-
 substrate/frame/migrations/src/weights.rs     |  183 +-
 substrate/frame/multisig/src/weights.rs       |  243 ++-
 .../nft-fractionalization/src/weights.rs      |  209 +-
 substrate/frame/nfts/src/weights.rs           | 1692 ++++++++---------
 substrate/frame/nis/src/weights.rs            |  429 ++---
 .../frame/nomination-pools/src/weights.rs     |   29 +-
 .../frame/offences/benchmarking/src/mock.rs   |    2 +-
 substrate/frame/parameters/src/weights.rs     |   38 +-
 substrate/frame/preimage/src/weights.rs       |  332 ++--
 substrate/frame/proxy/src/weights.rs          |  377 ++--
 .../frame/ranked-collective/src/weights.rs    |  353 ++--
 substrate/frame/recovery/src/weights.rs       |  305 ++-
 substrate/frame/referenda/src/weights.rs      | 1037 +++++-----
 substrate/frame/remark/src/weights.rs         |   37 +-
 substrate/frame/safe-mode/src/weights.rs      |  142 +-
 substrate/frame/salary/src/weights.rs         |  217 +--
 substrate/frame/sassafras/src/mock.rs         |    5 +-
 substrate/frame/scheduler/src/weights.rs      |  266 ++-
 substrate/frame/session/src/weights.rs        |  117 +-
 substrate/frame/society/src/weights.rs        |  974 +++-------
 substrate/frame/src/lib.rs                    |    6 +-
 substrate/frame/staking/src/weights.rs        |  422 ++--
 .../frame/state-trie-migration/src/lib.rs     |    2 +-
 .../frame/state-trie-migration/src/weights.rs |  118 +-
 substrate/frame/sudo/src/benchmarking.rs      |   29 +-
 substrate/frame/sudo/src/extension.rs         |   78 +-
 substrate/frame/sudo/src/lib.rs               |    4 +-
 substrate/frame/sudo/src/weights.rs           |   71 +-
 .../src/construct_runtime/expand/inherent.rs  |   18 +-
 .../src/construct_runtime/expand/metadata.rs  |    6 +-
 .../src/construct_runtime/expand/origin.rs    |   14 -
 substrate/frame/support/src/dispatch.rs       |   29 +-
 substrate/frame/support/src/lib.rs            |    8 +-
 .../frame/support/src/traits/dispatch.rs      |   21 +-
 substrate/frame/support/src/traits/misc.rs    |   13 +-
 .../support/src/transaction_extensions.rs     |   89 -
 .../support/src/weights/block_weights.rs      |   31 +-
 .../support/src/weights/extrinsic_weights.rs  |   31 +-
 .../deprecated_where_block.stderr             |    4 +-
 substrate/frame/support/test/tests/pallet.rs  |  143 +-
 .../support/test/tests/pallet_instance.rs     |    2 +-
 substrate/frame/support/test/tests/runtime.rs |    2 +-
 .../test/tests/runtime_legacy_ordering.rs     |    4 +-
 .../system/benchmarking/src/extensions.rs     |  213 ---
 .../frame/system/benchmarking/src/lib.rs      |    1 -
 .../frame/system/benchmarking/src/mock.rs     |    1 -
 .../system/src/extensions/check_genesis.rs    |   33 +-
 .../system/src/extensions/check_mortality.rs  |   83 +-
 .../src/extensions/check_non_zero_sender.rs   |   95 +-
 .../system/src/extensions/check_nonce.rs      |  184 +-
 .../src/extensions/check_spec_version.rs      |   33 +-
 .../system/src/extensions/check_tx_version.rs |   32 +-
 .../system/src/extensions/check_weight.rs     |  228 +--
 substrate/frame/system/src/extensions/mod.rs  |    3 -
 .../frame/system/src/extensions/weights.rs    |  196 --
 substrate/frame/system/src/lib.rs             |   10 +-
 substrate/frame/system/src/offchain.rs        |   22 +-
 substrate/frame/system/src/weights.rs         |  249 ++-
 substrate/frame/timestamp/src/weights.rs      |   65 +-
 substrate/frame/tips/src/weights.rs           |  241 +--
 .../frame/transaction-payment/Cargo.toml      |    9 -
 .../asset-conversion-tx-payment/Cargo.toml    |   12 -
 .../asset-conversion-tx-payment/README.md     |    2 +-
 .../src/benchmarking.rs                       |  125 --
 .../asset-conversion-tx-payment/src/lib.rs    |  233 +--
 .../asset-conversion-tx-payment/src/mock.rs   |   70 +-
 .../asset-conversion-tx-payment/src/tests.rs  |  150 +-
 .../src/weights.rs                            |  150 --
 .../asset-tx-payment/Cargo.toml               |    1 -
 .../asset-tx-payment/README.md                |    2 +-
 .../asset-tx-payment/src/benchmarking.rs      |  123 --
 .../asset-tx-payment/src/lib.rs               |  199 +-
 .../asset-tx-payment/src/mock.rs              |   54 +-
 .../asset-tx-payment/src/tests.rs             |  184 +-
 .../asset-tx-payment/src/weights.rs           |  146 --
 .../skip-feeless-payment/src/lib.rs           |  111 +-
 .../skip-feeless-payment/src/mock.rs          |   30 +-
 .../skip-feeless-payment/src/tests.rs         |    5 +-
 .../transaction-payment/src/benchmarking.rs   |   81 -
 .../frame/transaction-payment/src/lib.rs      |  146 +-
 .../frame/transaction-payment/src/mock.rs     |   10 -
 .../frame/transaction-payment/src/payment.rs  |   56 +-
 .../frame/transaction-payment/src/tests.rs    |  444 +++--
 .../frame/transaction-payment/src/types.rs    |    2 +-
 .../frame/transaction-payment/src/weights.rs  |   92 -
 .../frame/transaction-storage/src/weights.rs  |  185 +-
 substrate/frame/treasury/src/weights.rs       |  348 ++--
 substrate/frame/tx-pause/src/weights.rs       |   38 +-
 substrate/frame/uniques/src/weights.rs        |  368 ++--
 substrate/frame/utility/src/weights.rs        |  161 +-
 substrate/frame/vesting/src/weights.rs        |  234 ++-
 substrate/frame/whitelist/src/weights.rs      |  193 +-
 substrate/primitives/inherents/src/lib.rs     |    4 +-
 substrate/primitives/metadata-ir/src/lib.rs   |    2 +-
 substrate/primitives/metadata-ir/src/types.rs |   19 +-
 substrate/primitives/metadata-ir/src/v14.rs   |   10 +-
 substrate/primitives/metadata-ir/src/v15.rs   |    8 +-
 substrate/primitives/runtime/Cargo.toml       |    2 -
 .../runtime/src/generic/checked_extrinsic.rs  |  112 +-
 .../primitives/runtime/src/generic/mod.rs     |    4 +-
 .../src/generic/unchecked_extrinsic.rs        |  730 +++----
 substrate/primitives/runtime/src/lib.rs       |   19 +-
 substrate/primitives/runtime/src/testing.rs   |  195 +-
 .../runtime/src/{traits/mod.rs => traits.rs}  |  244 ++-
 .../as_transaction_extension.rs               |  133 --
 .../dispatch_transaction.rs                   |  141 --
 .../src/traits/transaction_extension/mod.rs   |  526 -----
 .../runtime/src/transaction_validity.rs       |    6 +-
 substrate/scripts/run_all_benchmarks.sh       |   13 -
 substrate/test-utils/runtime/src/extrinsic.rs |   17 +-
 substrate/test-utils/runtime/src/lib.rs       |   93 +-
 .../benchmarking-cli/src/pallet/template.hbs  |    4 -
 .../frame/remote-externalities/src/lib.rs     |    5 +-
 substrate/utils/frame/rpc/client/src/lib.rs   |    8 +-
 templates/minimal/runtime/src/lib.rs          |    4 +-
 templates/parachain/runtime/Cargo.toml        |    2 -
 templates/parachain/runtime/src/lib.rs        |   10 +-
 templates/solochain/node/Cargo.toml           |    1 -
 templates/solochain/node/src/benchmarking.rs  |    9 +-
 templates/solochain/runtime/Cargo.toml        |    1 -
 templates/solochain/runtime/src/lib.rs        |   12 +-
 350 files changed, 15770 insertions(+), 24248 deletions(-)
 delete mode 100644 cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/frame_system_extensions.rs
 delete mode 100644 cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_asset_conversion_tx_payment.rs
 delete mode 100644 cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_transaction_payment.rs
 delete mode 100644 cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/frame_system_extensions.rs
 delete mode 100644 cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion_tx_payment.rs
 delete mode 100644 cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_transaction_payment.rs
 delete mode 100644 cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/frame_system_extensions.rs
 delete mode 100644 cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_transaction_payment.rs
 delete mode 100644 cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/frame_system_extensions.rs
 delete mode 100644 cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/pallet_transaction_payment.rs
 delete mode 100644 cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/frame_system_extensions.rs
 delete mode 100644 cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/pallet_transaction_payment.rs
 delete mode 100644 cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/frame_system_extensions.rs
 delete mode 100644 cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_transaction_payment.rs
 delete mode 100644 cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/frame_system_extensions.rs
 delete mode 100644 cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/pallet_transaction_payment.rs
 delete mode 100644 cumulus/parachains/runtimes/glutton/glutton-westend/src/weights/frame_system_extensions.rs
 delete mode 100644 cumulus/parachains/runtimes/people/people-rococo/src/weights/frame_system_extensions.rs
 delete mode 100644 cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_transaction_payment.rs
 delete mode 100644 cumulus/parachains/runtimes/people/people-westend/src/weights/frame_system_extensions.rs
 delete mode 100644 cumulus/parachains/runtimes/people/people-westend/src/weights/pallet_transaction_payment.rs
 delete mode 100644 cumulus/primitives/storage-weight-reclaim/src/benchmarking.rs
 delete mode 100644 cumulus/primitives/storage-weight-reclaim/src/tests.rs
 create mode 100644 docs/sdk/src/reference_docs/signed_extensions.rs
 delete mode 100644 docs/sdk/src/reference_docs/transaction_extensions.rs
 delete mode 100644 polkadot/runtime/rococo/src/weights/frame_system_extensions.rs
 delete mode 100644 polkadot/runtime/rococo/src/weights/pallet_recovery.rs
 delete mode 100644 polkadot/runtime/rococo/src/weights/pallet_transaction_payment.rs
 delete mode 100644 polkadot/runtime/rococo/src/weights/pallet_xcm_benchmarks_fungible.rs
 delete mode 100644 polkadot/runtime/rococo/src/weights/pallet_xcm_benchmarks_generic.rs
 delete mode 100644 polkadot/runtime/rococo/src/weights/runtime_common_coretime.rs
 delete mode 100644 polkadot/runtime/westend/src/weights/frame_system_extensions.rs
 delete mode 100644 polkadot/runtime/westend/src/weights/pallet_transaction_payment.rs
 delete mode 100644 prdoc/pr_2280.prdoc
 create mode 100644 prdoc/pr_3665.prdoc
 delete mode 100644 substrate/frame/support/src/transaction_extensions.rs
 delete mode 100644 substrate/frame/system/benchmarking/src/extensions.rs
 delete mode 100644 substrate/frame/system/src/extensions/weights.rs
 delete mode 100644 substrate/frame/transaction-payment/asset-conversion-tx-payment/src/benchmarking.rs
 delete mode 100644 substrate/frame/transaction-payment/asset-conversion-tx-payment/src/weights.rs
 delete mode 100644 substrate/frame/transaction-payment/asset-tx-payment/src/benchmarking.rs
 delete mode 100644 substrate/frame/transaction-payment/asset-tx-payment/src/weights.rs
 delete mode 100644 substrate/frame/transaction-payment/src/benchmarking.rs
 delete mode 100644 substrate/frame/transaction-payment/src/weights.rs
 rename substrate/primitives/runtime/src/{traits/mod.rs => traits.rs} (94%)
 delete mode 100644 substrate/primitives/runtime/src/traits/transaction_extension/as_transaction_extension.rs
 delete mode 100644 substrate/primitives/runtime/src/traits/transaction_extension/dispatch_transaction.rs
 delete mode 100644 substrate/primitives/runtime/src/traits/transaction_extension/mod.rs

diff --git a/Cargo.lock b/Cargo.lock
index 37c5a5177c0..8cbbbce209a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4046,13 +4046,11 @@ dependencies = [
  "cumulus-primitives-proof-size-hostfunction",
  "cumulus-test-runtime",
  "docify 0.2.7",
- "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
  "parity-scale-codec",
  "scale-info",
- "sp-core",
  "sp-io",
  "sp-runtime",
  "sp-std 14.0.0",
@@ -5899,7 +5897,7 @@ version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "29f9df8a11882c4e3335eb2d18a0137c505d9ca927470b0cac9c6f0ae07d28f7"
 dependencies = [
- "rustix 0.38.25",
+ "rustix 0.38.21",
  "windows-sys 0.48.0",
 ]
 
@@ -6784,7 +6782,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
 dependencies = [
  "hermit-abi 0.3.2",
- "rustix 0.38.25",
+ "rustix 0.38.21",
  "windows-sys 0.48.0",
 ]
 
@@ -7792,9 +7790,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
 
 [[package]]
 name = "linux-raw-sys"
-version = "0.4.11"
+version = "0.4.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
+checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f"
 
 [[package]]
 name = "lioness"
@@ -9040,7 +9038,6 @@ dependencies = [
 name = "pallet-asset-conversion-tx-payment"
 version = "10.0.0"
 dependencies = [
- "frame-benchmarking",
  "frame-support",
  "frame-system",
  "pallet-asset-conversion",
@@ -10989,7 +10986,6 @@ dependencies = [
 name = "pallet-transaction-payment"
 version = "28.0.0"
 dependencies = [
- "frame-benchmarking",
  "frame-support",
  "frame-system",
  "pallet-balances",
@@ -14251,7 +14247,7 @@ dependencies = [
  "hex",
  "lazy_static",
  "procfs-core",
- "rustix 0.38.25",
+ "rustix 0.38.21",
 ]
 
 [[package]]
@@ -15376,14 +15372,14 @@ dependencies = [
 
 [[package]]
 name = "rustix"
-version = "0.38.25"
+version = "0.38.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc99bc2d4f1fed22595588a013687477aedf3cdcfb26558c559edb67b4d9b22e"
+checksum = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3"
 dependencies = [
  "bitflags 2.4.0",
  "errno",
  "libc",
- "linux-raw-sys 0.4.11",
+ "linux-raw-sys 0.4.10",
  "windows-sys 0.48.0",
 ]
 
@@ -18715,7 +18711,7 @@ dependencies = [
 [[package]]
 name = "sp-crypto-ec-utils"
 version = "0.4.1"
-source = "git+https://github.com/paritytech/polkadot-sdk#838a534da874cf6071fba1df07643c6c5b033ae0"
+source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf590a34fca09b72dc5f"
 dependencies = [
  "ark-bls12-377",
  "ark-bls12-377-ext",
@@ -19021,7 +19017,6 @@ dependencies = [
  "sp-tracing 16.0.0",
  "sp-weights",
  "substrate-test-runtime-client",
- "tuplex",
  "zstd 0.12.4",
 ]
 
@@ -19070,7 +19065,7 @@ dependencies = [
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "11.0.0"
-source = "git+https://github.com/paritytech/polkadot-sdk#838a534da874cf6071fba1df07643c6c5b033ae0"
+source = "git+https://github.com/paritytech/polkadot-sdk#82912acb33a9030c0ef3bf590a34fca09b72dc5f"
 dependencies = [
  "Inflector",
  "proc-macro-crate 1.3.1",
@@ -20289,7 +20284,7 @@ dependencies = [
  "cfg-if",
  "fastrand 2.0.0",
  "redox_syscall 0.4.1",
- "rustix 0.38.25",
+ "rustix 0.38.21",
  "windows-sys 0.48.0",
 ]
 
@@ -20308,7 +20303,7 @@ version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
 dependencies = [
- "rustix 0.38.25",
+ "rustix 0.38.21",
  "windows-sys 0.48.0",
 ]
 
@@ -21154,12 +21149,6 @@ dependencies = [
  "utf-8",
 ]
 
-[[package]]
-name = "tuplex"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "676ac81d5454c4dcf37955d34fa8626ede3490f744b86ca14a7b90168d2a08aa"
-
 [[package]]
 name = "twox-hash"
 version = "1.6.3"
diff --git a/bridges/bin/runtime-common/Cargo.toml b/bridges/bin/runtime-common/Cargo.toml
index ee54f15f38b..fac88b20ca5 100644
--- a/bridges/bin/runtime-common/Cargo.toml
+++ b/bridges/bin/runtime-common/Cargo.toml
@@ -93,7 +93,6 @@ runtime-benchmarks = [
 	"pallet-bridge-messages/runtime-benchmarks",
 	"pallet-bridge-parachains/runtime-benchmarks",
 	"pallet-bridge-relayers/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"sp-runtime/runtime-benchmarks",
 	"xcm-builder/runtime-benchmarks",
diff --git a/bridges/bin/runtime-common/src/lib.rs b/bridges/bin/runtime-common/src/lib.rs
index 035077408c4..2722f6f1c6d 100644
--- a/bridges/bin/runtime-common/src/lib.rs
+++ b/bridges/bin/runtime-common/src/lib.rs
@@ -105,48 +105,43 @@ macro_rules! generate_bridge_reject_obsolete_headers_and_messages {
 	($call:ty, $account_id:ty, $($filter_call:ty),*) => {
 		#[derive(Clone, codec::Decode, Default, codec::Encode, Eq, PartialEq, sp_runtime::RuntimeDebug, scale_info::TypeInfo)]
 		pub struct BridgeRejectObsoleteHeadersAndMessages;
-		impl sp_runtime::traits::TransactionExtensionBase for BridgeRejectObsoleteHeadersAndMessages {
+		impl sp_runtime::traits::SignedExtension for BridgeRejectObsoleteHeadersAndMessages {
 			const IDENTIFIER: &'static str = "BridgeRejectObsoleteHeadersAndMessages";
-			type Implicit = ();
-		}
-		impl<Context> sp_runtime::traits::TransactionExtension<$call, Context> for BridgeRejectObsoleteHeadersAndMessages {
+			type AccountId = $account_id;
+			type Call = $call;
+			type AdditionalSigned = ();
 			type Pre = ();
-			type Val = ();
+
+			fn additional_signed(&self) -> sp_std::result::Result<
+				(),
+				sp_runtime::transaction_validity::TransactionValidityError,
+			> {
+				Ok(())
+			}
 
 			fn validate(
 				&self,
-				origin: <$call as sp_runtime::traits::Dispatchable>::RuntimeOrigin,
-				call: &$call,
-				_info: &sp_runtime::traits::DispatchInfoOf<$call>,
+				_who: &Self::AccountId,
+				call: &Self::Call,
+				_info: &sp_runtime::traits::DispatchInfoOf<Self::Call>,
 				_len: usize,
-				_context: &mut Context,
-				_self_implicit: Self::Implicit,
-				_inherited_implication: &impl codec::Encode,
-			) -> Result<
-				(
-					sp_runtime::transaction_validity::ValidTransaction,
-					Self::Val,
-					<$call as sp_runtime::traits::Dispatchable>::RuntimeOrigin,
-				), sp_runtime::transaction_validity::TransactionValidityError
-			> {
-				let tx_validity = sp_runtime::transaction_validity::ValidTransaction::default();
+			) -> sp_runtime::transaction_validity::TransactionValidity {
+				let valid = sp_runtime::transaction_validity::ValidTransaction::default();
 				$(
-					let call_filter_validity = <$filter_call as $crate::BridgeRuntimeFilterCall<$call>>::validate(call)?;
-					let tx_validity = tx_validity.combine_with(call_filter_validity);
+					let valid = valid
+						.combine_with(<$filter_call as $crate::BridgeRuntimeFilterCall<$call>>::validate(call)?);
 				)*
-				Ok((tx_validity, (), origin))
+				Ok(valid)
 			}
 
-			fn prepare(
+			fn pre_dispatch(
 				self,
-				_val: Self::Val,
-				_origin: &<$call as sp_runtime::traits::Dispatchable>::RuntimeOrigin,
-				_call: &$call,
-				_info: &sp_runtime::traits::DispatchInfoOf<$call>,
-				_len: usize,
-				_context: &Context,
+				who: &Self::AccountId,
+				call: &Self::Call,
+				info: &sp_runtime::traits::DispatchInfoOf<Self::Call>,
+				len: usize,
 			) -> Result<Self::Pre, sp_runtime::transaction_validity::TransactionValidityError> {
-				Ok(())
+				self.validate(who, call, info, len).map(drop)
 			}
 		}
 	};
@@ -155,14 +150,12 @@ macro_rules! generate_bridge_reject_obsolete_headers_and_messages {
 #[cfg(test)]
 mod tests {
 	use crate::BridgeRuntimeFilterCall;
-	use codec::Encode;
-	use frame_support::assert_err;
+	use frame_support::{assert_err, assert_ok};
 	use sp_runtime::{
-		traits::DispatchTransaction,
+		traits::SignedExtension,
 		transaction_validity::{InvalidTransaction, TransactionValidity, ValidTransaction},
 	};
 
-	#[derive(Encode)]
 	pub struct MockCall {
 		data: u32,
 	}
@@ -213,20 +206,17 @@ mod tests {
 		);
 
 		assert_err!(
-			BridgeRejectObsoleteHeadersAndMessages.validate_only((), &MockCall { data: 1 }, &(), 0),
+			BridgeRejectObsoleteHeadersAndMessages.validate(&(), &MockCall { data: 1 }, &(), 0),
 			InvalidTransaction::Custom(1)
 		);
 
 		assert_err!(
-			BridgeRejectObsoleteHeadersAndMessages.validate_only((), &MockCall { data: 2 }, &(), 0),
+			BridgeRejectObsoleteHeadersAndMessages.validate(&(), &MockCall { data: 2 }, &(), 0),
 			InvalidTransaction::Custom(2)
 		);
 
-		assert_eq!(
-			BridgeRejectObsoleteHeadersAndMessages
-				.validate_only((), &MockCall { data: 3 }, &(), 0)
-				.unwrap()
-				.0,
+		assert_ok!(
+			BridgeRejectObsoleteHeadersAndMessages.validate(&(), &MockCall { data: 3 }, &(), 0),
 			ValidTransaction { priority: 3, ..Default::default() }
 		)
 	}
diff --git a/bridges/bin/runtime-common/src/mock.rs b/bridges/bin/runtime-common/src/mock.rs
index f147f1404f0..8877a4fd95c 100644
--- a/bridges/bin/runtime-common/src/mock.rs
+++ b/bridges/bin/runtime-common/src/mock.rs
@@ -164,7 +164,6 @@ impl pallet_balances::Config for TestRuntime {
 	type AccountStore = System;
 }
 
-#[derive_impl(pallet_transaction_payment::config_preludes::TestDefaultConfig as pallet_transaction_payment::DefaultConfig)]
 impl pallet_transaction_payment::Config for TestRuntime {
 	type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter<Balances, ()>;
 	type OperationalFeeMultiplier = ConstU8<5>;
@@ -177,6 +176,7 @@ impl pallet_transaction_payment::Config for TestRuntime {
 		MinimumMultiplier,
 		MaximumMultiplier,
 	>;
+	type RuntimeEvent = RuntimeEvent;
 }
 
 impl pallet_bridge_grandpa::Config for TestRuntime {
diff --git a/bridges/bin/runtime-common/src/priority_calculator.rs b/bridges/bin/runtime-common/src/priority_calculator.rs
index 0c53018330e..a597fb9e2f4 100644
--- a/bridges/bin/runtime-common/src/priority_calculator.rs
+++ b/bridges/bin/runtime-common/src/priority_calculator.rs
@@ -169,15 +169,12 @@ mod integrity_tests {
 		// nodes to the proof (x0.5 because we expect some nodes to be reused)
 		let estimated_message_size = 512;
 		// let's say all our messages have the same dispatch weight
-		let estimated_message_dispatch_weight = <Runtime as pallet_bridge_messages::Config<
-			MessagesInstance,
-		>>::WeightInfo::message_dispatch_weight(
-			estimated_message_size
-		);
+		let estimated_message_dispatch_weight =
+			Runtime::WeightInfo::message_dispatch_weight(estimated_message_size);
 		// messages proof argument size is (for every message) messages size + some additional
 		// trie nodes. Some of them are reused by different messages, so let's take 2/3 of default
 		// "overhead" constant
-		let messages_proof_size = <Runtime as pallet_bridge_messages::Config<MessagesInstance>>::WeightInfo::expected_extra_storage_proof_size()
+		let messages_proof_size = Runtime::WeightInfo::expected_extra_storage_proof_size()
 			.saturating_mul(2)
 			.saturating_div(3)
 			.saturating_add(estimated_message_size)
@@ -185,7 +182,7 @@ mod integrity_tests {
 
 		// finally we are able to estimate transaction size and weight
 		let transaction_size = base_tx_size.saturating_add(messages_proof_size);
-		let transaction_weight = <Runtime as pallet_bridge_messages::Config<MessagesInstance>>::WeightInfo::receive_messages_proof_weight(
+		let transaction_weight = Runtime::WeightInfo::receive_messages_proof_weight(
 			&PreComputedSize(transaction_size as _),
 			messages as _,
 			estimated_message_dispatch_weight.saturating_mul(messages),
diff --git a/bridges/bin/runtime-common/src/refund_relayer_extension.rs b/bridges/bin/runtime-common/src/refund_relayer_extension.rs
index b912f8445ac..bfcb82ad166 100644
--- a/bridges/bin/runtime-common/src/refund_relayer_extension.rs
+++ b/bridges/bin/runtime-common/src/refund_relayer_extension.rs
@@ -48,12 +48,9 @@ use pallet_transaction_payment::{Config as TransactionPaymentConfig, OnChargeTra
 use pallet_utility::{Call as UtilityCall, Config as UtilityConfig, Pallet as UtilityPallet};
 use scale_info::TypeInfo;
 use sp_runtime::{
-	traits::{
-		AsSystemOriginSigner, DispatchInfoOf, Dispatchable, Get, PostDispatchInfoOf,
-		TransactionExtension, TransactionExtensionBase, ValidateResult, Zero,
-	},
+	traits::{DispatchInfoOf, Dispatchable, Get, PostDispatchInfoOf, SignedExtension, Zero},
 	transaction_validity::{
-		InvalidTransaction, TransactionPriority, TransactionValidityError, ValidTransactionBuilder,
+		TransactionPriority, TransactionValidity, TransactionValidityError, ValidTransactionBuilder,
 	},
 	DispatchResult, FixedPointOperand, RuntimeDebug,
 };
@@ -242,8 +239,8 @@ pub enum RelayerAccountAction<AccountId, Reward> {
 	Slash(AccountId, RewardsAccountParams),
 }
 
-/// Everything common among our refund transaction extensions.
-pub trait RefundTransactionExtension:
+/// Everything common among our refund signed extensions.
+pub trait RefundSignedExtension:
 	'static + Clone + Codec + sp_std::fmt::Debug + Default + Eq + PartialEq + Send + Sync + TypeInfo
 where
 	<Self::Runtime as GrandpaConfig<Self::GrandpaInstance>>::BridgedChain:
@@ -459,8 +456,8 @@ where
 	}
 }
 
-/// Adapter that allow implementing `sp_runtime::traits::TransactionExtension` for any
-/// `RefundTransactionExtension`.
+/// Adapter that allow implementing `sp_runtime::traits::SignedExtension` for any
+/// `RefundSignedExtension`.
 #[derive(
 	DefaultNoBound,
 	CloneNoBound,
@@ -471,13 +468,12 @@ where
 	RuntimeDebugNoBound,
 	TypeInfo,
 )]
-pub struct RefundTransactionExtensionAdapter<T: RefundTransactionExtension>(T)
+pub struct RefundSignedExtensionAdapter<T: RefundSignedExtension>(T)
 where
 	<T::Runtime as GrandpaConfig<T::GrandpaInstance>>::BridgedChain:
 		Chain<BlockNumber = RelayBlockNumber>;
 
-impl<T: RefundTransactionExtension> TransactionExtensionBase
-	for RefundTransactionExtensionAdapter<T>
+impl<T: RefundSignedExtension> SignedExtension for RefundSignedExtensionAdapter<T>
 where
 	<T::Runtime as GrandpaConfig<T::GrandpaInstance>>::BridgedChain:
 		Chain<BlockNumber = RelayBlockNumber>,
@@ -487,35 +483,22 @@ where
 		+ MessagesCallSubType<T::Runtime, <T::Msgs as RefundableMessagesLaneId>::Instance>,
 {
 	const IDENTIFIER: &'static str = T::Id::STR;
-	type Implicit = ();
-}
-
-impl<T: RefundTransactionExtension, Context> TransactionExtension<CallOf<T::Runtime>, Context>
-	for RefundTransactionExtensionAdapter<T>
-where
-	<T::Runtime as GrandpaConfig<T::GrandpaInstance>>::BridgedChain:
-		Chain<BlockNumber = RelayBlockNumber>,
-	CallOf<T::Runtime>: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>
-		+ IsSubType<CallableCallFor<UtilityPallet<T::Runtime>, T::Runtime>>
-		+ GrandpaCallSubType<T::Runtime, T::GrandpaInstance>
-		+ MessagesCallSubType<T::Runtime, <T::Msgs as RefundableMessagesLaneId>::Instance>,
-	<CallOf<T::Runtime> as Dispatchable>::RuntimeOrigin:
-		AsSystemOriginSigner<AccountIdOf<T::Runtime>> + Clone,
-{
+	type AccountId = AccountIdOf<T::Runtime>;
+	type Call = CallOf<T::Runtime>;
+	type AdditionalSigned = ();
 	type Pre = Option<PreDispatchData<AccountIdOf<T::Runtime>>>;
-	type Val = Option<CallInfo>;
+
+	fn additional_signed(&self) -> Result<(), TransactionValidityError> {
+		Ok(())
+	}
 
 	fn validate(
 		&self,
-		origin: <CallOf<T::Runtime> as Dispatchable>::RuntimeOrigin,
-		call: &CallOf<T::Runtime>,
-		_info: &DispatchInfoOf<CallOf<T::Runtime>>,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
 		_len: usize,
-		_context: &mut Context,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> ValidateResult<Self::Val, CallOf<T::Runtime>> {
-		let who = origin.as_system_origin_signer().ok_or(InvalidTransaction::BadSigner)?;
+	) -> TransactionValidity {
 		// this is the only relevant line of code for the `pre_dispatch`
 		//
 		// we're not calling `validate` from `pre_dispatch` directly because of performance
@@ -528,12 +511,12 @@ where
 		// we only boost priority of presumably correct message delivery transactions
 		let bundled_messages = match T::bundled_messages_for_priority_boost(parsed_call.as_ref()) {
 			Some(bundled_messages) => bundled_messages,
-			None => return Ok((Default::default(), parsed_call, origin)),
+			None => return Ok(Default::default()),
 		};
 
 		// we only boost priority if relayer has staked required balance
 		if !RelayersPallet::<T::Runtime>::is_registration_active(who) {
-			return Ok((Default::default(), parsed_call, origin))
+			return Ok(Default::default())
 		}
 
 		// compute priority boost
@@ -552,21 +535,20 @@ where
 			priority_boost,
 		);
 
-		let validity = valid_transaction.build()?;
-		Ok((validity, parsed_call, origin))
+		valid_transaction.build()
 	}
 
-	fn prepare(
+	fn pre_dispatch(
 		self,
-		val: Self::Val,
-		origin: &<CallOf<T::Runtime> as Dispatchable>::RuntimeOrigin,
-		_call: &CallOf<T::Runtime>,
-		_info: &DispatchInfoOf<CallOf<T::Runtime>>,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
 		_len: usize,
-		_context: &Context,
 	) -> Result<Self::Pre, TransactionValidityError> {
-		let who = origin.as_system_origin_signer().ok_or(InvalidTransaction::BadSigner)?;
-		Ok(val.map(|call_info| {
+		// this is a relevant piece of `validate` that we need here (in `pre_dispatch`)
+		let parsed_call = T::parse_and_check_for_obsolete_call(call)?;
+
+		Ok(parsed_call.map(|call_info| {
 			log::trace!(
 				target: "runtime::bridge",
 				"{} via {:?} parsed bridge transaction in pre-dispatch: {:?}",
@@ -579,14 +561,13 @@ where
 	}
 
 	fn post_dispatch(
-		pre: Self::Pre,
-		info: &DispatchInfoOf<CallOf<T::Runtime>>,
-		post_info: &PostDispatchInfoOf<CallOf<T::Runtime>>,
+		pre: Option<Self::Pre>,
+		info: &DispatchInfoOf<Self::Call>,
+		post_info: &PostDispatchInfoOf<Self::Call>,
 		len: usize,
 		result: &DispatchResult,
-		_context: &Context,
 	) -> Result<(), TransactionValidityError> {
-		let call_result = T::analyze_call_result(Some(pre), info, post_info, len, result);
+		let call_result = T::analyze_call_result(pre, info, post_info, len, result);
 
 		match call_result {
 			RelayerAccountAction::None => (),
@@ -614,7 +595,7 @@ where
 	}
 }
 
-/// Transaction extension that refunds a relayer for new messages coming from a parachain.
+/// Signed extension that refunds a relayer for new messages coming from a parachain.
 ///
 /// Also refunds relayer for successful finality delivery if it comes in batch (`utility.batchAll`)
 /// with message delivery transaction. Batch may deliver either both relay chain header and
@@ -655,7 +636,7 @@ pub struct RefundBridgedParachainMessages<Runtime, Para, Msgs, Refund, Priority,
 	)>,
 );
 
-impl<Runtime, Para, Msgs, Refund, Priority, Id> RefundTransactionExtension
+impl<Runtime, Para, Msgs, Refund, Priority, Id> RefundSignedExtension
 	for RefundBridgedParachainMessages<Runtime, Para, Msgs, Refund, Priority, Id>
 where
 	Self: 'static + Send + Sync,
@@ -749,13 +730,13 @@ where
 	}
 }
 
-/// Transaction extension that refunds a relayer for new messages coming from a standalone (GRANDPA)
+/// Signed extension that refunds a relayer for new messages coming from a standalone (GRANDPA)
 /// chain.
 ///
 /// Also refunds relayer for successful finality delivery if it comes in batch (`utility.batchAll`)
 /// with message delivery transaction. Batch may deliver either both relay chain header and
-/// parachain head, or just parachain head. Corresponding headers must be used in messages proof
-/// verification.
+/// parachain head, or just parachain head. Corresponding headers must be used in messages
+/// proof verification.
 ///
 /// Extension does not refund transaction tip due to security reasons.
 #[derive(
@@ -790,7 +771,7 @@ pub struct RefundBridgedGrandpaMessages<Runtime, GrandpaInstance, Msgs, Refund,
 	)>,
 );
 
-impl<Runtime, GrandpaInstance, Msgs, Refund, Priority, Id> RefundTransactionExtension
+impl<Runtime, GrandpaInstance, Msgs, Refund, Priority, Id> RefundSignedExtension
 	for RefundBridgedGrandpaMessages<Runtime, GrandpaInstance, Msgs, Refund, Priority, Id>
 where
 	Self: 'static + Send + Sync,
@@ -888,8 +869,8 @@ mod tests {
 		Call as ParachainsCall, Pallet as ParachainsPallet, RelayBlockHash,
 	};
 	use sp_runtime::{
-		traits::{ConstU64, DispatchTransaction, Header as HeaderT},
-		transaction_validity::{InvalidTransaction, TransactionValidity, ValidTransaction},
+		traits::{ConstU64, Header as HeaderT},
+		transaction_validity::{InvalidTransaction, ValidTransaction},
 		DispatchError,
 	};
 
@@ -918,7 +899,7 @@ mod tests {
 		ConstU64<1>,
 		StrTestExtension,
 	>;
-	type TestGrandpaExtension = RefundTransactionExtensionAdapter<TestGrandpaExtensionProvider>;
+	type TestGrandpaExtension = RefundSignedExtensionAdapter<TestGrandpaExtensionProvider>;
 	type TestExtensionProvider = RefundBridgedParachainMessages<
 		TestRuntime,
 		DefaultRefundableParachainId<(), TestParachain>,
@@ -927,7 +908,7 @@ mod tests {
 		ConstU64<1>,
 		StrTestExtension,
 	>;
-	type TestExtension = RefundTransactionExtensionAdapter<TestExtensionProvider>;
+	type TestExtension = RefundSignedExtensionAdapter<TestExtensionProvider>;
 
 	fn initial_balance_of_relayer_account_at_this_chain() -> ThisChainBalance {
 		let test_stake: ThisChainBalance = TestStake::get();
@@ -1426,28 +1407,14 @@ mod tests {
 
 	fn run_validate(call: RuntimeCall) -> TransactionValidity {
 		let extension: TestExtension =
-			RefundTransactionExtensionAdapter(RefundBridgedParachainMessages(PhantomData));
-		extension
-			.validate_only(
-				Some(relayer_account_at_this_chain()).into(),
-				&call,
-				&DispatchInfo::default(),
-				0,
-			)
-			.map(|res| res.0)
+			RefundSignedExtensionAdapter(RefundBridgedParachainMessages(PhantomData));
+		extension.validate(&relayer_account_at_this_chain(), &call, &DispatchInfo::default(), 0)
 	}
 
 	fn run_grandpa_validate(call: RuntimeCall) -> TransactionValidity {
 		let extension: TestGrandpaExtension =
-			RefundTransactionExtensionAdapter(RefundBridgedGrandpaMessages(PhantomData));
-		extension
-			.validate_only(
-				Some(relayer_account_at_this_chain()).into(),
-				&call,
-				&DispatchInfo::default(),
-				0,
-			)
-			.map(|res| res.0)
+			RefundSignedExtensionAdapter(RefundBridgedGrandpaMessages(PhantomData));
+		extension.validate(&relayer_account_at_this_chain(), &call, &DispatchInfo::default(), 0)
 	}
 
 	fn run_validate_ignore_priority(call: RuntimeCall) -> TransactionValidity {
@@ -1461,30 +1428,16 @@ mod tests {
 		call: RuntimeCall,
 	) -> Result<Option<PreDispatchData<ThisChainAccountId>>, TransactionValidityError> {
 		let extension: TestExtension =
-			RefundTransactionExtensionAdapter(RefundBridgedParachainMessages(PhantomData));
-		extension
-			.validate_and_prepare(
-				Some(relayer_account_at_this_chain()).into(),
-				&call,
-				&DispatchInfo::default(),
-				0,
-			)
-			.map(|(pre, _)| pre)
+			RefundSignedExtensionAdapter(RefundBridgedParachainMessages(PhantomData));
+		extension.pre_dispatch(&relayer_account_at_this_chain(), &call, &DispatchInfo::default(), 0)
 	}
 
 	fn run_grandpa_pre_dispatch(
 		call: RuntimeCall,
 	) -> Result<Option<PreDispatchData<ThisChainAccountId>>, TransactionValidityError> {
 		let extension: TestGrandpaExtension =
-			RefundTransactionExtensionAdapter(RefundBridgedGrandpaMessages(PhantomData));
-		extension
-			.validate_and_prepare(
-				Some(relayer_account_at_this_chain()).into(),
-				&call,
-				&DispatchInfo::default(),
-				0,
-			)
-			.map(|(pre, _)| pre)
+			RefundSignedExtensionAdapter(RefundBridgedGrandpaMessages(PhantomData));
+		extension.pre_dispatch(&relayer_account_at_this_chain(), &call, &DispatchInfo::default(), 0)
 	}
 
 	fn dispatch_info() -> DispatchInfo {
@@ -1507,12 +1460,11 @@ mod tests {
 		dispatch_result: DispatchResult,
 	) {
 		let post_dispatch_result = TestExtension::post_dispatch(
-			pre_dispatch_data,
+			Some(pre_dispatch_data),
 			&dispatch_info(),
 			&post_dispatch_info(),
 			1024,
 			&dispatch_result,
-			&(),
 		);
 		assert_eq!(post_dispatch_result, Ok(()));
 	}
diff --git a/bridges/primitives/chain-bridge-hub-cumulus/src/lib.rs b/bridges/primitives/chain-bridge-hub-cumulus/src/lib.rs
index f186f6427ae..c49aa4b8563 100644
--- a/bridges/primitives/chain-bridge-hub-cumulus/src/lib.rs
+++ b/bridges/primitives/chain-bridge-hub-cumulus/src/lib.rs
@@ -26,7 +26,7 @@ pub use bp_polkadot_core::{
 };
 
 use bp_messages::*;
-use bp_polkadot_core::SuffixedCommonTransactionExtension;
+use bp_polkadot_core::SuffixedCommonSignedExtension;
 use bp_runtime::extensions::{
 	BridgeRejectObsoleteHeadersAndMessages, RefundBridgedParachainMessagesSchema,
 };
@@ -164,7 +164,7 @@ pub const MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX: MessageNonce = 1024;
 pub const MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX: MessageNonce = 4096;
 
 /// Signed extension that is used by all bridge hubs.
-pub type TransactionExtension = SuffixedCommonTransactionExtension<(
+pub type SignedExtension = SuffixedCommonSignedExtension<(
 	BridgeRejectObsoleteHeadersAndMessages,
 	RefundBridgedParachainMessagesSchema,
 )>;
diff --git a/bridges/primitives/chain-bridge-hub-rococo/src/lib.rs b/bridges/primitives/chain-bridge-hub-rococo/src/lib.rs
index 992ef1bd7a1..c4e697fbe95 100644
--- a/bridges/primitives/chain-bridge-hub-rococo/src/lib.rs
+++ b/bridges/primitives/chain-bridge-hub-rococo/src/lib.rs
@@ -107,5 +107,5 @@ frame_support::parameter_types! {
 
 	/// Transaction fee that is paid at the Rococo BridgeHub for delivering single outbound message confirmation.
 	/// (initially was calculated by test `BridgeHubRococo::can_calculate_fee_for_complex_message_confirmation_transaction` + `33%`)
-	pub const BridgeHubRococoBaseConfirmationFeeInRocs: u128 = 5_380_904_835;
+	pub const BridgeHubRococoBaseConfirmationFeeInRocs: u128 = 5_380_829_647;
 }
diff --git a/bridges/primitives/chain-kusama/src/lib.rs b/bridges/primitives/chain-kusama/src/lib.rs
index 253a1010e83..e3b4d0520f6 100644
--- a/bridges/primitives/chain-kusama/src/lib.rs
+++ b/bridges/primitives/chain-kusama/src/lib.rs
@@ -59,8 +59,8 @@ impl ChainWithGrandpa for Kusama {
 	const AVERAGE_HEADER_SIZE: u32 = AVERAGE_HEADER_SIZE;
 }
 
-// The TransactionExtension used by Kusama.
-pub use bp_polkadot_core::CommonTransactionExtension as TransactionExtension;
+// The SignedExtension used by Kusama.
+pub use bp_polkadot_core::CommonSignedExtension as SignedExtension;
 
 /// Name of the parachains pallet in the Kusama runtime.
 pub const PARAS_PALLET_NAME: &str = "Paras";
diff --git a/bridges/primitives/chain-polkadot-bulletin/src/lib.rs b/bridges/primitives/chain-polkadot-bulletin/src/lib.rs
index 73dd122bd15..f2eebf93124 100644
--- a/bridges/primitives/chain-polkadot-bulletin/src/lib.rs
+++ b/bridges/primitives/chain-polkadot-bulletin/src/lib.rs
@@ -25,7 +25,7 @@ use bp_runtime::{
 	decl_bridge_finality_runtime_apis, decl_bridge_messages_runtime_apis,
 	extensions::{
 		CheckEra, CheckGenesis, CheckNonZeroSender, CheckNonce, CheckSpecVersion, CheckTxVersion,
-		CheckWeight, GenericTransactionExtension, GenericTransactionExtensionSchema,
+		CheckWeight, GenericSignedExtension, GenericSignedExtensionSchema,
 	},
 	Chain, ChainId, TransactionEra,
 };
@@ -37,12 +37,7 @@ use frame_support::{
 };
 use frame_system::limits;
 use scale_info::TypeInfo;
-use sp_runtime::{
-	impl_tx_ext_default,
-	traits::{Dispatchable, TransactionExtensionBase},
-	transaction_validity::TransactionValidityError,
-	Perbill,
-};
+use sp_runtime::{traits::DispatchInfoOf, transaction_validity::TransactionValidityError, Perbill};
 
 // This chain reuses most of Polkadot primitives.
 pub use bp_polkadot_core::{
@@ -76,10 +71,10 @@ pub const MAX_UNREWARDED_RELAYERS_IN_CONFIRMATION_TX: MessageNonce = 1024;
 pub const MAX_UNCONFIRMED_MESSAGES_IN_CONFIRMATION_TX: MessageNonce = 4096;
 
 /// This signed extension is used to ensure that the chain transactions are signed by proper
-pub type ValidateSigned = GenericTransactionExtensionSchema<(), ()>;
+pub type ValidateSigned = GenericSignedExtensionSchema<(), ()>;
 
 /// Signed extension schema, used by Polkadot Bulletin.
-pub type TransactionExtensionSchema = GenericTransactionExtension<(
+pub type SignedExtensionSchema = GenericSignedExtension<(
 	(
 		CheckNonZeroSender,
 		CheckSpecVersion,
@@ -92,30 +87,34 @@ pub type TransactionExtensionSchema = GenericTransactionExtension<(
 	ValidateSigned,
 )>;
 
-/// Transaction extension, used by Polkadot Bulletin.
+/// Signed extension, used by Polkadot Bulletin.
 #[derive(Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)]
-pub struct TransactionExtension(TransactionExtensionSchema);
+pub struct SignedExtension(SignedExtensionSchema);
 
-impl TransactionExtensionBase for TransactionExtension {
+impl sp_runtime::traits::SignedExtension for SignedExtension {
 	const IDENTIFIER: &'static str = "Not needed.";
-	type Implicit = <TransactionExtensionSchema as TransactionExtensionBase>::Implicit;
+	type AccountId = ();
+	type Call = ();
+	type AdditionalSigned =
+		<SignedExtensionSchema as sp_runtime::traits::SignedExtension>::AdditionalSigned;
+	type Pre = ();
 
-	fn implicit(&self) -> Result<Self::Implicit, TransactionValidityError> {
-		<TransactionExtensionSchema as TransactionExtensionBase>::implicit(&self.0)
+	fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
+		self.0.additional_signed()
 	}
-}
 
-impl<C, Context> sp_runtime::traits::TransactionExtension<C, Context> for TransactionExtension
-where
-	C: Dispatchable,
-{
-	type Pre = ();
-	type Val = ();
-
-	impl_tx_ext_default!(C; Context; validate prepare);
+	fn pre_dispatch(
+		self,
+		_who: &Self::AccountId,
+		_call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
+		_len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		Ok(())
+	}
 }
 
-impl TransactionExtension {
+impl SignedExtension {
 	/// Create signed extension from its components.
 	pub fn from_params(
 		spec_version: u32,
@@ -124,7 +123,7 @@ impl TransactionExtension {
 		genesis_hash: Hash,
 		nonce: Nonce,
 	) -> Self {
-		Self(GenericTransactionExtension::new(
+		Self(GenericSignedExtension::new(
 			(
 				(
 					(),              // non-zero sender
diff --git a/bridges/primitives/chain-polkadot/src/lib.rs b/bridges/primitives/chain-polkadot/src/lib.rs
index e5e2e7c3a04..fc5e10308a8 100644
--- a/bridges/primitives/chain-polkadot/src/lib.rs
+++ b/bridges/primitives/chain-polkadot/src/lib.rs
@@ -61,8 +61,8 @@ impl ChainWithGrandpa for Polkadot {
 	const AVERAGE_HEADER_SIZE: u32 = AVERAGE_HEADER_SIZE;
 }
 
-/// The TransactionExtension used by Polkadot.
-pub type TransactionExtension = SuffixedCommonTransactionExtension<PrevalidateAttests>;
+/// The SignedExtension used by Polkadot.
+pub type SignedExtension = SuffixedCommonSignedExtension<PrevalidateAttests>;
 
 /// Name of the parachains pallet in the Polkadot runtime.
 pub const PARAS_PALLET_NAME: &str = "Paras";
diff --git a/bridges/primitives/chain-rococo/src/lib.rs b/bridges/primitives/chain-rococo/src/lib.rs
index 267c6b2b1f0..f1b256f0f09 100644
--- a/bridges/primitives/chain-rococo/src/lib.rs
+++ b/bridges/primitives/chain-rococo/src/lib.rs
@@ -59,8 +59,8 @@ impl ChainWithGrandpa for Rococo {
 	const AVERAGE_HEADER_SIZE: u32 = AVERAGE_HEADER_SIZE;
 }
 
-// The TransactionExtension used by Rococo.
-pub use bp_polkadot_core::CommonTransactionExtension as TransactionExtension;
+// The SignedExtension used by Rococo.
+pub use bp_polkadot_core::CommonSignedExtension as SignedExtension;
 
 /// Name of the parachains pallet in the Rococo runtime.
 pub const PARAS_PALLET_NAME: &str = "Paras";
diff --git a/bridges/primitives/chain-westend/src/lib.rs b/bridges/primitives/chain-westend/src/lib.rs
index afa02e8ee54..f03fd2160a7 100644
--- a/bridges/primitives/chain-westend/src/lib.rs
+++ b/bridges/primitives/chain-westend/src/lib.rs
@@ -59,8 +59,8 @@ impl ChainWithGrandpa for Westend {
 	const AVERAGE_HEADER_SIZE: u32 = AVERAGE_HEADER_SIZE;
 }
 
-// The TransactionExtension used by Westend.
-pub use bp_polkadot_core::CommonTransactionExtension as TransactionExtension;
+// The SignedExtension used by Westend.
+pub use bp_polkadot_core::CommonSignedExtension as SignedExtension;
 
 /// Name of the parachains pallet in the Rococo runtime.
 pub const PARAS_PALLET_NAME: &str = "Paras";
diff --git a/bridges/primitives/polkadot-core/src/lib.rs b/bridges/primitives/polkadot-core/src/lib.rs
index d59b99db4b5..df2836495bb 100644
--- a/bridges/primitives/polkadot-core/src/lib.rs
+++ b/bridges/primitives/polkadot-core/src/lib.rs
@@ -24,8 +24,8 @@ use bp_runtime::{
 	self,
 	extensions::{
 		ChargeTransactionPayment, CheckEra, CheckGenesis, CheckNonZeroSender, CheckNonce,
-		CheckSpecVersion, CheckTxVersion, CheckWeight, GenericTransactionExtension,
-		TransactionExtensionSchema,
+		CheckSpecVersion, CheckTxVersion, CheckWeight, GenericSignedExtension,
+		SignedExtensionSchema,
 	},
 	EncodedOrDecodedCall, StorageMapKeyProvider, TransactionEra,
 };
@@ -229,12 +229,8 @@ pub type SignedBlock = generic::SignedBlock<Block>;
 pub type Balance = u128;
 
 /// Unchecked Extrinsic type.
-pub type UncheckedExtrinsic<Call, TransactionExt> = generic::UncheckedExtrinsic<
-	AccountAddress,
-	EncodedOrDecodedCall<Call>,
-	Signature,
-	TransactionExt,
->;
+pub type UncheckedExtrinsic<Call, SignedExt> =
+	generic::UncheckedExtrinsic<AccountAddress, EncodedOrDecodedCall<Call>, Signature, SignedExt>;
 
 /// Account address, used by the Polkadot-like chain.
 pub type Address = MultiAddress<AccountId, ()>;
@@ -279,7 +275,7 @@ impl AccountInfoStorageMapKeyProvider {
 }
 
 /// Extra signed extension data that is used by most chains.
-pub type CommonTransactionExtra = (
+pub type CommonSignedExtra = (
 	CheckNonZeroSender,
 	CheckSpecVersion,
 	CheckTxVersion,
@@ -290,12 +286,12 @@ pub type CommonTransactionExtra = (
 	ChargeTransactionPayment<Balance>,
 );
 
-/// Extra transaction extension data that starts with `CommonTransactionExtra`.
-pub type SuffixedCommonTransactionExtension<Suffix> =
-	GenericTransactionExtension<(CommonTransactionExtra, Suffix)>;
+/// Extra signed extension data that starts with `CommonSignedExtra`.
+pub type SuffixedCommonSignedExtension<Suffix> =
+	GenericSignedExtension<(CommonSignedExtra, Suffix)>;
 
-/// Helper trait to define some extra methods on `SuffixedCommonTransactionExtension`.
-pub trait SuffixedCommonTransactionExtensionExt<Suffix: TransactionExtensionSchema> {
+/// Helper trait to define some extra methods on `SuffixedCommonSignedExtension`.
+pub trait SuffixedCommonSignedExtensionExt<Suffix: SignedExtensionSchema> {
 	/// Create signed extension from its components.
 	fn from_params(
 		spec_version: u32,
@@ -304,7 +300,7 @@ pub trait SuffixedCommonTransactionExtensionExt<Suffix: TransactionExtensionSche
 		genesis_hash: Hash,
 		nonce: Nonce,
 		tip: Balance,
-		extra: (Suffix::Payload, Suffix::Implicit),
+		extra: (Suffix::Payload, Suffix::AdditionalSigned),
 	) -> Self;
 
 	/// Return transaction nonce.
@@ -314,10 +310,9 @@ pub trait SuffixedCommonTransactionExtensionExt<Suffix: TransactionExtensionSche
 	fn tip(&self) -> Balance;
 }
 
-impl<Suffix> SuffixedCommonTransactionExtensionExt<Suffix>
-	for SuffixedCommonTransactionExtension<Suffix>
+impl<Suffix> SuffixedCommonSignedExtensionExt<Suffix> for SuffixedCommonSignedExtension<Suffix>
 where
-	Suffix: TransactionExtensionSchema,
+	Suffix: SignedExtensionSchema,
 {
 	fn from_params(
 		spec_version: u32,
@@ -326,9 +321,9 @@ where
 		genesis_hash: Hash,
 		nonce: Nonce,
 		tip: Balance,
-		extra: (Suffix::Payload, Suffix::Implicit),
+		extra: (Suffix::Payload, Suffix::AdditionalSigned),
 	) -> Self {
-		GenericTransactionExtension::new(
+		GenericSignedExtension::new(
 			(
 				(
 					(),              // non-zero sender
@@ -370,7 +365,7 @@ where
 }
 
 /// Signed extension that is used by most chains.
-pub type CommonTransactionExtension = SuffixedCommonTransactionExtension<()>;
+pub type CommonSignedExtension = SuffixedCommonSignedExtension<()>;
 
 #[cfg(test)]
 mod tests {
diff --git a/bridges/primitives/runtime/src/extensions.rs b/bridges/primitives/runtime/src/extensions.rs
index a31e7b5bb47..d896bc92eff 100644
--- a/bridges/primitives/runtime/src/extensions.rs
+++ b/bridges/primitives/runtime/src/extensions.rs
@@ -20,138 +20,135 @@ use codec::{Compact, Decode, Encode};
 use impl_trait_for_tuples::impl_for_tuples;
 use scale_info::{StaticTypeInfo, TypeInfo};
 use sp_runtime::{
-	impl_tx_ext_default,
-	traits::{Dispatchable, TransactionExtension, TransactionExtensionBase},
+	traits::{DispatchInfoOf, SignedExtension},
 	transaction_validity::TransactionValidityError,
 };
 use sp_std::{fmt::Debug, marker::PhantomData};
 
-/// Trait that describes some properties of a `TransactionExtension` that are needed in order to
-/// send a transaction to the chain.
-pub trait TransactionExtensionSchema:
-	Encode + Decode + Debug + Eq + Clone + StaticTypeInfo
-{
+/// Trait that describes some properties of a `SignedExtension` that are needed in order to send a
+/// transaction to the chain.
+pub trait SignedExtensionSchema: Encode + Decode + Debug + Eq + Clone + StaticTypeInfo {
 	/// A type of the data encoded as part of the transaction.
 	type Payload: Encode + Decode + Debug + Eq + Clone + StaticTypeInfo;
 	/// Parameters which are part of the payload used to produce transaction signature,
 	/// but don't end up in the transaction itself (i.e. inherent part of the runtime).
-	type Implicit: Encode + Decode + Debug + Eq + Clone + StaticTypeInfo;
+	type AdditionalSigned: Encode + Debug + Eq + Clone + StaticTypeInfo;
 }
 
-impl TransactionExtensionSchema for () {
+impl SignedExtensionSchema for () {
 	type Payload = ();
-	type Implicit = ();
+	type AdditionalSigned = ();
 }
 
-/// An implementation of `TransactionExtensionSchema` using generic params.
+/// An implementation of `SignedExtensionSchema` using generic params.
 #[derive(Encode, Decode, Clone, Debug, PartialEq, Eq, TypeInfo)]
-pub struct GenericTransactionExtensionSchema<P, S>(PhantomData<(P, S)>);
+pub struct GenericSignedExtensionSchema<P, S>(PhantomData<(P, S)>);
 
-impl<P, S> TransactionExtensionSchema for GenericTransactionExtensionSchema<P, S>
+impl<P, S> SignedExtensionSchema for GenericSignedExtensionSchema<P, S>
 where
 	P: Encode + Decode + Debug + Eq + Clone + StaticTypeInfo,
-	S: Encode + Decode + Debug + Eq + Clone + StaticTypeInfo,
+	S: Encode + Debug + Eq + Clone + StaticTypeInfo,
 {
 	type Payload = P;
-	type Implicit = S;
+	type AdditionalSigned = S;
 }
 
-/// The `TransactionExtensionSchema` for `frame_system::CheckNonZeroSender`.
-pub type CheckNonZeroSender = GenericTransactionExtensionSchema<(), ()>;
+/// The `SignedExtensionSchema` for `frame_system::CheckNonZeroSender`.
+pub type CheckNonZeroSender = GenericSignedExtensionSchema<(), ()>;
 
-/// The `TransactionExtensionSchema` for `frame_system::CheckSpecVersion`.
-pub type CheckSpecVersion = GenericTransactionExtensionSchema<(), u32>;
+/// The `SignedExtensionSchema` for `frame_system::CheckSpecVersion`.
+pub type CheckSpecVersion = GenericSignedExtensionSchema<(), u32>;
 
-/// The `TransactionExtensionSchema` for `frame_system::CheckTxVersion`.
-pub type CheckTxVersion = GenericTransactionExtensionSchema<(), u32>;
+/// The `SignedExtensionSchema` for `frame_system::CheckTxVersion`.
+pub type CheckTxVersion = GenericSignedExtensionSchema<(), u32>;
 
-/// The `TransactionExtensionSchema` for `frame_system::CheckGenesis`.
-pub type CheckGenesis<Hash> = GenericTransactionExtensionSchema<(), Hash>;
+/// The `SignedExtensionSchema` for `frame_system::CheckGenesis`.
+pub type CheckGenesis<Hash> = GenericSignedExtensionSchema<(), Hash>;
 
-/// The `TransactionExtensionSchema` for `frame_system::CheckEra`.
-pub type CheckEra<Hash> = GenericTransactionExtensionSchema<sp_runtime::generic::Era, Hash>;
+/// The `SignedExtensionSchema` for `frame_system::CheckEra`.
+pub type CheckEra<Hash> = GenericSignedExtensionSchema<sp_runtime::generic::Era, Hash>;
 
-/// The `TransactionExtensionSchema` for `frame_system::CheckNonce`.
-pub type CheckNonce<TxNonce> = GenericTransactionExtensionSchema<Compact<TxNonce>, ()>;
+/// The `SignedExtensionSchema` for `frame_system::CheckNonce`.
+pub type CheckNonce<TxNonce> = GenericSignedExtensionSchema<Compact<TxNonce>, ()>;
 
-/// The `TransactionExtensionSchema` for `frame_system::CheckWeight`.
-pub type CheckWeight = GenericTransactionExtensionSchema<(), ()>;
+/// The `SignedExtensionSchema` for `frame_system::CheckWeight`.
+pub type CheckWeight = GenericSignedExtensionSchema<(), ()>;
 
-/// The `TransactionExtensionSchema` for `pallet_transaction_payment::ChargeTransactionPayment`.
-pub type ChargeTransactionPayment<Balance> =
-	GenericTransactionExtensionSchema<Compact<Balance>, ()>;
+/// The `SignedExtensionSchema` for `pallet_transaction_payment::ChargeTransactionPayment`.
+pub type ChargeTransactionPayment<Balance> = GenericSignedExtensionSchema<Compact<Balance>, ()>;
 
-/// The `TransactionExtensionSchema` for `polkadot-runtime-common::PrevalidateAttests`.
-pub type PrevalidateAttests = GenericTransactionExtensionSchema<(), ()>;
+/// The `SignedExtensionSchema` for `polkadot-runtime-common::PrevalidateAttests`.
+pub type PrevalidateAttests = GenericSignedExtensionSchema<(), ()>;
 
-/// The `TransactionExtensionSchema` for `BridgeRejectObsoleteHeadersAndMessages`.
-pub type BridgeRejectObsoleteHeadersAndMessages = GenericTransactionExtensionSchema<(), ()>;
+/// The `SignedExtensionSchema` for `BridgeRejectObsoleteHeadersAndMessages`.
+pub type BridgeRejectObsoleteHeadersAndMessages = GenericSignedExtensionSchema<(), ()>;
 
-/// The `TransactionExtensionSchema` for `RefundBridgedParachainMessages`.
+/// The `SignedExtensionSchema` for `RefundBridgedParachainMessages`.
 /// This schema is dedicated for `RefundBridgedParachainMessages` signed extension as
 /// wildcard/placeholder, which relies on the scale encoding for `()` or `((), ())`, or `((), (),
 /// ())` is the same. So runtime can contains any kind of tuple:
 /// `(BridgeRefundBridgeHubRococoMessages)`
 /// `(BridgeRefundBridgeHubRococoMessages, BridgeRefundBridgeHubWestendMessages)`
 /// `(BridgeRefundParachainMessages1, ..., BridgeRefundParachainMessagesN)`
-pub type RefundBridgedParachainMessagesSchema = GenericTransactionExtensionSchema<(), ()>;
+pub type RefundBridgedParachainMessagesSchema = GenericSignedExtensionSchema<(), ()>;
 
 #[impl_for_tuples(1, 12)]
-impl TransactionExtensionSchema for Tuple {
+impl SignedExtensionSchema for Tuple {
 	for_tuples!( type Payload = ( #( Tuple::Payload ),* ); );
-	for_tuples!( type Implicit = ( #( Tuple::Implicit ),* ); );
+	for_tuples!( type AdditionalSigned = ( #( Tuple::AdditionalSigned ),* ); );
 }
 
 /// A simplified version of signed extensions meant for producing signed transactions
 /// and signed payloads in the client code.
 #[derive(Encode, Decode, Debug, PartialEq, Eq, Clone, TypeInfo)]
-pub struct GenericTransactionExtension<S: TransactionExtensionSchema> {
+pub struct GenericSignedExtension<S: SignedExtensionSchema> {
 	/// A payload that is included in the transaction.
 	pub payload: S::Payload,
 	#[codec(skip)]
 	// It may be set to `None` if extensions are decoded. We are never reconstructing transactions
-	// (and it makes no sense to do that) => decoded version of `TransactionExtensions` is only
-	// used to read fields of the `payload`. And when resigning transaction, we're reconstructing
-	// `TransactionExtensions` from scratch.
-	implicit: Option<S::Implicit>,
+	// (and it makes no sense to do that) => decoded version of `SignedExtensions` is only used to
+	// read fields of the `payload`. And when resigning transaction, we're reconstructing
+	// `SignedExtensions` from scratch.
+	additional_signed: Option<S::AdditionalSigned>,
 }
 
-impl<S: TransactionExtensionSchema> GenericTransactionExtension<S> {
-	/// Create new `GenericTransactionExtension` object.
-	pub fn new(payload: S::Payload, implicit: Option<S::Implicit>) -> Self {
-		Self { payload, implicit }
+impl<S: SignedExtensionSchema> GenericSignedExtension<S> {
+	/// Create new `GenericSignedExtension` object.
+	pub fn new(payload: S::Payload, additional_signed: Option<S::AdditionalSigned>) -> Self {
+		Self { payload, additional_signed }
 	}
 }
 
-impl<S> TransactionExtensionBase for GenericTransactionExtension<S>
+impl<S> SignedExtension for GenericSignedExtension<S>
 where
-	S: TransactionExtensionSchema,
+	S: SignedExtensionSchema,
 	S::Payload: Send + Sync,
-	S::Implicit: Send + Sync,
+	S::AdditionalSigned: Send + Sync,
 {
 	const IDENTIFIER: &'static str = "Not needed.";
-	type Implicit = S::Implicit;
+	type AccountId = ();
+	type Call = ();
+	type AdditionalSigned = S::AdditionalSigned;
+	type Pre = ();
 
-	fn implicit(&self) -> Result<Self::Implicit, TransactionValidityError> {
+	fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
 		// we shall not ever see this error in relay, because we are never signing decoded
 		// transactions. Instead we're constructing and signing new transactions. So the error code
 		// is kinda random here
-		self.implicit
-			.clone()
-			.ok_or(frame_support::unsigned::TransactionValidityError::Unknown(
+		self.additional_signed.clone().ok_or(
+			frame_support::unsigned::TransactionValidityError::Unknown(
 				frame_support::unsigned::UnknownTransaction::Custom(0xFF),
-			))
+			),
+		)
 	}
-}
-impl<S, C, Context> TransactionExtension<C, Context> for GenericTransactionExtension<S>
-where
-	C: Dispatchable,
-	S: TransactionExtensionSchema,
-	S::Payload: Send + Sync,
-	S::Implicit: Send + Sync,
-{
-	type Pre = ();
-	type Val = ();
 
-	impl_tx_ext_default!(C; Context; validate prepare);
+	fn pre_dispatch(
+		self,
+		_who: &Self::AccountId,
+		_call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
+		_len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		Ok(())
+	}
 }
diff --git a/bridges/snowbridge/runtime/test-common/Cargo.toml b/bridges/snowbridge/runtime/test-common/Cargo.toml
index 5f169e82f49..4e8b311cb97 100644
--- a/bridges/snowbridge/runtime/test-common/Cargo.toml
+++ b/bridges/snowbridge/runtime/test-common/Cargo.toml
@@ -181,7 +181,6 @@ runtime-benchmarks = [
 	"pallet-message-queue/runtime-benchmarks",
 	"pallet-multisig/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"pallet-xcm-benchmarks/runtime-benchmarks",
 	"pallet-xcm/runtime-benchmarks",
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/Cargo.toml b/cumulus/parachains/runtimes/assets/asset-hub-rococo/Cargo.toml
index 3eb63a24b74..05936e93993 100644
--- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/Cargo.toml
+++ b/cumulus/parachains/runtimes/assets/asset-hub-rococo/Cargo.toml
@@ -119,7 +119,6 @@ runtime-benchmarks = [
 	"frame-support/runtime-benchmarks",
 	"frame-system-benchmarking/runtime-benchmarks",
 	"frame-system/runtime-benchmarks",
-	"pallet-asset-conversion-tx-payment/runtime-benchmarks",
 	"pallet-asset-conversion/runtime-benchmarks",
 	"pallet-assets/runtime-benchmarks",
 	"pallet-balances/runtime-benchmarks",
@@ -131,7 +130,6 @@ runtime-benchmarks = [
 	"pallet-proxy/runtime-benchmarks",
 	"pallet-state-trie-migration/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-uniques/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"pallet-xcm-benchmarks/runtime-benchmarks",
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs
index 32966ab6341..17a12dd2f6f 100644
--- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs
+++ b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/lib.rs
@@ -178,7 +178,6 @@ impl frame_system::Config for Runtime {
 	type Version = Version;
 	type AccountData = pallet_balances::AccountData<Balance>;
 	type SystemWeightInfo = weights::frame_system::WeightInfo<Runtime>;
-	type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo<Runtime>;
 	type SS58Prefix = SS58Prefix;
 	type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode<Self>;
 	type MaxConsumers = frame_support::traits::ConstU32<16>;
@@ -235,7 +234,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
 	type OperationalFeeMultiplier = ConstU8<5>;
-	type WeightInfo = weights::pallet_transaction_payment::WeightInfo<Runtime>;
 }
 
 parameter_types! {
@@ -763,9 +761,6 @@ impl pallet_asset_conversion_tx_payment::Config for Runtime {
 	type Fungibles = LocalAndForeignAssets;
 	type OnChargeAssetTransaction =
 		AssetConversionAdapter<Balances, AssetConversion, TokenLocationV3>;
-	type WeightInfo = weights::pallet_asset_conversion_tx_payment::WeightInfo<Runtime>;
-	#[cfg(feature = "runtime-benchmarks")]
-	type BenchmarkHelper = AssetConversionTxHelper;
 }
 
 parameter_types! {
@@ -953,8 +948,8 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -966,7 +961,7 @@ pub type TxExtension = (
 );
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 /// Migrations to apply on runtime upgrade.
 pub type Migrations = (
 	pallet_collator_selection::migration::v1::MigrateToV1<Runtime>,
@@ -1039,77 +1034,14 @@ pub type Executive = frame_executive::Executive<
 	Migrations,
 >;
 
-#[cfg(feature = "runtime-benchmarks")]
-pub struct AssetConversionTxHelper;
-
-#[cfg(feature = "runtime-benchmarks")]
-impl
-	pallet_asset_conversion_tx_payment::BenchmarkHelperTrait<
-		AccountId,
-		xcm::v3::MultiLocation,
-		xcm::v3::MultiLocation,
-	> for AssetConversionTxHelper
-{
-	fn create_asset_id_parameter(seed: u32) -> (xcm::v3::MultiLocation, xcm::v3::MultiLocation) {
-		// Use a different parachain' foreign assets pallet so that the asset is indeed foreign.
-		let asset_id = xcm::v3::MultiLocation::new(
-			1,
-			xcm::v3::Junctions::X3(
-				xcm::v3::Junction::Parachain(3000),
-				xcm::v3::Junction::PalletInstance(53),
-				xcm::v3::Junction::GeneralIndex(seed.into()),
-			),
-		);
-		(asset_id, asset_id)
-	}
-
-	fn setup_balances_and_pool(asset_id: xcm::v3::MultiLocation, account: AccountId) {
-		use frame_support::{assert_ok, traits::fungibles::Mutate};
-		assert_ok!(ForeignAssets::force_create(
-			RuntimeOrigin::root(),
-			asset_id.into(),
-			account.clone().into(), /* owner */
-			true,                   /* is_sufficient */
-			1,
-		));
-
-		let lp_provider = account.clone();
-		use frame_support::traits::Currency;
-		let _ = Balances::deposit_creating(&lp_provider, u64::MAX.into());
-		assert_ok!(ForeignAssets::mint_into(asset_id.into(), &lp_provider, u64::MAX.into()));
-
-		let token_native = Box::new(TokenLocationV3::get());
-		let token_second = Box::new(asset_id);
-
-		assert_ok!(AssetConversion::create_pool(
-			RuntimeOrigin::signed(lp_provider.clone()),
-			token_native.clone(),
-			token_second.clone()
-		));
-
-		assert_ok!(AssetConversion::add_liquidity(
-			RuntimeOrigin::signed(lp_provider.clone()),
-			token_native,
-			token_second,
-			(u32::MAX / 8).into(), // 1 desired
-			u32::MAX.into(),       // 2 desired
-			1,                     // 1 min
-			1,                     // 2 min
-			lp_provider,
-		));
-	}
-}
-
 #[cfg(feature = "runtime-benchmarks")]
 mod benches {
 	frame_benchmarking::define_benchmarks!(
 		[frame_system, SystemBench::<Runtime>]
-		[frame_system_extensions, SystemExtensionsBench::<Runtime>]
 		[pallet_assets, Local]
 		[pallet_assets, Foreign]
 		[pallet_assets, Pool]
 		[pallet_asset_conversion, AssetConversion]
-		[pallet_asset_conversion_tx_payment, AssetTxPayment]
 		[pallet_balances, Balances]
 		[pallet_message_queue, MessageQueue]
 		[pallet_multisig, Multisig]
@@ -1120,7 +1052,6 @@ mod benches {
 		[pallet_uniques, Uniques]
 		[pallet_utility, Utility]
 		[pallet_timestamp, Timestamp]
-		[pallet_transaction_payment, TransactionPayment]
 		[pallet_collator_selection, CollatorSelection]
 		[cumulus_pallet_parachain_system, ParachainSystem]
 		[cumulus_pallet_xcmp_queue, XcmpQueue]
@@ -1371,7 +1302,6 @@ impl_runtime_apis! {
 			use frame_benchmarking::{Benchmarking, BenchmarkList};
 			use frame_support::traits::StorageInfoTrait;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use cumulus_pallet_session_benchmarking::Pallet as SessionBench;
 			use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark;
 			use pallet_xcm_bridge_hub_router::benchmarking::Pallet as XcmBridgeHubRouterBench;
@@ -1406,7 +1336,6 @@ impl_runtime_apis! {
 			use sp_storage::TrackedStorageKey;
 
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			impl frame_system_benchmarking::Config for Runtime {
 				fn setup_set_code_requirements(code: &sp_std::vec::Vec<u8>) -> Result<(), BenchmarkError> {
 					ParachainSystem::initialize_for_set_code_benchmark(code.len() as u32);
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/frame_system_extensions.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/frame_system_extensions.rs
deleted file mode 100644
index ed2c5f3056e..00000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/frame_system_extensions.rs
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `frame_system_extensions`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=frame_system_extensions
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/
-// --chain=asset-hub-rococo-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `frame_system_extensions`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_637_000 picoseconds.
-		Weight::from_parts(6_382_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 5_841_000 picoseconds.
-		Weight::from_parts(8_776_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 561_000 picoseconds.
-		Weight::from_parts(2_705_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 3_316_000 picoseconds.
-		Weight::from_parts(5_771_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 511_000 picoseconds.
-		Weight::from_parts(2_575_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 501_000 picoseconds.
-		Weight::from_parts(2_595_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::BlockWeight` (r:1 w:1)
-	/// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1533`
-		// Minimum execution time: 3_687_000 picoseconds.
-		Weight::from_parts(6_192_000, 0)
-			.saturating_add(Weight::from_parts(0, 1533))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
-	}
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/mod.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/mod.rs
index 134b5341a40..fa9e86102c6 100644
--- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/mod.rs
+++ b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/mod.rs
@@ -19,9 +19,7 @@ pub mod cumulus_pallet_parachain_system;
 pub mod cumulus_pallet_xcmp_queue;
 pub mod extrinsic_weights;
 pub mod frame_system;
-pub mod frame_system_extensions;
 pub mod pallet_asset_conversion;
-pub mod pallet_asset_conversion_tx_payment;
 pub mod pallet_assets_foreign;
 pub mod pallet_assets_local;
 pub mod pallet_assets_pool;
@@ -34,7 +32,6 @@ pub mod pallet_nfts;
 pub mod pallet_proxy;
 pub mod pallet_session;
 pub mod pallet_timestamp;
-pub mod pallet_transaction_payment;
 pub mod pallet_uniques;
 pub mod pallet_utility;
 pub mod pallet_xcm;
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_asset_conversion_tx_payment.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_asset_conversion_tx_payment.rs
deleted file mode 100644
index 0a639b368af..00000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_asset_conversion_tx_payment.rs
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_asset_conversion_tx_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2024-01-04, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `Georges-MacBook-Pro.local`, CPU: `<UNKNOWN>`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/debug/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=pallet_asset_conversion_tx_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/
-// --chain=asset-hub-rococo-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_asset_conversion_tx_payment`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_asset_conversion_tx_payment::WeightInfo for WeightInfo<T> {
-	fn charge_asset_tx_payment_zero() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 7_000_000 picoseconds.
-		Weight::from_parts(10_000_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn charge_asset_tx_payment_native() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `4`
-		//  Estimated: `3593`
-		// Minimum execution time: 209_000_000 picoseconds.
-		Weight::from_parts(212_000_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(2))
-	}
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `ForeignAssets::Asset` (r:1 w:1)
-	/// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
-	/// Storage: `ForeignAssets::Account` (r:2 w:2)
-	/// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn charge_asset_tx_payment_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `631`
-		//  Estimated: `7404`
-		// Minimum execution time: 1_228_000_000 picoseconds.
-		Weight::from_parts(1_268_000_000, 0)
-			.saturating_add(Weight::from_parts(0, 7404))
-			.saturating_add(T::DbWeight::get().reads(6))
-			.saturating_add(T::DbWeight::get().writes(4))
-	}
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_transaction_payment.rs b/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_transaction_payment.rs
deleted file mode 100644
index 035f9a6dbe5..00000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/pallet_transaction_payment.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_transaction_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=pallet_transaction_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/assets/asset-hub-rococo/src/weights/
-// --chain=asset-hub-rococo-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_transaction_payment`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn charge_transaction_payment() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `4`
-		//  Estimated: `3593`
-		// Minimum execution time: 33_363_000 picoseconds.
-		Weight::from_parts(38_793_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml b/cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml
index c10e02bd8a6..78c48507a7a 100644
--- a/cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml
+++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/Cargo.toml
@@ -110,7 +110,6 @@ runtime-benchmarks = [
 	"frame-system-benchmarking/runtime-benchmarks",
 	"frame-system/runtime-benchmarks",
 	"hex-literal",
-	"pallet-asset-conversion-tx-payment/runtime-benchmarks",
 	"pallet-asset-conversion/runtime-benchmarks",
 	"pallet-assets/runtime-benchmarks",
 	"pallet-balances/runtime-benchmarks",
@@ -121,7 +120,6 @@ runtime-benchmarks = [
 	"pallet-nfts/runtime-benchmarks",
 	"pallet-proxy/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-uniques/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"pallet-xcm-benchmarks/runtime-benchmarks",
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs
index 5246828da31..1ead2897855 100644
--- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs
+++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs
@@ -162,7 +162,6 @@ impl frame_system::Config for Runtime {
 	type Version = Version;
 	type AccountData = pallet_balances::AccountData<Balance>;
 	type SystemWeightInfo = weights::frame_system::WeightInfo<Runtime>;
-	type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo<Runtime>;
 	type SS58Prefix = SS58Prefix;
 	type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode<Self>;
 	type MaxConsumers = frame_support::traits::ConstU32<16>;
@@ -219,7 +218,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
 	type OperationalFeeMultiplier = ConstU8<5>;
-	type WeightInfo = weights::pallet_transaction_payment::WeightInfo<Runtime>;
 }
 
 parameter_types! {
@@ -737,9 +735,6 @@ impl pallet_asset_conversion_tx_payment::Config for Runtime {
 	type Fungibles = LocalAndForeignAssets;
 	type OnChargeAssetTransaction =
 		AssetConversionAdapter<Balances, AssetConversion, WestendLocationV3>;
-	type WeightInfo = weights::pallet_asset_conversion_tx_payment::WeightInfo<Runtime>;
-	#[cfg(feature = "runtime-benchmarks")]
-	type BenchmarkHelper = AssetConversionTxHelper;
 }
 
 parameter_types! {
@@ -925,8 +920,8 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -938,7 +933,7 @@ pub type TxExtension = (
 );
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 /// Migrations to apply on runtime upgrade.
 pub type Migrations = (
@@ -1070,77 +1065,14 @@ pub type Executive = frame_executive::Executive<
 	Migrations,
 >;
 
-#[cfg(feature = "runtime-benchmarks")]
-pub struct AssetConversionTxHelper;
-
-#[cfg(feature = "runtime-benchmarks")]
-impl
-	pallet_asset_conversion_tx_payment::BenchmarkHelperTrait<
-		AccountId,
-		xcm::v3::MultiLocation,
-		xcm::v3::MultiLocation,
-	> for AssetConversionTxHelper
-{
-	fn create_asset_id_parameter(seed: u32) -> (xcm::v3::MultiLocation, xcm::v3::MultiLocation) {
-		// Use a different parachain' foreign assets pallet so that the asset is indeed foreign.
-		let asset_id = xcm::v3::MultiLocation::new(
-			1,
-			xcm::v3::Junctions::X3(
-				xcm::v3::Junction::Parachain(3000),
-				xcm::v3::Junction::PalletInstance(53),
-				xcm::v3::Junction::GeneralIndex(seed.into()),
-			),
-		);
-		(asset_id, asset_id)
-	}
-
-	fn setup_balances_and_pool(asset_id: xcm::v3::MultiLocation, account: AccountId) {
-		use frame_support::{assert_ok, traits::fungibles::Mutate};
-		assert_ok!(ForeignAssets::force_create(
-			RuntimeOrigin::root(),
-			asset_id.into(),
-			account.clone().into(), /* owner */
-			true,                   /* is_sufficient */
-			1,
-		));
-
-		let lp_provider = account.clone();
-		use frame_support::traits::Currency;
-		let _ = Balances::deposit_creating(&lp_provider, u64::MAX.into());
-		assert_ok!(ForeignAssets::mint_into(asset_id.into(), &lp_provider, u64::MAX.into()));
-
-		let token_native = Box::new(xcm::v3::MultiLocation::new(1, xcm::v3::Junctions::Here));
-		let token_second = Box::new(asset_id);
-
-		assert_ok!(AssetConversion::create_pool(
-			RuntimeOrigin::signed(lp_provider.clone()),
-			token_native.clone(),
-			token_second.clone()
-		));
-
-		assert_ok!(AssetConversion::add_liquidity(
-			RuntimeOrigin::signed(lp_provider.clone()),
-			token_native,
-			token_second,
-			(u32::MAX / 2).into(), // 1 desired
-			u32::MAX.into(),       // 2 desired
-			1,                     // 1 min
-			1,                     // 2 min
-			lp_provider,
-		));
-	}
-}
-
 #[cfg(feature = "runtime-benchmarks")]
 mod benches {
 	frame_benchmarking::define_benchmarks!(
 		[frame_system, SystemBench::<Runtime>]
-		[frame_system_extensions, SystemExtensionsBench::<Runtime>]
 		[pallet_assets, Local]
 		[pallet_assets, Foreign]
 		[pallet_assets, Pool]
 		[pallet_asset_conversion, AssetConversion]
-		[pallet_asset_conversion_tx_payment, AssetTxPayment]
 		[pallet_balances, Balances]
 		[pallet_message_queue, MessageQueue]
 		[pallet_multisig, Multisig]
@@ -1151,7 +1083,6 @@ mod benches {
 		[pallet_uniques, Uniques]
 		[pallet_utility, Utility]
 		[pallet_timestamp, Timestamp]
-		[pallet_transaction_payment, TransactionPayment]
 		[pallet_collator_selection, CollatorSelection]
 		[cumulus_pallet_parachain_system, ParachainSystem]
 		[cumulus_pallet_xcmp_queue, XcmpQueue]
@@ -1448,7 +1379,6 @@ impl_runtime_apis! {
 			use frame_benchmarking::{Benchmarking, BenchmarkList};
 			use frame_support::traits::StorageInfoTrait;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use cumulus_pallet_session_benchmarking::Pallet as SessionBench;
 			use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark;
 			use pallet_xcm_bridge_hub_router::benchmarking::Pallet as XcmBridgeHubRouterBench;
@@ -1483,7 +1413,6 @@ impl_runtime_apis! {
 			use sp_storage::TrackedStorageKey;
 
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			impl frame_system_benchmarking::Config for Runtime {
 				fn setup_set_code_requirements(code: &sp_std::vec::Vec<u8>) -> Result<(), BenchmarkError> {
 					ParachainSystem::initialize_for_set_code_benchmark(code.len() as u32);
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/frame_system_extensions.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/frame_system_extensions.rs
deleted file mode 100644
index 46f4f2bfd96..00000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/frame_system_extensions.rs
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `frame_system_extensions`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-westend-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=frame_system_extensions
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/
-// --chain=asset-hub-westend-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `frame_system_extensions`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_206_000 picoseconds.
-		Weight::from_parts(6_212_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 5_851_000 picoseconds.
-		Weight::from_parts(8_847_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 631_000 picoseconds.
-		Weight::from_parts(3_086_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 3_446_000 picoseconds.
-		Weight::from_parts(5_911_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 481_000 picoseconds.
-		Weight::from_parts(2_916_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 501_000 picoseconds.
-		Weight::from_parts(2_595_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::BlockWeight` (r:1 w:1)
-	/// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1533`
-		// Minimum execution time: 3_927_000 picoseconds.
-		Weight::from_parts(6_613_000, 0)
-			.saturating_add(Weight::from_parts(0, 1533))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
-	}
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/mod.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/mod.rs
index 691ed2e5730..2f1fcfb05f3 100644
--- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/mod.rs
+++ b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/mod.rs
@@ -18,9 +18,7 @@ pub mod cumulus_pallet_parachain_system;
 pub mod cumulus_pallet_xcmp_queue;
 pub mod extrinsic_weights;
 pub mod frame_system;
-pub mod frame_system_extensions;
 pub mod pallet_asset_conversion;
-pub mod pallet_asset_conversion_tx_payment;
 pub mod pallet_assets_foreign;
 pub mod pallet_assets_local;
 pub mod pallet_assets_pool;
@@ -33,7 +31,6 @@ pub mod pallet_nfts;
 pub mod pallet_proxy;
 pub mod pallet_session;
 pub mod pallet_timestamp;
-pub mod pallet_transaction_payment;
 pub mod pallet_uniques;
 pub mod pallet_utility;
 pub mod pallet_xcm;
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion_tx_payment.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion_tx_payment.rs
deleted file mode 100644
index 8fe302630fb..00000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_asset_conversion_tx_payment.rs
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_asset_conversion_tx_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2024-01-04, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `Georges-MacBook-Pro.local`, CPU: `<UNKNOWN>`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-westend-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/debug/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=pallet_asset_conversion_tx_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/
-// --chain=asset-hub-westend-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_asset_conversion_tx_payment`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_asset_conversion_tx_payment::WeightInfo for WeightInfo<T> {
-	fn charge_asset_tx_payment_zero() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 8_000_000 picoseconds.
-		Weight::from_parts(9_000_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn charge_asset_tx_payment_native() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `4`
-		//  Estimated: `3593`
-		// Minimum execution time: 214_000_000 picoseconds.
-		Weight::from_parts(219_000_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(2))
-	}
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `ForeignAssets::Asset` (r:1 w:1)
-	/// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
-	/// Storage: `ForeignAssets::Account` (r:2 w:2)
-	/// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn charge_asset_tx_payment_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `631`
-		//  Estimated: `7404`
-		// Minimum execution time: 1_211_000_000 picoseconds.
-		Weight::from_parts(1_243_000_000, 0)
-			.saturating_add(Weight::from_parts(0, 7404))
-			.saturating_add(T::DbWeight::get().reads(6))
-			.saturating_add(T::DbWeight::get().writes(4))
-	}
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_transaction_payment.rs b/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_transaction_payment.rs
deleted file mode 100644
index b4c78a78b48..00000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/pallet_transaction_payment.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_transaction_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-westend-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=pallet_transaction_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights/
-// --chain=asset-hub-westend-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_transaction_payment`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn charge_transaction_payment() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `4`
-		//  Estimated: `3593`
-		// Minimum execution time: 40_847_000 picoseconds.
-		Weight::from_parts(49_674_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-}
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/Cargo.toml b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/Cargo.toml
index 242627815d3..7a1951fd24b 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/Cargo.toml
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/Cargo.toml
@@ -242,7 +242,6 @@ runtime-benchmarks = [
 	"pallet-message-queue/runtime-benchmarks",
 	"pallet-multisig/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"pallet-xcm-benchmarks/runtime-benchmarks",
 	"pallet-xcm-bridge-hub/runtime-benchmarks",
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/bridge_to_bulletin_config.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/bridge_to_bulletin_config.rs
index 323e6ed65e6..6dbf96edc2a 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/bridge_to_bulletin_config.rs
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/bridge_to_bulletin_config.rs
@@ -40,7 +40,7 @@ use bridge_runtime_common::{
 		XcmBlobMessageDispatch, XcmVersionOfDestAndRemoteBridge,
 	},
 	refund_relayer_extension::{
-		ActualFeeRefund, RefundBridgedGrandpaMessages, RefundTransactionExtensionAdapter,
+		ActualFeeRefund, RefundBridgedGrandpaMessages, RefundSignedExtensionAdapter,
 		RefundableMessagesLane,
 	},
 };
@@ -168,7 +168,7 @@ impl messages::BridgedChainWithMessages for RococoBulletin {}
 
 /// Signed extension that refunds relayers that are delivering messages from the Rococo Bulletin
 /// chain.
-pub type OnBridgeHubRococoRefundRococoBulletinMessages = RefundTransactionExtensionAdapter<
+pub type OnBridgeHubRococoRefundRococoBulletinMessages = RefundSignedExtensionAdapter<
 	RefundBridgedGrandpaMessages<
 		Runtime,
 		BridgeGrandpaRococoBulletinInstance,
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/bridge_to_westend_config.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/bridge_to_westend_config.rs
index 05d1aa188d2..5d55d7afbac 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/bridge_to_westend_config.rs
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/bridge_to_westend_config.rs
@@ -39,7 +39,7 @@ use bridge_runtime_common::{
 		XcmBlobMessageDispatch, XcmVersionOfDestAndRemoteBridge,
 	},
 	refund_relayer_extension::{
-		ActualFeeRefund, RefundBridgedParachainMessages, RefundTransactionExtensionAdapter,
+		ActualFeeRefund, RefundBridgedParachainMessages, RefundSignedExtensionAdapter,
 		RefundableMessagesLane, RefundableParachain,
 	},
 };
@@ -173,7 +173,7 @@ impl UnderlyingChainProvider for BridgeHubWestend {
 impl messages::BridgedChainWithMessages for BridgeHubWestend {}
 
 /// Signed extension that refunds relayers that are delivering messages from the Westend parachain.
-pub type OnBridgeHubRococoRefundBridgeHubWestendMessages = RefundTransactionExtensionAdapter<
+pub type OnBridgeHubRococoRefundBridgeHubWestendMessages = RefundSignedExtensionAdapter<
 	RefundBridgedParachainMessages<
 		Runtime,
 		RefundableParachain<
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/lib.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/lib.rs
index 16e3b2e8600..0b48d1717fa 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/lib.rs
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/lib.rs
@@ -115,8 +115,8 @@ pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
 
-/// The TransactionExtension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -134,7 +134,7 @@ pub type TxExtension = (
 
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 /// Migrations to apply on runtime upgrade.
 pub type Migrations = (
@@ -262,8 +262,6 @@ impl frame_system::Config for Runtime {
 	type DbWeight = RocksDbWeight;
 	/// Weight information for the extrinsics of this pallet.
 	type SystemWeightInfo = weights::frame_system::WeightInfo<Runtime>;
-	/// Weight information for the extensions of this pallet.
-	type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo<Runtime>;
 	/// Block & extrinsics weights: base values and limits.
 	type BlockWeights = RuntimeBlockWeights;
 	/// The maximum length of a block (in bytes).
@@ -326,7 +324,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type WeightToFee = WeightToFee;
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
-	type WeightInfo = weights::pallet_transaction_payment::WeightInfo<Runtime>;
 }
 
 parameter_types! {
@@ -762,14 +759,12 @@ bridge_runtime_common::generate_bridge_reject_obsolete_headers_and_messages! {
 mod benches {
 	frame_benchmarking::define_benchmarks!(
 		[frame_system, SystemBench::<Runtime>]
-		[frame_system_extensions, SystemExtensionsBench::<Runtime>]
 		[pallet_balances, Balances]
 		[pallet_message_queue, MessageQueue]
 		[pallet_multisig, Multisig]
 		[pallet_session, SessionBench::<Runtime>]
 		[pallet_utility, Utility]
 		[pallet_timestamp, Timestamp]
-		[pallet_transaction_payment, TransactionPayment]
 		[pallet_collator_selection, CollatorSelection]
 		[cumulus_pallet_parachain_system, ParachainSystem]
 		[cumulus_pallet_xcmp_queue, XcmpQueue]
@@ -1070,7 +1065,6 @@ impl_runtime_apis! {
 			use frame_benchmarking::{Benchmarking, BenchmarkList};
 			use frame_support::traits::StorageInfoTrait;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use cumulus_pallet_session_benchmarking::Pallet as SessionBench;
 			use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark;
 
@@ -1101,7 +1095,6 @@ impl_runtime_apis! {
 			use sp_storage::TrackedStorageKey;
 
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			impl frame_system_benchmarking::Config for Runtime {
 				fn setup_set_code_requirements(code: &sp_std::vec::Vec<u8>) -> Result<(), BenchmarkError> {
 					ParachainSystem::initialize_for_set_code_benchmark(code.len() as u32);
@@ -1485,16 +1478,16 @@ mod tests {
 	use codec::Encode;
 	use sp_runtime::{
 		generic::Era,
-		traits::{TransactionExtensionBase, Zero},
+		traits::{SignedExtension, Zero},
 	};
 
 	#[test]
 	fn ensure_signed_extension_definition_is_compatible_with_relay() {
-		use bp_polkadot_core::SuffixedCommonTransactionExtensionExt;
+		use bp_polkadot_core::SuffixedCommonSignedExtensionExt;
 
 		sp_io::TestExternalities::default().execute_with(|| {
 			frame_system::BlockHash::<Runtime>::insert(BlockNumber::zero(), Hash::default());
-			let payload: TxExtension = (
+			let payload: SignedExtra = (
 				frame_system::CheckNonZeroSender::new(),
 				frame_system::CheckSpecVersion::new(),
 				frame_system::CheckTxVersion::new(),
@@ -1508,11 +1501,11 @@ mod tests {
 					bridge_to_westend_config::OnBridgeHubRococoRefundBridgeHubWestendMessages::default(),
 					bridge_to_bulletin_config::OnBridgeHubRococoRefundRococoBulletinMessages::default(),
 				)
-			).into();
+			);
 
 			// for BridgeHubRococo
 			{
-				let bhr_indirect_payload = bp_bridge_hub_rococo::TransactionExtension::from_params(
+				let bhr_indirect_payload = bp_bridge_hub_rococo::SignedExtension::from_params(
 					VERSION.spec_version,
 					VERSION.transaction_version,
 					bp_runtime::TransactionEra::Immortal,
@@ -1523,8 +1516,8 @@ mod tests {
 				);
 				assert_eq!(payload.encode(), bhr_indirect_payload.encode());
 				assert_eq!(
-					payload.implicit().unwrap().encode(),
-					bhr_indirect_payload.implicit().unwrap().encode()
+					payload.additional_signed().unwrap().encode(),
+					bhr_indirect_payload.additional_signed().unwrap().encode()
 				)
 			}
 		});
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/frame_system_extensions.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/frame_system_extensions.rs
deleted file mode 100644
index 99e3d6aeba0..00000000000
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/frame_system_extensions.rs
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `frame_system_extensions`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("bridge-hub-rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=frame_system_extensions
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/
-// --chain=bridge-hub-rococo-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `frame_system_extensions`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_136_000 picoseconds.
-		Weight::from_parts(5_842_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 5_771_000 picoseconds.
-		Weight::from_parts(8_857_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 732_000 picoseconds.
-		Weight::from_parts(2_875_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 3_627_000 picoseconds.
-		Weight::from_parts(6_322_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 471_000 picoseconds.
-		Weight::from_parts(2_455_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 491_000 picoseconds.
-		Weight::from_parts(2_916_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::BlockWeight` (r:1 w:1)
-	/// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1533`
-		// Minimum execution time: 3_798_000 picoseconds.
-		Weight::from_parts(6_272_000, 0)
-			.saturating_add(Weight::from_parts(0, 1533))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
-	}
-}
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/mod.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/mod.rs
index d97a30db954..aac39a4564f 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/mod.rs
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/mod.rs
@@ -25,7 +25,6 @@ pub mod cumulus_pallet_parachain_system;
 pub mod cumulus_pallet_xcmp_queue;
 pub mod extrinsic_weights;
 pub mod frame_system;
-pub mod frame_system_extensions;
 pub mod pallet_balances;
 pub mod pallet_bridge_grandpa;
 pub mod pallet_bridge_messages_rococo_to_rococo_bulletin;
@@ -37,7 +36,6 @@ pub mod pallet_message_queue;
 pub mod pallet_multisig;
 pub mod pallet_session;
 pub mod pallet_timestamp;
-pub mod pallet_transaction_payment;
 pub mod pallet_utility;
 pub mod pallet_xcm;
 pub mod paritydb_weights;
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_transaction_payment.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_transaction_payment.rs
deleted file mode 100644
index 71d17e7259f..00000000000
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_transaction_payment.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_transaction_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("bridge-hub-rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=pallet_transaction_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/
-// --chain=bridge-hub-rococo-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_transaction_payment`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn charge_transaction_payment() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `3`
-		//  Estimated: `3593`
-		// Minimum execution time: 34_956_000 picoseconds.
-		Weight::from_parts(40_788_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-}
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/tests/snowbridge.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/tests/snowbridge.rs
index 46c5df18a15..239bd946e75 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/tests/snowbridge.rs
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/tests/snowbridge.rs
@@ -22,7 +22,7 @@ use bridge_hub_rococo_runtime::{
 	bridge_to_westend_config::OnBridgeHubRococoRefundBridgeHubWestendMessages,
 	xcm_config::XcmConfig, AllPalletsWithoutSystem, BridgeRejectObsoleteHeadersAndMessages,
 	Executive, MessageQueueServiceWeight, Runtime, RuntimeCall, RuntimeEvent, SessionKeys,
-	TxExtension, UncheckedExtrinsic,
+	SignedExtra, UncheckedExtrinsic,
 };
 use codec::{Decode, Encode};
 use cumulus_primitives_core::XcmError::{FailedToTransactAsset, NotHoldingFees};
@@ -171,7 +171,7 @@ fn construct_extrinsic(
 	call: RuntimeCall,
 ) -> UncheckedExtrinsic {
 	let account_id = AccountId32::from(sender.public());
-	let tx_ext: TxExtension = (
+	let extra: SignedExtra = (
 		frame_system::CheckNonZeroSender::<Runtime>::new(),
 		frame_system::CheckSpecVersion::<Runtime>::new(),
 		frame_system::CheckTxVersion::<Runtime>::new(),
@@ -188,13 +188,13 @@ fn construct_extrinsic(
 			OnBridgeHubRococoRefundRococoBulletinMessages::default(),
 		),
 	);
-	let payload = SignedPayload::new(call.clone(), tx_ext.clone()).unwrap();
+	let payload = SignedPayload::new(call.clone(), extra.clone()).unwrap();
 	let signature = payload.using_encoded(|e| sender.sign(e));
 	UncheckedExtrinsic::new_signed(
 		call,
 		account_id.into(),
 		Signature::Sr25519(signature.clone()),
-		tx_ext,
+		extra,
 	)
 }
 
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/tests/tests.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/tests/tests.rs
index 565343c55a5..f11954cf165 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/tests/tests.rs
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/tests/tests.rs
@@ -22,7 +22,7 @@ use bridge_hub_rococo_runtime::{
 	xcm_config::{RelayNetwork, TokenLocation, XcmConfig},
 	AllPalletsWithoutSystem, BridgeRejectObsoleteHeadersAndMessages, EthereumGatewayAddress,
 	Executive, ExistentialDeposit, ParachainSystem, PolkadotXcm, Runtime, RuntimeCall,
-	RuntimeEvent, RuntimeOrigin, SessionKeys, TransactionPayment, TxExtension, UncheckedExtrinsic,
+	RuntimeEvent, RuntimeOrigin, SessionKeys, SignedExtra, TransactionPayment, UncheckedExtrinsic,
 };
 use bridge_hub_test_utils::SlotDurations;
 use codec::{Decode, Encode};
@@ -48,7 +48,7 @@ fn construct_extrinsic(
 	call: RuntimeCall,
 ) -> UncheckedExtrinsic {
 	let account_id = AccountId32::from(sender.public());
-	let tx_ext: TxExtension = (
+	let extra: SignedExtra = (
 		frame_system::CheckNonZeroSender::<Runtime>::new(),
 		frame_system::CheckSpecVersion::<Runtime>::new(),
 		frame_system::CheckTxVersion::<Runtime>::new(),
@@ -64,15 +64,14 @@ fn construct_extrinsic(
 			bridge_to_westend_config::OnBridgeHubRococoRefundBridgeHubWestendMessages::default(),
 			bridge_to_bulletin_config::OnBridgeHubRococoRefundRococoBulletinMessages::default(),
 		),
-	)
-		.into();
-	let payload = SignedPayload::new(call.clone(), tx_ext.clone()).unwrap();
+	);
+	let payload = SignedPayload::new(call.clone(), extra.clone()).unwrap();
 	let signature = payload.using_encoded(|e| sender.sign(e));
 	UncheckedExtrinsic::new_signed(
 		call,
 		account_id.into(),
 		Signature::Sr25519(signature.clone()),
-		tx_ext,
+		extra,
 	)
 }
 
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/Cargo.toml b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/Cargo.toml
index b5fe093b8be..8623f7cb366 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/Cargo.toml
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/Cargo.toml
@@ -204,7 +204,6 @@ runtime-benchmarks = [
 	"pallet-message-queue/runtime-benchmarks",
 	"pallet-multisig/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"pallet-xcm-benchmarks/runtime-benchmarks",
 	"pallet-xcm-bridge-hub/runtime-benchmarks",
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/bridge_to_rococo_config.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/bridge_to_rococo_config.rs
index 934dce5c2c4..bce722aa5f8 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/bridge_to_rococo_config.rs
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/bridge_to_rococo_config.rs
@@ -36,7 +36,7 @@ use bridge_runtime_common::{
 		XcmBlobMessageDispatch, XcmVersionOfDestAndRemoteBridge,
 	},
 	refund_relayer_extension::{
-		ActualFeeRefund, RefundBridgedParachainMessages, RefundTransactionExtensionAdapter,
+		ActualFeeRefund, RefundBridgedParachainMessages, RefundSignedExtensionAdapter,
 		RefundableMessagesLane, RefundableParachain,
 	},
 };
@@ -190,7 +190,7 @@ impl ThisChainWithMessages for BridgeHubWestend {
 }
 
 /// Signed extension that refunds relayers that are delivering messages from the Rococo parachain.
-pub type OnBridgeHubWestendRefundBridgeHubRococoMessages = RefundTransactionExtensionAdapter<
+pub type OnBridgeHubWestendRefundBridgeHubRococoMessages = RefundSignedExtensionAdapter<
 	RefundBridgedParachainMessages<
 		Runtime,
 		RefundableParachain<BridgeParachainRococoInstance, bp_bridge_hub_rococo::BridgeHubRococo>,
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/lib.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/lib.rs
index 86ed8b2f488..e1344fce63d 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/lib.rs
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/lib.rs
@@ -97,8 +97,8 @@ pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
 
-/// The TransactionExtension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -113,7 +113,7 @@ pub type TxExtension = (
 
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 /// Migrations to apply on runtime upgrade.
 pub type Migrations = (
@@ -298,7 +298,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type WeightToFee = WeightToFee;
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
-	type WeightInfo = weights::pallet_transaction_payment::WeightInfo<Runtime>;
 }
 
 parameter_types! {
@@ -516,14 +515,12 @@ bridge_runtime_common::generate_bridge_reject_obsolete_headers_and_messages! {
 mod benches {
 	frame_benchmarking::define_benchmarks!(
 		[frame_system, SystemBench::<Runtime>]
-		[frame_system_extensions, SystemExtensionsBench::<Runtime>]
 		[pallet_balances, Balances]
 		[pallet_message_queue, MessageQueue]
 		[pallet_multisig, Multisig]
 		[pallet_session, SessionBench::<Runtime>]
 		[pallet_utility, Utility]
 		[pallet_timestamp, Timestamp]
-		[pallet_transaction_payment, TransactionPayment]
 		[pallet_collator_selection, CollatorSelection]
 		[cumulus_pallet_parachain_system, ParachainSystem]
 		[cumulus_pallet_xcmp_queue, XcmpQueue]
@@ -764,7 +761,6 @@ impl_runtime_apis! {
 			use frame_benchmarking::{Benchmarking, BenchmarkList};
 			use frame_support::traits::StorageInfoTrait;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use cumulus_pallet_session_benchmarking::Pallet as SessionBench;
 			use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark;
 
@@ -794,7 +790,6 @@ impl_runtime_apis! {
 			use sp_storage::TrackedStorageKey;
 
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			impl frame_system_benchmarking::Config for Runtime {
 				fn setup_set_code_requirements(code: &sp_std::vec::Vec<u8>) -> Result<(), BenchmarkError> {
 					ParachainSystem::initialize_for_set_code_benchmark(code.len() as u32);
@@ -1140,16 +1135,16 @@ mod tests {
 	use codec::Encode;
 	use sp_runtime::{
 		generic::Era,
-		traits::{TransactionExtensionBase, Zero},
+		traits::{SignedExtension, Zero},
 	};
 
 	#[test]
 	fn ensure_signed_extension_definition_is_compatible_with_relay() {
-		use bp_polkadot_core::SuffixedCommonTransactionExtensionExt;
+		use bp_polkadot_core::SuffixedCommonSignedExtensionExt;
 
 		sp_io::TestExternalities::default().execute_with(|| {
 			frame_system::BlockHash::<Runtime>::insert(BlockNumber::zero(), Hash::default());
-			let payload: TxExtension = (
+			let payload: SignedExtra = (
 				frame_system::CheckNonZeroSender::new(),
 				frame_system::CheckSpecVersion::new(),
 				frame_system::CheckTxVersion::new(),
@@ -1162,10 +1157,10 @@ mod tests {
 				(
 					bridge_to_rococo_config::OnBridgeHubWestendRefundBridgeHubRococoMessages::default(),
 				),
-			).into();
+			);
 
 			{
-				let bh_indirect_payload = bp_bridge_hub_westend::TransactionExtension::from_params(
+				let bh_indirect_payload = bp_bridge_hub_westend::SignedExtension::from_params(
 					VERSION.spec_version,
 					VERSION.transaction_version,
 					bp_runtime::TransactionEra::Immortal,
@@ -1176,8 +1171,8 @@ mod tests {
 				);
 				assert_eq!(payload.encode(), bh_indirect_payload.encode());
 				assert_eq!(
-					payload.implicit().unwrap().encode(),
-					bh_indirect_payload.implicit().unwrap().encode()
+					payload.additional_signed().unwrap().encode(),
+					bh_indirect_payload.additional_signed().unwrap().encode()
 				)
 			}
 		});
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/frame_system_extensions.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/frame_system_extensions.rs
deleted file mode 100644
index 06f1114b4de..00000000000
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/frame_system_extensions.rs
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `frame_system_extensions`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("bridge-hub-westend-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=frame_system_extensions
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/
-// --chain=bridge-hub-westend-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `frame_system_extensions`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_166_000 picoseconds.
-		Weight::from_parts(6_021_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 5_651_000 picoseconds.
-		Weight::from_parts(9_177_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 601_000 picoseconds.
-		Weight::from_parts(2_805_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 3_727_000 picoseconds.
-		Weight::from_parts(6_051_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 471_000 picoseconds.
-		Weight::from_parts(2_494_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 521_000 picoseconds.
-		Weight::from_parts(2_655_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::BlockWeight` (r:1 w:1)
-	/// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1533`
-		// Minimum execution time: 3_808_000 picoseconds.
-		Weight::from_parts(6_402_000, 0)
-			.saturating_add(Weight::from_parts(0, 1533))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
-	}
-}
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/mod.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/mod.rs
index e23033e0dfd..a65ee31d3e5 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/mod.rs
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/mod.rs
@@ -25,7 +25,6 @@ pub mod cumulus_pallet_parachain_system;
 pub mod cumulus_pallet_xcmp_queue;
 pub mod extrinsic_weights;
 pub mod frame_system;
-pub mod frame_system_extensions;
 pub mod pallet_balances;
 pub mod pallet_bridge_grandpa;
 pub mod pallet_bridge_messages;
@@ -36,7 +35,6 @@ pub mod pallet_message_queue;
 pub mod pallet_multisig;
 pub mod pallet_session;
 pub mod pallet_timestamp;
-pub mod pallet_transaction_payment;
 pub mod pallet_utility;
 pub mod pallet_xcm;
 pub mod paritydb_weights;
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/pallet_transaction_payment.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/pallet_transaction_payment.rs
deleted file mode 100644
index 92c53b91879..00000000000
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/pallet_transaction_payment.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_transaction_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("bridge-hub-westend-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=pallet_transaction_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/
-// --chain=bridge-hub-westend-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_transaction_payment`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn charge_transaction_payment() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `3`
-		//  Estimated: `3593`
-		// Minimum execution time: 40_286_000 picoseconds.
-		Weight::from_parts(45_816_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-}
diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/tests/tests.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/tests/tests.rs
index 7ea22befe95..149a3bbeb75 100644
--- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/tests/tests.rs
+++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/tests/tests.rs
@@ -24,7 +24,7 @@ use bridge_hub_westend_runtime::{
 	xcm_config::{RelayNetwork, WestendLocation, XcmConfig},
 	AllPalletsWithoutSystem, BridgeRejectObsoleteHeadersAndMessages, Executive, ExistentialDeposit,
 	ParachainSystem, PolkadotXcm, Runtime, RuntimeCall, RuntimeEvent, RuntimeOrigin, SessionKeys,
-	TransactionPayment, TxExtension, UncheckedExtrinsic,
+	SignedExtra, TransactionPayment, UncheckedExtrinsic,
 };
 use bridge_to_rococo_config::{
 	BridgeGrandpaRococoInstance, BridgeHubRococoChainId, BridgeHubRococoLocation,
@@ -65,7 +65,7 @@ fn construct_extrinsic(
 	call: RuntimeCall,
 ) -> UncheckedExtrinsic {
 	let account_id = AccountId32::from(sender.public());
-	let tx_ext: TxExtension = (
+	let extra: SignedExtra = (
 		frame_system::CheckNonZeroSender::<Runtime>::new(),
 		frame_system::CheckSpecVersion::<Runtime>::new(),
 		frame_system::CheckTxVersion::<Runtime>::new(),
@@ -78,15 +78,14 @@ fn construct_extrinsic(
 		pallet_transaction_payment::ChargeTransactionPayment::<Runtime>::from(0),
 		BridgeRejectObsoleteHeadersAndMessages::default(),
 		(bridge_to_rococo_config::OnBridgeHubWestendRefundBridgeHubRococoMessages::default(),),
-	)
-		.into();
-	let payload = SignedPayload::new(call.clone(), tx_ext.clone()).unwrap();
+	);
+	let payload = SignedPayload::new(call.clone(), extra.clone()).unwrap();
 	let signature = payload.using_encoded(|e| sender.sign(e));
 	UncheckedExtrinsic::new_signed(
 		call,
 		account_id.into(),
 		Signature::Sr25519(signature.clone()),
-		tx_ext,
+		extra,
 	)
 }
 
diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/Cargo.toml b/cumulus/parachains/runtimes/collectives/collectives-westend/Cargo.toml
index 32d7e97bc45..ed264f28c26 100644
--- a/cumulus/parachains/runtimes/collectives/collectives-westend/Cargo.toml
+++ b/cumulus/parachains/runtimes/collectives/collectives-westend/Cargo.toml
@@ -117,7 +117,6 @@ runtime-benchmarks = [
 	"pallet-salary/runtime-benchmarks",
 	"pallet-scheduler/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-treasury/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"pallet-xcm/runtime-benchmarks",
diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/src/lib.rs b/cumulus/parachains/runtimes/collectives/collectives-westend/src/lib.rs
index 3887a1d74ec..6bcf98c428f 100644
--- a/cumulus/parachains/runtimes/collectives/collectives-westend/src/lib.rs
+++ b/cumulus/parachains/runtimes/collectives/collectives-westend/src/lib.rs
@@ -175,7 +175,6 @@ impl frame_system::Config for Runtime {
 	type Version = Version;
 	type AccountData = pallet_balances::AccountData<Balance>;
 	type SystemWeightInfo = weights::frame_system::WeightInfo<Runtime>;
-	type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo<Runtime>;
 	type SS58Prefix = ConstU16<0>;
 	type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode<Self>;
 	type MaxConsumers = frame_support::traits::ConstU32<16>;
@@ -232,7 +231,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
 	type OperationalFeeMultiplier = ConstU8<5>;
-	type WeightInfo = weights::pallet_transaction_payment::WeightInfo<Runtime>;
 }
 
 parameter_types! {
@@ -709,8 +707,8 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -721,7 +719,7 @@ pub type TxExtension = (
 );
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 /// All migrations executed on runtime upgrade as a nested tuple of types implementing
 /// `OnRuntimeUpgrade`. Included migrations must be idempotent.
 type Migrations = (
@@ -747,7 +745,6 @@ pub type Executive = frame_executive::Executive<
 mod benches {
 	frame_benchmarking::define_benchmarks!(
 		[frame_system, SystemBench::<Runtime>]
-		[frame_system_extensions, SystemExtensionsBench::<Runtime>]
 		[pallet_balances, Balances]
 		[pallet_message_queue, MessageQueue]
 		[pallet_multisig, Multisig]
@@ -755,7 +752,6 @@ mod benches {
 		[pallet_session, SessionBench::<Runtime>]
 		[pallet_utility, Utility]
 		[pallet_timestamp, Timestamp]
-		[pallet_transaction_payment, TransactionPayment]
 		[pallet_collator_selection, CollatorSelection]
 		[cumulus_pallet_parachain_system, ParachainSystem]
 		[cumulus_pallet_xcmp_queue, XcmpQueue]
@@ -959,7 +955,6 @@ impl_runtime_apis! {
 			use frame_benchmarking::{Benchmarking, BenchmarkList};
 			use frame_support::traits::StorageInfoTrait;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use cumulus_pallet_session_benchmarking::Pallet as SessionBench;
 			use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark;
 
@@ -977,7 +972,6 @@ impl_runtime_apis! {
 			use sp_storage::TrackedStorageKey;
 
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			impl frame_system_benchmarking::Config for Runtime {
 				fn setup_set_code_requirements(code: &sp_std::vec::Vec<u8>) -> Result<(), BenchmarkError> {
 					ParachainSystem::initialize_for_set_code_benchmark(code.len() as u32);
diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/frame_system_extensions.rs b/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/frame_system_extensions.rs
deleted file mode 100644
index f3030cc4f6a..00000000000
--- a/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/frame_system_extensions.rs
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `frame_system_extensions`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("collectives-westend-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=frame_system_extensions
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/
-// --chain=collectives-westend-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `frame_system_extensions`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_497_000 picoseconds.
-		Weight::from_parts(5_961_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 5_240_000 picoseconds.
-		Weight::from_parts(8_175_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 671_000 picoseconds.
-		Weight::from_parts(3_005_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 3_426_000 picoseconds.
-		Weight::from_parts(6_131_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 501_000 picoseconds.
-		Weight::from_parts(2_715_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 491_000 picoseconds.
-		Weight::from_parts(2_635_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::BlockWeight` (r:1 w:1)
-	/// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1533`
-		// Minimum execution time: 3_958_000 picoseconds.
-		Weight::from_parts(6_753_000, 0)
-			.saturating_add(Weight::from_parts(0, 1533))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
-	}
-}
diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/mod.rs b/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/mod.rs
index 00b3bd92d5e..a9a298e547e 100644
--- a/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/mod.rs
+++ b/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/mod.rs
@@ -18,7 +18,6 @@ pub mod cumulus_pallet_parachain_system;
 pub mod cumulus_pallet_xcmp_queue;
 pub mod extrinsic_weights;
 pub mod frame_system;
-pub mod frame_system_extensions;
 pub mod pallet_alliance;
 pub mod pallet_asset_rate;
 pub mod pallet_balances;
@@ -40,7 +39,6 @@ pub mod pallet_salary_fellowship_salary;
 pub mod pallet_scheduler;
 pub mod pallet_session;
 pub mod pallet_timestamp;
-pub mod pallet_transaction_payment;
 pub mod pallet_treasury;
 pub mod pallet_utility;
 pub mod pallet_xcm;
diff --git a/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/pallet_transaction_payment.rs b/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/pallet_transaction_payment.rs
deleted file mode 100644
index 5d077b89d56..00000000000
--- a/cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/pallet_transaction_payment.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_transaction_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("collectives-westend-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=pallet_transaction_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/collectives/collectives-westend/src/weights/
-// --chain=collectives-westend-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_transaction_payment`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn charge_transaction_payment() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `4`
-		//  Estimated: `3593`
-		// Minimum execution time: 39_815_000 picoseconds.
-		Weight::from_parts(46_067_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-}
diff --git a/cumulus/parachains/runtimes/contracts/contracts-rococo/Cargo.toml b/cumulus/parachains/runtimes/contracts/contracts-rococo/Cargo.toml
index 747f75cf2e2..dcc6c4e853a 100644
--- a/cumulus/parachains/runtimes/contracts/contracts-rococo/Cargo.toml
+++ b/cumulus/parachains/runtimes/contracts/contracts-rococo/Cargo.toml
@@ -158,7 +158,6 @@ runtime-benchmarks = [
 	"pallet-multisig/runtime-benchmarks",
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"pallet-xcm/runtime-benchmarks",
 	"parachains-common/runtime-benchmarks",
diff --git a/cumulus/parachains/runtimes/contracts/contracts-rococo/src/lib.rs b/cumulus/parachains/runtimes/contracts/contracts-rococo/src/lib.rs
index 8ce46ccd34f..0668b9a4c7d 100644
--- a/cumulus/parachains/runtimes/contracts/contracts-rococo/src/lib.rs
+++ b/cumulus/parachains/runtimes/contracts/contracts-rococo/src/lib.rs
@@ -80,8 +80,8 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -93,7 +93,7 @@ pub type TxExtension = (
 );
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 /// Migrations to apply on runtime upgrade.
 pub type Migrations = (
@@ -240,7 +240,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
 	type OperationalFeeMultiplier = ConstU8<5>;
-	type WeightInfo = pallet_transaction_payment::weights::SubstrateWeight<Runtime>;
 }
 
 parameter_types! {
@@ -424,7 +423,6 @@ construct_runtime!(
 mod benches {
 	frame_benchmarking::define_benchmarks!(
 		[frame_system, SystemBench::<Runtime>]
-		[frame_system_extensions, SystemExtensionsBench::<Runtime>]
 		[pallet_balances, Balances]
 		[pallet_message_queue, MessageQueue]
 		[pallet_multisig, Multisig]
@@ -688,7 +686,6 @@ impl_runtime_apis! {
 			use frame_benchmarking::{Benchmarking, BenchmarkList};
 			use frame_support::traits::StorageInfoTrait;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use cumulus_pallet_session_benchmarking::Pallet as SessionBench;
 			use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark;
 
@@ -706,7 +703,6 @@ impl_runtime_apis! {
 			use sp_storage::TrackedStorageKey;
 
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			impl frame_system_benchmarking::Config for Runtime {
 				fn setup_set_code_requirements(code: &sp_std::vec::Vec<u8>) -> Result<(), BenchmarkError> {
 					ParachainSystem::initialize_for_set_code_benchmark(code.len() as u32);
diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/Cargo.toml b/cumulus/parachains/runtimes/coretime/coretime-rococo/Cargo.toml
index 70a6a81bdcf..0bc3b510ed5 100644
--- a/cumulus/parachains/runtimes/coretime/coretime-rococo/Cargo.toml
+++ b/cumulus/parachains/runtimes/coretime/coretime-rococo/Cargo.toml
@@ -156,7 +156,6 @@ runtime-benchmarks = [
 	"pallet-multisig/runtime-benchmarks",
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"pallet-xcm-benchmarks/runtime-benchmarks",
 	"pallet-xcm/runtime-benchmarks",
diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/lib.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/lib.rs
index 9913e47a93a..cdff371c505 100644
--- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/lib.rs
+++ b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/lib.rs
@@ -89,8 +89,8 @@ pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
 
-/// The TransactionExtension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -103,7 +103,7 @@ pub type TxExtension = (
 
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 /// Migrations to apply on runtime upgrade.
 pub type Migrations = (
@@ -192,8 +192,6 @@ impl frame_system::Config for Runtime {
 	type DbWeight = RocksDbWeight;
 	/// Weight information for the extrinsics of this pallet.
 	type SystemWeightInfo = weights::frame_system::WeightInfo<Runtime>;
-	/// Weight information for the extensions of this pallet.
-	type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo<Runtime>;
 	/// Block & extrinsics weights: base values and limits.
 	type BlockWeights = RuntimeBlockWeights;
 	/// The maximum length of a block (in bytes).
@@ -253,7 +251,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type WeightToFee = WeightToFee;
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
-	type WeightInfo = weights::pallet_transaction_payment::WeightInfo<Runtime>;
 }
 
 parameter_types! {
diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/frame_system_extensions.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/frame_system_extensions.rs
deleted file mode 100644
index aac73680ad1..00000000000
--- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/frame_system_extensions.rs
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `frame_system_extensions`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("coretime-rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=frame_system_extensions
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/
-// --chain=coretime-rococo-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `frame_system_extensions`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_637_000 picoseconds.
-		Weight::from_parts(6_382_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 5_841_000 picoseconds.
-		Weight::from_parts(8_776_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 561_000 picoseconds.
-		Weight::from_parts(2_705_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 3_316_000 picoseconds.
-		Weight::from_parts(5_771_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 511_000 picoseconds.
-		Weight::from_parts(2_575_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 501_000 picoseconds.
-		Weight::from_parts(2_595_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::BlockWeight` (r:1 w:1)
-	/// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1533`
-		// Minimum execution time: 3_687_000 picoseconds.
-		Weight::from_parts(6_192_000, 0)
-			.saturating_add(Weight::from_parts(0, 1533))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
-	}
-}
diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/mod.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/mod.rs
index 7b6ab611e6f..f1050b3ae63 100644
--- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/mod.rs
+++ b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/mod.rs
@@ -22,7 +22,6 @@ pub mod cumulus_pallet_parachain_system;
 pub mod cumulus_pallet_xcmp_queue;
 pub mod extrinsic_weights;
 pub mod frame_system;
-pub mod frame_system_extensions;
 pub mod pallet_balances;
 pub mod pallet_broker;
 pub mod pallet_collator_selection;
@@ -30,7 +29,6 @@ pub mod pallet_message_queue;
 pub mod pallet_multisig;
 pub mod pallet_session;
 pub mod pallet_timestamp;
-pub mod pallet_transaction_payment;
 pub mod pallet_utility;
 pub mod pallet_xcm;
 pub mod paritydb_weights;
diff --git a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_transaction_payment.rs b/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_transaction_payment.rs
deleted file mode 100644
index 29d48abab89..00000000000
--- a/cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/pallet_transaction_payment.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_transaction_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("coretime-rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=pallet_transaction_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/coretime/coretime-rococo/src/weights/
-// --chain=coretime-rococo-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_transaction_payment`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn charge_transaction_payment() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `4`
-		//  Estimated: `3593`
-		// Minimum execution time: 33_363_000 picoseconds.
-		Weight::from_parts(38_793_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-}
diff --git a/cumulus/parachains/runtimes/coretime/coretime-westend/Cargo.toml b/cumulus/parachains/runtimes/coretime/coretime-westend/Cargo.toml
index 549ef7ce4d7..a7d52dfd784 100644
--- a/cumulus/parachains/runtimes/coretime/coretime-westend/Cargo.toml
+++ b/cumulus/parachains/runtimes/coretime/coretime-westend/Cargo.toml
@@ -153,7 +153,6 @@ runtime-benchmarks = [
 	"pallet-message-queue/runtime-benchmarks",
 	"pallet-multisig/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"pallet-xcm-benchmarks/runtime-benchmarks",
 	"pallet-xcm/runtime-benchmarks",
diff --git a/cumulus/parachains/runtimes/coretime/coretime-westend/src/lib.rs b/cumulus/parachains/runtimes/coretime/coretime-westend/src/lib.rs
index 1a330821d3f..7fa70647992 100644
--- a/cumulus/parachains/runtimes/coretime/coretime-westend/src/lib.rs
+++ b/cumulus/parachains/runtimes/coretime/coretime-westend/src/lib.rs
@@ -89,8 +89,8 @@ pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
 
-/// The TransactionExtension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -103,7 +103,7 @@ pub type TxExtension = (
 
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 /// Migrations to apply on runtime upgrade.
 pub type Migrations = (
@@ -192,8 +192,6 @@ impl frame_system::Config for Runtime {
 	type DbWeight = RocksDbWeight;
 	/// Weight information for the extrinsics of this pallet.
 	type SystemWeightInfo = weights::frame_system::WeightInfo<Runtime>;
-	/// Weight information for the extensions of this pallet.
-	type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo<Runtime>;
 	/// Block & extrinsics weights: base values and limits.
 	type BlockWeights = RuntimeBlockWeights;
 	/// The maximum length of a block (in bytes).
@@ -253,7 +251,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type WeightToFee = WeightToFee;
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
-	type WeightInfo = weights::pallet_transaction_payment::WeightInfo<Runtime>;
 }
 
 parameter_types! {
diff --git a/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/frame_system_extensions.rs b/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/frame_system_extensions.rs
deleted file mode 100644
index 0683158a01a..00000000000
--- a/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/frame_system_extensions.rs
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `frame_system_extensions`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("coretime-westend-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=frame_system_extensions
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/
-// --chain=coretime-westend-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `frame_system_extensions`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_637_000 picoseconds.
-		Weight::from_parts(6_382_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 5_841_000 picoseconds.
-		Weight::from_parts(8_776_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 561_000 picoseconds.
-		Weight::from_parts(2_705_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 3_316_000 picoseconds.
-		Weight::from_parts(5_771_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 511_000 picoseconds.
-		Weight::from_parts(2_575_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 501_000 picoseconds.
-		Weight::from_parts(2_595_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::BlockWeight` (r:1 w:1)
-	/// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1533`
-		// Minimum execution time: 3_687_000 picoseconds.
-		Weight::from_parts(6_192_000, 0)
-			.saturating_add(Weight::from_parts(0, 1533))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
-	}
-}
diff --git a/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/mod.rs b/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/mod.rs
index 7b6ab611e6f..f1050b3ae63 100644
--- a/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/mod.rs
+++ b/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/mod.rs
@@ -22,7 +22,6 @@ pub mod cumulus_pallet_parachain_system;
 pub mod cumulus_pallet_xcmp_queue;
 pub mod extrinsic_weights;
 pub mod frame_system;
-pub mod frame_system_extensions;
 pub mod pallet_balances;
 pub mod pallet_broker;
 pub mod pallet_collator_selection;
@@ -30,7 +29,6 @@ pub mod pallet_message_queue;
 pub mod pallet_multisig;
 pub mod pallet_session;
 pub mod pallet_timestamp;
-pub mod pallet_transaction_payment;
 pub mod pallet_utility;
 pub mod pallet_xcm;
 pub mod paritydb_weights;
diff --git a/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/pallet_transaction_payment.rs b/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/pallet_transaction_payment.rs
deleted file mode 100644
index f159f877afe..00000000000
--- a/cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/pallet_transaction_payment.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_transaction_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("coretime-westend-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=pallet_transaction_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/coretime/coretime-westend/src/weights/
-// --chain=coretime-westend-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_transaction_payment`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn charge_transaction_payment() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `4`
-		//  Estimated: `3593`
-		// Minimum execution time: 33_363_000 picoseconds.
-		Weight::from_parts(38_793_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-}
diff --git a/cumulus/parachains/runtimes/glutton/glutton-westend/src/lib.rs b/cumulus/parachains/runtimes/glutton/glutton-westend/src/lib.rs
index 199057c3764..232a82115a8 100644
--- a/cumulus/parachains/runtimes/glutton/glutton-westend/src/lib.rs
+++ b/cumulus/parachains/runtimes/glutton/glutton-westend/src/lib.rs
@@ -289,8 +289,8 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	pallet_sudo::CheckOnlySudoAccount<Runtime>,
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
@@ -301,7 +301,7 @@ pub type TxExtension = (
 );
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 /// Executive: handles dispatch to the various modules.
 pub type Executive = frame_executive::Executive<
 	Runtime,
@@ -316,7 +316,6 @@ mod benches {
 	frame_benchmarking::define_benchmarks!(
 		[cumulus_pallet_parachain_system, ParachainSystem]
 		[frame_system, SystemBench::<Runtime>]
-		[frame_system_extensions, SystemExtensionsBench::<Runtime>]
 		[pallet_glutton, Glutton]
 		[pallet_message_queue, MessageQueue]
 		[pallet_timestamp, Timestamp]
@@ -440,7 +439,6 @@ impl_runtime_apis! {
 			use frame_benchmarking::{Benchmarking, BenchmarkList};
 			use frame_support::traits::StorageInfoTrait;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 
 			let mut list = Vec::<BenchmarkList>::new();
 			list_benchmarks!(list, extra);
@@ -457,7 +455,6 @@ impl_runtime_apis! {
 			use sp_storage::TrackedStorageKey;
 
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			impl frame_system_benchmarking::Config for Runtime {
 				fn setup_set_code_requirements(code: &sp_std::vec::Vec<u8>) -> Result<(), BenchmarkError> {
 					ParachainSystem::initialize_for_set_code_benchmark(code.len() as u32);
diff --git a/cumulus/parachains/runtimes/glutton/glutton-westend/src/weights/frame_system_extensions.rs b/cumulus/parachains/runtimes/glutton/glutton-westend/src/weights/frame_system_extensions.rs
deleted file mode 100644
index e6efa762308..00000000000
--- a/cumulus/parachains/runtimes/glutton/glutton-westend/src/weights/frame_system_extensions.rs
+++ /dev/null
@@ -1,119 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `frame_system_extensions`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("glutton-westend-dev-1300")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=frame_system_extensions
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/glutton/glutton-westend/src/weights/
-// --chain=glutton-westend-dev-1300
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `frame_system_extensions`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_908_000 picoseconds.
-		Weight::from_parts(4_007_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 5_510_000 picoseconds.
-		Weight::from_parts(6_332_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 651_000 picoseconds.
-		Weight::from_parts(851_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 3_387_000 picoseconds.
-		Weight::from_parts(3_646_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 491_000 picoseconds.
-		Weight::from_parts(651_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 451_000 picoseconds.
-		Weight::from_parts(662_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1489`
-		// Minimum execution time: 3_537_000 picoseconds.
-		Weight::from_parts(4_208_000, 0)
-			.saturating_add(Weight::from_parts(0, 1489))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-}
diff --git a/cumulus/parachains/runtimes/people/people-rococo/Cargo.toml b/cumulus/parachains/runtimes/people/people-rococo/Cargo.toml
index c9781639c3e..c0b8fb7636b 100644
--- a/cumulus/parachains/runtimes/people/people-rococo/Cargo.toml
+++ b/cumulus/parachains/runtimes/people/people-rococo/Cargo.toml
@@ -152,7 +152,6 @@ runtime-benchmarks = [
 	"pallet-message-queue/runtime-benchmarks",
 	"pallet-multisig/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"pallet-xcm-benchmarks/runtime-benchmarks",
 	"pallet-xcm/runtime-benchmarks",
diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/lib.rs b/cumulus/parachains/runtimes/people/people-rococo/src/lib.rs
index c5e420785de..2b8cc32f67c 100644
--- a/cumulus/parachains/runtimes/people/people-rococo/src/lib.rs
+++ b/cumulus/parachains/runtimes/people/people-rococo/src/lib.rs
@@ -83,8 +83,8 @@ pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
 
-/// The TransactionExtension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -97,7 +97,7 @@ pub type TxExtension = (
 
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 /// Migrations to apply on runtime upgrade.
 pub type Migrations = (
@@ -178,7 +178,6 @@ impl frame_system::Config for Runtime {
 	type Version = Version;
 	type AccountData = pallet_balances::AccountData<Balance>;
 	type SystemWeightInfo = weights::frame_system::WeightInfo<Runtime>;
-	type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo<Runtime>;
 	type SS58Prefix = SS58Prefix;
 	type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode<Self>;
 	type MaxConsumers = ConstU32<16>;
@@ -233,7 +232,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type WeightToFee = WeightToFee;
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
-	type WeightInfo = weights::pallet_transaction_payment::WeightInfo<Runtime>;
 }
 
 parameter_types! {
@@ -455,7 +453,6 @@ mod benches {
 		[pallet_session, SessionBench::<Runtime>]
 		[pallet_utility, Utility]
 		[pallet_timestamp, Timestamp]
-		[pallet_transaction_payment, TransactionPayment]
 		// Polkadot
 		[polkadot_runtime_common::identity_migrator, IdentityMigrator]
 		// Cumulus
diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/frame_system_extensions.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/frame_system_extensions.rs
deleted file mode 100644
index 1ba2010991f..00000000000
--- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/frame_system_extensions.rs
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `frame_system_extensions`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("people-rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=frame_system_extensions
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights/
-// --chain=people-rococo-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `frame_system_extensions`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_637_000 picoseconds.
-		Weight::from_parts(6_382_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 5_841_000 picoseconds.
-		Weight::from_parts(8_776_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 561_000 picoseconds.
-		Weight::from_parts(2_705_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 3_316_000 picoseconds.
-		Weight::from_parts(5_771_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 511_000 picoseconds.
-		Weight::from_parts(2_575_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 501_000 picoseconds.
-		Weight::from_parts(2_595_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::BlockWeight` (r:1 w:1)
-	/// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1533`
-		// Minimum execution time: 3_687_000 picoseconds.
-		Weight::from_parts(6_192_000, 0)
-			.saturating_add(Weight::from_parts(0, 1533))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
-	}
-}
diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/mod.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/mod.rs
index c4cea99ee5a..3396a8caea0 100644
--- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/mod.rs
+++ b/cumulus/parachains/runtimes/people/people-rococo/src/weights/mod.rs
@@ -20,7 +20,6 @@ pub mod cumulus_pallet_parachain_system;
 pub mod cumulus_pallet_xcmp_queue;
 pub mod extrinsic_weights;
 pub mod frame_system;
-pub mod frame_system_extensions;
 pub mod pallet_balances;
 pub mod pallet_collator_selection;
 pub mod pallet_identity;
@@ -28,7 +27,6 @@ pub mod pallet_message_queue;
 pub mod pallet_multisig;
 pub mod pallet_session;
 pub mod pallet_timestamp;
-pub mod pallet_transaction_payment;
 pub mod pallet_utility;
 pub mod pallet_xcm;
 pub mod paritydb_weights;
diff --git a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_transaction_payment.rs b/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_transaction_payment.rs
deleted file mode 100644
index 555fd5a32fa..00000000000
--- a/cumulus/parachains/runtimes/people/people-rococo/src/weights/pallet_transaction_payment.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_transaction_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("people-rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=pallet_transaction_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/people/people-rococo/src/weights/
-// --chain=people-rococo-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_transaction_payment`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn charge_transaction_payment() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `4`
-		//  Estimated: `3593`
-		// Minimum execution time: 33_363_000 picoseconds.
-		Weight::from_parts(38_793_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-}
diff --git a/cumulus/parachains/runtimes/people/people-westend/Cargo.toml b/cumulus/parachains/runtimes/people/people-westend/Cargo.toml
index 8d8421332c1..e87e825a34e 100644
--- a/cumulus/parachains/runtimes/people/people-westend/Cargo.toml
+++ b/cumulus/parachains/runtimes/people/people-westend/Cargo.toml
@@ -152,7 +152,6 @@ runtime-benchmarks = [
 	"pallet-message-queue/runtime-benchmarks",
 	"pallet-multisig/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"pallet-xcm-benchmarks/runtime-benchmarks",
 	"pallet-xcm/runtime-benchmarks",
diff --git a/cumulus/parachains/runtimes/people/people-westend/src/lib.rs b/cumulus/parachains/runtimes/people/people-westend/src/lib.rs
index dea079a4a98..2dc2d06a66b 100644
--- a/cumulus/parachains/runtimes/people/people-westend/src/lib.rs
+++ b/cumulus/parachains/runtimes/people/people-westend/src/lib.rs
@@ -83,8 +83,8 @@ pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
 
-/// The transactionExtension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -97,7 +97,7 @@ pub type TxExtension = (
 
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 /// Migrations to apply on runtime upgrade.
 pub type Migrations = (
@@ -178,7 +178,6 @@ impl frame_system::Config for Runtime {
 	type Version = Version;
 	type AccountData = pallet_balances::AccountData<Balance>;
 	type SystemWeightInfo = weights::frame_system::WeightInfo<Runtime>;
-	type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo<Runtime>;
 	type SS58Prefix = SS58Prefix;
 	type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode<Self>;
 	type MaxConsumers = ConstU32<16>;
@@ -233,7 +232,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type WeightToFee = WeightToFee;
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
-	type WeightInfo = weights::pallet_transaction_payment::WeightInfo<Runtime>;
 }
 
 parameter_types! {
diff --git a/cumulus/parachains/runtimes/people/people-westend/src/weights/frame_system_extensions.rs b/cumulus/parachains/runtimes/people/people-westend/src/weights/frame_system_extensions.rs
deleted file mode 100644
index 7130a62ab6a..00000000000
--- a/cumulus/parachains/runtimes/people/people-westend/src/weights/frame_system_extensions.rs
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `frame_system_extensions`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("people-westend-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=frame_system_extensions
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/people/people-westend/src/weights/
-// --chain=people-westend-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `frame_system_extensions`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_637_000 picoseconds.
-		Weight::from_parts(6_382_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 5_841_000 picoseconds.
-		Weight::from_parts(8_776_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 561_000 picoseconds.
-		Weight::from_parts(2_705_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 3_316_000 picoseconds.
-		Weight::from_parts(5_771_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 511_000 picoseconds.
-		Weight::from_parts(2_575_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 501_000 picoseconds.
-		Weight::from_parts(2_595_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::BlockWeight` (r:1 w:1)
-	/// Proof: `System::BlockWeight` (`max_values`: Some(1), `max_size`: Some(48), added: 543, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1533`
-		// Minimum execution time: 3_687_000 picoseconds.
-		Weight::from_parts(6_192_000, 0)
-			.saturating_add(Weight::from_parts(0, 1533))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
-	}
-}
diff --git a/cumulus/parachains/runtimes/people/people-westend/src/weights/mod.rs b/cumulus/parachains/runtimes/people/people-westend/src/weights/mod.rs
index c4cea99ee5a..3396a8caea0 100644
--- a/cumulus/parachains/runtimes/people/people-westend/src/weights/mod.rs
+++ b/cumulus/parachains/runtimes/people/people-westend/src/weights/mod.rs
@@ -20,7 +20,6 @@ pub mod cumulus_pallet_parachain_system;
 pub mod cumulus_pallet_xcmp_queue;
 pub mod extrinsic_weights;
 pub mod frame_system;
-pub mod frame_system_extensions;
 pub mod pallet_balances;
 pub mod pallet_collator_selection;
 pub mod pallet_identity;
@@ -28,7 +27,6 @@ pub mod pallet_message_queue;
 pub mod pallet_multisig;
 pub mod pallet_session;
 pub mod pallet_timestamp;
-pub mod pallet_transaction_payment;
 pub mod pallet_utility;
 pub mod pallet_xcm;
 pub mod paritydb_weights;
diff --git a/cumulus/parachains/runtimes/people/people-westend/src/weights/pallet_transaction_payment.rs b/cumulus/parachains/runtimes/people/people-westend/src/weights/pallet_transaction_payment.rs
deleted file mode 100644
index 30e4524e586..00000000000
--- a/cumulus/parachains/runtimes/people/people-westend/src/weights/pallet_transaction_payment.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus 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.
-
-// Cumulus 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 Cumulus.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_transaction_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("people-westend-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --wasm-execution=compiled
-// --pallet=pallet_transaction_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=2
-// --repeat=2
-// --json
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/people/people-westend/src/weights/
-// --chain=people-westend-dev
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_transaction_payment`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn charge_transaction_payment() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `4`
-		//  Estimated: `3593`
-		// Minimum execution time: 33_363_000 picoseconds.
-		Weight::from_parts(38_793_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-}
diff --git a/cumulus/parachains/runtimes/starters/seedling/src/lib.rs b/cumulus/parachains/runtimes/starters/seedling/src/lib.rs
index 023c9978302..4cc0a81ef49 100644
--- a/cumulus/parachains/runtimes/starters/seedling/src/lib.rs
+++ b/cumulus/parachains/runtimes/starters/seedling/src/lib.rs
@@ -258,8 +258,8 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
 	frame_system::CheckGenesis<Runtime>,
@@ -269,7 +269,7 @@ pub type TxExtension = (
 );
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 /// Executive: handles dispatch to the various modules.
 pub type Executive = frame_executive::Executive<
diff --git a/cumulus/parachains/runtimes/starters/shell/src/lib.rs b/cumulus/parachains/runtimes/starters/shell/src/lib.rs
index fedac36e48d..829754731a4 100644
--- a/cumulus/parachains/runtimes/starters/shell/src/lib.rs
+++ b/cumulus/parachains/runtimes/starters/shell/src/lib.rs
@@ -34,19 +34,15 @@ pub mod xcm_config;
 use codec::{Decode, Encode};
 use cumulus_pallet_parachain_system::RelayNumberMonotonicallyIncreases;
 use cumulus_primitives_core::AggregateMessageOrigin;
+use frame_support::unsigned::TransactionValidityError;
 use scale_info::TypeInfo;
 use sp_api::impl_runtime_apis;
 pub use sp_consensus_aura::sr25519::AuthorityId as AuraId;
 use sp_core::{crypto::KeyTypeId, OpaqueMetadata};
 use sp_runtime::{
 	create_runtime_str, generic, impl_opaque_keys,
-	traits::{
-		AccountIdLookup, BlakeTwo256, Block as BlockT, DispatchInfoOf, OriginOf,
-		TransactionExtension, TransactionExtensionBase, ValidateResult,
-	},
-	transaction_validity::{
-		InvalidTransaction, TransactionSource, TransactionValidity, TransactionValidityError,
-	},
+	traits::{AccountIdLookup, BlakeTwo256, Block as BlockT, DispatchInfoOf},
+	transaction_validity::{TransactionSource, TransactionValidity},
 	ApplyExtrinsicResult,
 };
 use sp_std::prelude::*;
@@ -279,37 +275,35 @@ construct_runtime! {
 /// Simple implementation which fails any transaction which is signed.
 #[derive(Eq, PartialEq, Clone, Default, sp_core::RuntimeDebug, Encode, Decode, TypeInfo)]
 pub struct DisallowSigned;
-
-impl TransactionExtensionBase for DisallowSigned {
+impl sp_runtime::traits::SignedExtension for DisallowSigned {
 	const IDENTIFIER: &'static str = "DisallowSigned";
-	type Implicit = ();
-}
-
-impl<C> TransactionExtension<RuntimeCall, C> for DisallowSigned {
-	type Val = ();
+	type AccountId = AccountId;
+	type Call = RuntimeCall;
+	type AdditionalSigned = ();
 	type Pre = ();
-	fn validate(
+	fn additional_signed(
 		&self,
-		_origin: OriginOf<RuntimeCall>,
-		_call: &RuntimeCall,
-		_info: &DispatchInfoOf<RuntimeCall>,
-		_len: usize,
-		_context: &mut C,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> ValidateResult<Self::Val, RuntimeCall> {
-		Err(InvalidTransaction::BadProof.into())
+	) -> sp_std::result::Result<(), sp_runtime::transaction_validity::TransactionValidityError> {
+		Ok(())
 	}
-	fn prepare(
+	fn pre_dispatch(
 		self,
-		_val: Self::Val,
-		_origin: &OriginOf<RuntimeCall>,
-		_call: &RuntimeCall,
-		_info: &DispatchInfoOf<RuntimeCall>,
-		_len: usize,
-		_context: &C,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
 	) -> Result<Self::Pre, TransactionValidityError> {
-		Err(InvalidTransaction::BadProof.into())
+		self.validate(who, call, info, len).map(|_| ())
+	}
+	fn validate(
+		&self,
+		_who: &Self::AccountId,
+		_call: &Self::Call,
+		_info: &sp_runtime::traits::DispatchInfoOf<Self::Call>,
+		_len: usize,
+	) -> TransactionValidity {
+		let i = sp_runtime::transaction_validity::InvalidTransaction::BadProof;
+		Err(sp_runtime::transaction_validity::TransactionValidityError::Invalid(i))
 	}
 }
 
@@ -329,11 +323,11 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
-/// The extension to the basic transaction logic.
-pub type TxExtension = DisallowSigned;
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = DisallowSigned;
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 /// Executive: handles dispatch to the various modules.
 pub type Executive = frame_executive::Executive<
 	Runtime,
diff --git a/cumulus/parachains/runtimes/testing/penpal/Cargo.toml b/cumulus/parachains/runtimes/testing/penpal/Cargo.toml
index 5a8b15740e4..7f3e898d923 100644
--- a/cumulus/parachains/runtimes/testing/penpal/Cargo.toml
+++ b/cumulus/parachains/runtimes/testing/penpal/Cargo.toml
@@ -156,7 +156,6 @@ runtime-benchmarks = [
 	"pallet-message-queue/runtime-benchmarks",
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-xcm/runtime-benchmarks",
 	"parachains-common/runtime-benchmarks",
 	"polkadot-parachain-primitives/runtime-benchmarks",
diff --git a/cumulus/parachains/runtimes/testing/penpal/src/lib.rs b/cumulus/parachains/runtimes/testing/penpal/src/lib.rs
index 62065619e42..0030287edb3 100644
--- a/cumulus/parachains/runtimes/testing/penpal/src/lib.rs
+++ b/cumulus/parachains/runtimes/testing/penpal/src/lib.rs
@@ -114,8 +114,8 @@ pub type BlockId = generic::BlockId<Block>;
 // Id used for identifying assets.
 pub type AssetId = u32;
 
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -128,7 +128,7 @@ pub type TxExtension = (
 
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 pub type Migrations = (
 	pallet_balances::migration::MigrateToTrackInactive<Runtime, xcm_config::CheckingAccount>,
@@ -419,7 +419,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
 	type OperationalFeeMultiplier = ConstU8<5>;
-	type WeightInfo = ();
 }
 
 parameter_types! {
@@ -609,19 +608,6 @@ impl pallet_collator_selection::Config for Runtime {
 	type WeightInfo = ();
 }
 
-#[cfg(feature = "runtime-benchmarks")]
-pub struct AssetTxHelper;
-
-#[cfg(feature = "runtime-benchmarks")]
-impl pallet_asset_tx_payment::BenchmarkHelperTrait<AccountId, u32, u32> for AssetTxHelper {
-	fn create_asset_id_parameter(_id: u32) -> (u32, u32) {
-		unimplemented!("Penpal uses default weights");
-	}
-	fn setup_balances_and_pool(_asset_id: u32, _account: AccountId) {
-		unimplemented!("Penpal uses default weights");
-	}
-}
-
 impl pallet_asset_tx_payment::Config for Runtime {
 	type RuntimeEvent = RuntimeEvent;
 	type Fungibles = Assets;
@@ -634,9 +620,6 @@ impl pallet_asset_tx_payment::Config for Runtime {
 		>,
 		AssetsToBlockAuthor<Runtime>,
 	>;
-	type WeightInfo = ();
-	#[cfg(feature = "runtime-benchmarks")]
-	type BenchmarkHelper = AssetTxHelper;
 }
 
 impl pallet_sudo::Config for Runtime {
@@ -685,7 +668,6 @@ construct_runtime!(
 mod benches {
 	frame_benchmarking::define_benchmarks!(
 		[frame_system, SystemBench::<Runtime>]
-		[frame_system_extensions, SystemExtensionsBench::<Runtime>]
 		[pallet_balances, Balances]
 		[pallet_message_queue, MessageQueue]
 		[pallet_session, SessionBench::<Runtime>]
@@ -869,7 +851,6 @@ impl_runtime_apis! {
 			use frame_benchmarking::{Benchmarking, BenchmarkList};
 			use frame_support::traits::StorageInfoTrait;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use cumulus_pallet_session_benchmarking::Pallet as SessionBench;
 
 			let mut list = Vec::<BenchmarkList>::new();
@@ -886,7 +867,6 @@ impl_runtime_apis! {
 			use sp_storage::TrackedStorageKey;
 
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			impl frame_system_benchmarking::Config for Runtime {}
 
 			use cumulus_pallet_session_benchmarking::Pallet as SessionBench;
diff --git a/cumulus/parachains/runtimes/testing/rococo-parachain/Cargo.toml b/cumulus/parachains/runtimes/testing/rococo-parachain/Cargo.toml
index 2023d9abf5d..42169e8949f 100644
--- a/cumulus/parachains/runtimes/testing/rococo-parachain/Cargo.toml
+++ b/cumulus/parachains/runtimes/testing/rococo-parachain/Cargo.toml
@@ -126,7 +126,6 @@ runtime-benchmarks = [
 	"pallet-message-queue/runtime-benchmarks",
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-xcm/runtime-benchmarks",
 	"parachains-common/runtime-benchmarks",
 	"polkadot-parachain-primitives/runtime-benchmarks",
diff --git a/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs b/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs
index 469f06a1aa6..2b21a12c3ca 100644
--- a/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs
+++ b/cumulus/parachains/runtimes/testing/rococo-parachain/src/lib.rs
@@ -267,7 +267,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = ();
 	type OperationalFeeMultiplier = ConstU8<5>;
-	type WeightInfo = ();
 }
 
 impl pallet_sudo::Config for Runtime {
@@ -645,8 +644,8 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -658,7 +657,7 @@ pub type TxExtension = (
 );
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 /// Executive: handles dispatch to the various modules.
 pub type Executive = frame_executive::Executive<
 	Runtime,
diff --git a/cumulus/polkadot-parachain/Cargo.toml b/cumulus/polkadot-parachain/Cargo.toml
index a92e8a4c12a..84a232e954f 100644
--- a/cumulus/polkadot-parachain/Cargo.toml
+++ b/cumulus/polkadot-parachain/Cargo.toml
@@ -136,7 +136,6 @@ runtime-benchmarks = [
 	"frame-benchmarking/runtime-benchmarks",
 	"frame-support/runtime-benchmarks",
 	"glutton-westend-runtime/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"parachains-common/runtime-benchmarks",
 	"penpal-runtime/runtime-benchmarks",
 	"people-rococo-runtime/runtime-benchmarks",
diff --git a/cumulus/primitives/storage-weight-reclaim/Cargo.toml b/cumulus/primitives/storage-weight-reclaim/Cargo.toml
index 9e8f60783d4..4835fb5192b 100644
--- a/cumulus/primitives/storage-weight-reclaim/Cargo.toml
+++ b/cumulus/primitives/storage-weight-reclaim/Cargo.toml
@@ -14,12 +14,9 @@ codec = { package = "parity-scale-codec", version = "3.0.0", default-features =
 log = { workspace = true }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
 
-frame-benchmarking = { path = "../../../substrate/frame/benchmarking", default-features = false, optional = true }
 frame-support = { path = "../../../substrate/frame/support", default-features = false }
 frame-system = { path = "../../../substrate/frame/system", default-features = false }
 
-sp-core = { path = "../../../substrate/primitives/core", default-features = false }
-sp-io = { path = "../../../substrate/primitives/io", default-features = false }
 sp-runtime = { path = "../../../substrate/primitives/runtime", default-features = false }
 sp-std = { path = "../../../substrate/primitives/std", default-features = false }
 
@@ -29,27 +26,19 @@ docify = "0.2.7"
 
 [dev-dependencies]
 sp-trie = { path = "../../../substrate/primitives/trie", default-features = false }
+sp-io = { path = "../../../substrate/primitives/io", default-features = false }
 cumulus-test-runtime = { path = "../../test/runtime" }
 
 [features]
 default = ["std"]
-runtime-benchmarks = [
-	"cumulus-primitives-core/runtime-benchmarks",
-	"frame-benchmarking/runtime-benchmarks",
-	"frame-support/runtime-benchmarks",
-	"frame-system/runtime-benchmarks",
-	"sp-runtime/runtime-benchmarks",
-]
 std = [
 	"codec/std",
 	"cumulus-primitives-core/std",
 	"cumulus-primitives-proof-size-hostfunction/std",
-	"frame-benchmarking/std",
 	"frame-support/std",
 	"frame-system/std",
 	"log/std",
 	"scale-info/std",
-	"sp-core/std",
 	"sp-io/std",
 	"sp-runtime/std",
 	"sp-std/std",
diff --git a/cumulus/primitives/storage-weight-reclaim/src/benchmarking.rs b/cumulus/primitives/storage-weight-reclaim/src/benchmarking.rs
deleted file mode 100644
index 2980d08271a..00000000000
--- a/cumulus/primitives/storage-weight-reclaim/src/benchmarking.rs
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Benchmarking setup for cumulus-primitives-storage-weight-reclaim
-
-#![cfg(feature = "runtime-benchmarks")]
-
-use super::*;
-
-use frame_benchmarking::{account, v2::*, BenchmarkError};
-use frame_support::pallet_prelude::DispatchClass;
-use frame_system::{BlockWeight, RawOrigin};
-use sp_runtime::traits::{DispatchTransaction, Get};
-use sp_std::{
-	marker::{Send, Sync},
-	prelude::*,
-};
-
-/// Pallet we're benchmarking here.
-pub struct Pallet<T: frame_system::Config>(frame_system::Pallet<T>);
-
-#[benchmarks(where
-    T: Send + Sync,
-    T::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>
-)]
-mod benchmarks {
-	use super::*;
-
-	#[benchmark]
-	fn storage_weight_reclaim() -> Result<(), BenchmarkError> {
-		let caller = account("caller", 0, 0);
-		BlockWeight::<T>::mutate(|current_weight| {
-			current_weight.set(Weight::from_parts(0, 1000), DispatchClass::Normal);
-		});
-		let base_extrinsic = <T as frame_system::Config>::BlockWeights::get()
-			.get(DispatchClass::Normal)
-			.base_extrinsic;
-		let info = DispatchInfo { weight: Weight::from_parts(0, 500), ..Default::default() };
-		let call: T::RuntimeCall = frame_system::Call::remark { remark: vec![] }.into();
-		let post_info = PostDispatchInfo {
-			actual_weight: Some(Weight::from_parts(0, 200)),
-			pays_fee: Default::default(),
-		};
-		let len = 0_usize;
-		let ext = StorageWeightReclaim::<T>::new();
-
-		#[block]
-		{
-			ext.test_run(RawOrigin::Signed(caller).into(), &call, &info, len, |_| Ok(post_info))
-				.unwrap()
-				.unwrap();
-		}
-
-		assert_eq!(BlockWeight::<T>::get().total().proof_size(), 700 + base_extrinsic.proof_size());
-
-		Ok(())
-	}
-}
diff --git a/cumulus/primitives/storage-weight-reclaim/src/lib.rs b/cumulus/primitives/storage-weight-reclaim/src/lib.rs
index 4bb40176b78..5dddc92e395 100644
--- a/cumulus/primitives/storage-weight-reclaim/src/lib.rs
+++ b/cumulus/primitives/storage-weight-reclaim/src/lib.rs
@@ -29,22 +29,12 @@ use frame_support::{
 use frame_system::Config;
 use scale_info::TypeInfo;
 use sp_runtime::{
-	impl_tx_ext_default,
-	traits::{
-		DispatchInfoOf, Dispatchable, PostDispatchInfoOf, TransactionExtension,
-		TransactionExtensionBase,
-	},
+	traits::{DispatchInfoOf, Dispatchable, PostDispatchInfoOf, SignedExtension},
 	transaction_validity::TransactionValidityError,
 	DispatchResult,
 };
 use sp_std::marker::PhantomData;
 
-#[cfg(test)]
-mod tests;
-
-#[cfg(feature = "runtime-benchmarks")]
-mod benchmarking;
-
 const LOG_TARGET: &'static str = "runtime::storage_reclaim";
 
 /// `StorageWeightReclaimer` is a mechanism for manually reclaiming storage weight.
@@ -53,7 +43,7 @@ const LOG_TARGET: &'static str = "runtime::storage_reclaim";
 /// reclaim  it computes the real consumed storage weight and refunds excess weight.
 ///
 /// # Example
-#[doc = docify::embed!("src/tests.rs", simple_reclaimer_example)]
+#[doc = docify::embed!("src/lib.rs", simple_reclaimer_example)]
 pub struct StorageWeightReclaimer {
 	previous_remaining_proof_size: u64,
 	previous_reported_proof_size: Option<u64>,
@@ -129,40 +119,42 @@ impl<T: Config + Send + Sync> core::fmt::Debug for StorageWeightReclaim<T> {
 	}
 }
 
-impl<T: Config + Send + Sync> TransactionExtensionBase for StorageWeightReclaim<T> {
-	const IDENTIFIER: &'static str = "StorageWeightReclaim";
-	type Implicit = ();
-}
-
-impl<T: Config + Send + Sync, Context> TransactionExtension<T::RuntimeCall, Context>
-	for StorageWeightReclaim<T>
+impl<T: Config + Send + Sync> SignedExtension for StorageWeightReclaim<T>
 where
 	T::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
 {
-	type Val = ();
+	const IDENTIFIER: &'static str = "StorageWeightReclaim";
+
+	type AccountId = T::AccountId;
+	type Call = T::RuntimeCall;
+	type AdditionalSigned = ();
 	type Pre = Option<u64>;
 
-	fn prepare(
+	fn additional_signed(
+		&self,
+	) -> Result<Self::AdditionalSigned, sp_runtime::transaction_validity::TransactionValidityError>
+	{
+		Ok(())
+	}
+
+	fn pre_dispatch(
 		self,
-		_val: Self::Val,
-		_origin: &T::RuntimeOrigin,
-		_call: &T::RuntimeCall,
-		_info: &DispatchInfoOf<T::RuntimeCall>,
+		_who: &Self::AccountId,
+		_call: &Self::Call,
+		_info: &sp_runtime::traits::DispatchInfoOf<Self::Call>,
 		_len: usize,
-		_context: &Context,
-	) -> Result<Self::Pre, TransactionValidityError> {
+	) -> Result<Self::Pre, sp_runtime::transaction_validity::TransactionValidityError> {
 		Ok(get_proof_size())
 	}
 
 	fn post_dispatch(
-		pre: Self::Pre,
-		info: &DispatchInfoOf<T::RuntimeCall>,
-		post_info: &PostDispatchInfoOf<T::RuntimeCall>,
+		pre: Option<Self::Pre>,
+		info: &DispatchInfoOf<Self::Call>,
+		post_info: &PostDispatchInfoOf<Self::Call>,
 		_len: usize,
 		_result: &DispatchResult,
-		_context: &Context,
 	) -> Result<(), TransactionValidityError> {
-		let Some(pre_dispatch_proof_size) = pre else {
+		let Some(Some(pre_dispatch_proof_size)) = pre else {
 			return Ok(());
 		};
 
@@ -202,6 +194,470 @@ where
 		});
 		Ok(())
 	}
+}
+
+#[cfg(test)]
+mod tests {
+	use super::*;
+	use frame_support::{
+		assert_ok,
+		dispatch::DispatchClass,
+		weights::{Weight, WeightMeter},
+	};
+	use frame_system::{BlockWeight, CheckWeight};
+	use sp_runtime::{AccountId32, BuildStorage};
+	use sp_std::marker::PhantomData;
+	use sp_trie::proof_size_extension::ProofSizeExt;
+
+	type Test = cumulus_test_runtime::Runtime;
+	const CALL: &<Test as Config>::RuntimeCall =
+		&cumulus_test_runtime::RuntimeCall::System(frame_system::Call::set_heap_pages {
+			pages: 0u64,
+		});
+	const ALICE: AccountId32 = AccountId32::new([1u8; 32]);
+	const LEN: usize = 0;
+
+	pub fn new_test_ext() -> sp_io::TestExternalities {
+		let ext: sp_io::TestExternalities = cumulus_test_runtime::RuntimeGenesisConfig::default()
+			.build_storage()
+			.unwrap()
+			.into();
+		ext
+	}
+
+	struct TestRecorder {
+		return_values: Box<[usize]>,
+		counter: std::sync::atomic::AtomicUsize,
+	}
+
+	impl TestRecorder {
+		fn new(values: &[usize]) -> Self {
+			TestRecorder { return_values: values.into(), counter: Default::default() }
+		}
+	}
+
+	impl sp_trie::ProofSizeProvider for TestRecorder {
+		fn estimate_encoded_size(&self) -> usize {
+			let counter = self.counter.fetch_add(1, core::sync::atomic::Ordering::Relaxed);
+			self.return_values[counter]
+		}
+	}
+
+	fn setup_test_externalities(proof_values: &[usize]) -> sp_io::TestExternalities {
+		let mut test_ext = new_test_ext();
+		let test_recorder = TestRecorder::new(proof_values);
+		test_ext.register_extension(ProofSizeExt::new(test_recorder));
+		test_ext
+	}
+
+	fn set_current_storage_weight(new_weight: u64) {
+		BlockWeight::<Test>::mutate(|current_weight| {
+			current_weight.set(Weight::from_parts(0, new_weight), DispatchClass::Normal);
+		});
+	}
+
+	#[test]
+	fn basic_refund() {
+		// The real cost will be 100 bytes of storage size
+		let mut test_ext = setup_test_externalities(&[0, 100]);
+
+		test_ext.execute_with(|| {
+			set_current_storage_weight(1000);
+
+			// Benchmarked storage weight: 500
+			let info = DispatchInfo { weight: Weight::from_parts(0, 500), ..Default::default() };
+			let post_info = PostDispatchInfo::default();
+
+			let pre = StorageWeightReclaim::<Test>(PhantomData)
+				.pre_dispatch(&ALICE, CALL, &info, LEN)
+				.unwrap();
+			assert_eq!(pre, Some(0));
+
+			assert_ok!(CheckWeight::<Test>::post_dispatch(None, &info, &post_info, 0, &Ok(())));
+			// We expect a refund of 400
+			assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
+				Some(pre),
+				&info,
+				&post_info,
+				LEN,
+				&Ok(())
+			));
+
+			assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 600);
+		})
+	}
+
+	#[test]
+	fn does_nothing_without_extension() {
+		let mut test_ext = new_test_ext();
+
+		// Proof size extension not registered
+		test_ext.execute_with(|| {
+			set_current_storage_weight(1000);
+
+			// Benchmarked storage weight: 500
+			let info = DispatchInfo { weight: Weight::from_parts(0, 500), ..Default::default() };
+			let post_info = PostDispatchInfo::default();
+
+			let pre = StorageWeightReclaim::<Test>(PhantomData)
+				.pre_dispatch(&ALICE, CALL, &info, LEN)
+				.unwrap();
+			assert_eq!(pre, None);
+
+			assert_ok!(CheckWeight::<Test>::post_dispatch(None, &info, &post_info, 0, &Ok(())));
+			assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
+				Some(pre),
+				&info,
+				&post_info,
+				LEN,
+				&Ok(())
+			));
+
+			assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 1000);
+		})
+	}
+
+	#[test]
+	fn negative_refund_is_added_to_weight() {
+		let mut test_ext = setup_test_externalities(&[100, 300]);
+
+		test_ext.execute_with(|| {
+			set_current_storage_weight(1000);
+			// Benchmarked storage weight: 100
+			let info = DispatchInfo { weight: Weight::from_parts(0, 100), ..Default::default() };
+			let post_info = PostDispatchInfo::default();
+
+			let pre = StorageWeightReclaim::<Test>(PhantomData)
+				.pre_dispatch(&ALICE, CALL, &info, LEN)
+				.unwrap();
+			assert_eq!(pre, Some(100));
+
+			// We expect no refund
+			assert_ok!(CheckWeight::<Test>::post_dispatch(None, &info, &post_info, 0, &Ok(())));
+			assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
+				Some(pre),
+				&info,
+				&post_info,
+				LEN,
+				&Ok(())
+			));
+
+			assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 1100);
+		})
+	}
+
+	#[test]
+	fn test_zero_proof_size() {
+		let mut test_ext = setup_test_externalities(&[0, 0]);
+
+		test_ext.execute_with(|| {
+			let info = DispatchInfo { weight: Weight::from_parts(0, 500), ..Default::default() };
+			let post_info = PostDispatchInfo::default();
+
+			let pre = StorageWeightReclaim::<Test>(PhantomData)
+				.pre_dispatch(&ALICE, CALL, &info, LEN)
+				.unwrap();
+			assert_eq!(pre, Some(0));
+
+			assert_ok!(CheckWeight::<Test>::post_dispatch(None, &info, &post_info, 0, &Ok(())));
+			assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
+				Some(pre),
+				&info,
+				&post_info,
+				LEN,
+				&Ok(())
+			));
+
+			assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 0);
+		});
+	}
+
+	#[test]
+	fn test_larger_pre_dispatch_proof_size() {
+		let mut test_ext = setup_test_externalities(&[300, 100]);
+
+		test_ext.execute_with(|| {
+			set_current_storage_weight(1300);
+
+			let info = DispatchInfo { weight: Weight::from_parts(0, 500), ..Default::default() };
+			let post_info = PostDispatchInfo::default();
+
+			let pre = StorageWeightReclaim::<Test>(PhantomData)
+				.pre_dispatch(&ALICE, CALL, &info, LEN)
+				.unwrap();
+			assert_eq!(pre, Some(300));
+
+			assert_ok!(CheckWeight::<Test>::post_dispatch(None, &info, &post_info, 0, &Ok(())));
+			assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
+				Some(pre),
+				&info,
+				&post_info,
+				LEN,
+				&Ok(())
+			));
+
+			assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 800);
+		});
+	}
+
+	#[test]
+	fn test_incorporates_check_weight_unspent_weight() {
+		let mut test_ext = setup_test_externalities(&[100, 300]);
+
+		test_ext.execute_with(|| {
+			set_current_storage_weight(1000);
+
+			// Benchmarked storage weight: 300
+			let info = DispatchInfo { weight: Weight::from_parts(100, 300), ..Default::default() };
+
+			// Actual weight is 50
+			let post_info = PostDispatchInfo {
+				actual_weight: Some(Weight::from_parts(50, 250)),
+				pays_fee: Default::default(),
+			};
+
+			let pre = StorageWeightReclaim::<Test>(PhantomData)
+				.pre_dispatch(&ALICE, CALL, &info, LEN)
+				.unwrap();
+			assert_eq!(pre, Some(100));
+
+			// The `CheckWeight` extension will refunt `actual_weight` from `PostDispatchInfo`
+			// we always need to call `post_dispatch` to verify that they interoperate correctly.
+			assert_ok!(CheckWeight::<Test>::post_dispatch(None, &info, &post_info, 0, &Ok(())));
+			assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
+				Some(pre),
+				&info,
+				&post_info,
+				LEN,
+				&Ok(())
+			));
+
+			assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 900);
+		})
+	}
+
+	#[test]
+	fn test_incorporates_check_weight_unspent_weight_on_negative() {
+		let mut test_ext = setup_test_externalities(&[100, 300]);
+
+		test_ext.execute_with(|| {
+			set_current_storage_weight(1000);
+			// Benchmarked storage weight: 50
+			let info = DispatchInfo { weight: Weight::from_parts(100, 50), ..Default::default() };
+
+			// Actual weight is 25
+			let post_info = PostDispatchInfo {
+				actual_weight: Some(Weight::from_parts(50, 25)),
+				pays_fee: Default::default(),
+			};
+
+			let pre = StorageWeightReclaim::<Test>(PhantomData)
+				.pre_dispatch(&ALICE, CALL, &info, LEN)
+				.unwrap();
+			assert_eq!(pre, Some(100));
+
+			// The `CheckWeight` extension will refunt `actual_weight` from `PostDispatchInfo`
+			// we always need to call `post_dispatch` to verify that they interoperate correctly.
+			assert_ok!(CheckWeight::<Test>::post_dispatch(None, &info, &post_info, 0, &Ok(())));
+			assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
+				Some(pre),
+				&info,
+				&post_info,
+				LEN,
+				&Ok(())
+			));
+
+			assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 1150);
+		})
+	}
+
+	#[test]
+	fn test_incorporates_check_weight_unspent_weight_reverse_order() {
+		let mut test_ext = setup_test_externalities(&[100, 300]);
+
+		test_ext.execute_with(|| {
+			set_current_storage_weight(1000);
+
+			// Benchmarked storage weight: 300
+			let info = DispatchInfo { weight: Weight::from_parts(100, 300), ..Default::default() };
+
+			// Actual weight is 50
+			let post_info = PostDispatchInfo {
+				actual_weight: Some(Weight::from_parts(50, 250)),
+				pays_fee: Default::default(),
+			};
+
+			let pre = StorageWeightReclaim::<Test>(PhantomData)
+				.pre_dispatch(&ALICE, CALL, &info, LEN)
+				.unwrap();
+			assert_eq!(pre, Some(100));
+
+			assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
+				Some(pre),
+				&info,
+				&post_info,
+				LEN,
+				&Ok(())
+			));
+			// `CheckWeight` gets called after `StorageWeightReclaim` this time.
+			// The `CheckWeight` extension will refunt `actual_weight` from `PostDispatchInfo`
+			// we always need to call `post_dispatch` to verify that they interoperate correctly.
+			assert_ok!(CheckWeight::<Test>::post_dispatch(None, &info, &post_info, 0, &Ok(())));
+
+			assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 900);
+		})
+	}
+
+	#[test]
+	fn test_incorporates_check_weight_unspent_weight_on_negative_reverse_order() {
+		let mut test_ext = setup_test_externalities(&[100, 300]);
+
+		test_ext.execute_with(|| {
+			set_current_storage_weight(1000);
+			// Benchmarked storage weight: 50
+			let info = DispatchInfo { weight: Weight::from_parts(100, 50), ..Default::default() };
 
-	impl_tx_ext_default!(T::RuntimeCall; Context; validate);
+			// Actual weight is 25
+			let post_info = PostDispatchInfo {
+				actual_weight: Some(Weight::from_parts(50, 25)),
+				pays_fee: Default::default(),
+			};
+
+			let pre = StorageWeightReclaim::<Test>(PhantomData)
+				.pre_dispatch(&ALICE, CALL, &info, LEN)
+				.unwrap();
+			assert_eq!(pre, Some(100));
+
+			assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
+				Some(pre),
+				&info,
+				&post_info,
+				LEN,
+				&Ok(())
+			));
+			// `CheckWeight` gets called after `StorageWeightReclaim` this time.
+			// The `CheckWeight` extension will refunt `actual_weight` from `PostDispatchInfo`
+			// we always need to call `post_dispatch` to verify that they interoperate correctly.
+			assert_ok!(CheckWeight::<Test>::post_dispatch(None, &info, &post_info, 0, &Ok(())));
+
+			assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 1150);
+		})
+	}
+
+	#[test]
+	fn storage_size_reported_correctly() {
+		let mut test_ext = setup_test_externalities(&[1000]);
+		test_ext.execute_with(|| {
+			assert_eq!(get_proof_size(), Some(1000));
+		});
+
+		let mut test_ext = new_test_ext();
+
+		let test_recorder = TestRecorder::new(&[0]);
+
+		test_ext.register_extension(ProofSizeExt::new(test_recorder));
+
+		test_ext.execute_with(|| {
+			assert_eq!(get_proof_size(), Some(0));
+		});
+	}
+
+	#[test]
+	fn storage_size_disabled_reported_correctly() {
+		let mut test_ext = setup_test_externalities(&[PROOF_RECORDING_DISABLED as usize]);
+
+		test_ext.execute_with(|| {
+			assert_eq!(get_proof_size(), None);
+		});
+	}
+
+	#[test]
+	fn test_reclaim_helper() {
+		let mut test_ext = setup_test_externalities(&[1000, 1300, 1800]);
+
+		test_ext.execute_with(|| {
+			let mut remaining_weight_meter = WeightMeter::with_limit(Weight::from_parts(0, 2000));
+			let mut reclaim_helper = StorageWeightReclaimer::new(&remaining_weight_meter);
+			remaining_weight_meter.consume(Weight::from_parts(0, 500));
+			let reclaimed = reclaim_helper.reclaim_with_meter(&mut remaining_weight_meter);
+
+			assert_eq!(reclaimed, Some(Weight::from_parts(0, 200)));
+
+			remaining_weight_meter.consume(Weight::from_parts(0, 800));
+			let reclaimed = reclaim_helper.reclaim_with_meter(&mut remaining_weight_meter);
+			assert_eq!(reclaimed, Some(Weight::from_parts(0, 300)));
+			assert_eq!(remaining_weight_meter.remaining(), Weight::from_parts(0, 1200));
+		});
+	}
+
+	#[test]
+	fn test_reclaim_helper_does_not_reclaim_negative() {
+		// Benchmarked weight does not change at all
+		let mut test_ext = setup_test_externalities(&[1000, 1300]);
+
+		test_ext.execute_with(|| {
+			let mut remaining_weight_meter = WeightMeter::with_limit(Weight::from_parts(0, 1000));
+			let mut reclaim_helper = StorageWeightReclaimer::new(&remaining_weight_meter);
+			let reclaimed = reclaim_helper.reclaim_with_meter(&mut remaining_weight_meter);
+
+			assert_eq!(reclaimed, Some(Weight::from_parts(0, 0)));
+			assert_eq!(remaining_weight_meter.remaining(), Weight::from_parts(0, 1000));
+		});
+
+		// Benchmarked weight increases less than storage proof consumes
+		let mut test_ext = setup_test_externalities(&[1000, 1300]);
+
+		test_ext.execute_with(|| {
+			let mut remaining_weight_meter = WeightMeter::with_limit(Weight::from_parts(0, 1000));
+			let mut reclaim_helper = StorageWeightReclaimer::new(&remaining_weight_meter);
+			remaining_weight_meter.consume(Weight::from_parts(0, 0));
+			let reclaimed = reclaim_helper.reclaim_with_meter(&mut remaining_weight_meter);
+
+			assert_eq!(reclaimed, Some(Weight::from_parts(0, 0)));
+		});
+	}
+
+	/// Just here for doc purposes
+	fn get_benched_weight() -> Weight {
+		Weight::from_parts(0, 5)
+	}
+
+	/// Just here for doc purposes
+	fn do_work() {}
+
+	#[docify::export_content(simple_reclaimer_example)]
+	fn reclaim_with_weight_meter() {
+		let mut remaining_weight_meter = WeightMeter::with_limit(Weight::from_parts(10, 10));
+
+		let benched_weight = get_benched_weight();
+
+		// It is important to instantiate the `StorageWeightReclaimer` before we consume the weight
+		// for a piece of work from the weight meter.
+		let mut reclaim_helper = StorageWeightReclaimer::new(&remaining_weight_meter);
+
+		if remaining_weight_meter.try_consume(benched_weight).is_ok() {
+			// Perform some work that takes has `benched_weight` storage weight.
+			do_work();
+
+			// Reclaimer will detect that we only consumed 2 bytes, so 3 bytes are reclaimed.
+			let reclaimed = reclaim_helper.reclaim_with_meter(&mut remaining_weight_meter);
+
+			// We reclaimed 3 bytes of storage size!
+			assert_eq!(reclaimed, Some(Weight::from_parts(0, 3)));
+			assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 10);
+			assert_eq!(remaining_weight_meter.remaining(), Weight::from_parts(10, 8));
+		}
+	}
+
+	#[test]
+	fn test_reclaim_helper_works_with_meter() {
+		// The node will report 12 - 10 = 2 consumed storage size between the calls.
+		let mut test_ext = setup_test_externalities(&[10, 12]);
+
+		test_ext.execute_with(|| {
+			// Initial storage size is 10.
+			set_current_storage_weight(10);
+			reclaim_with_weight_meter();
+		});
+	}
 }
diff --git a/cumulus/primitives/storage-weight-reclaim/src/tests.rs b/cumulus/primitives/storage-weight-reclaim/src/tests.rs
deleted file mode 100644
index 631827cf442..00000000000
--- a/cumulus/primitives/storage-weight-reclaim/src/tests.rs
+++ /dev/null
@@ -1,484 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-use super::*;
-use frame_support::{
-	assert_ok,
-	dispatch::DispatchClass,
-	weights::{Weight, WeightMeter},
-};
-use frame_system::{BlockWeight, CheckWeight};
-use sp_runtime::{traits::DispatchTransaction, AccountId32, BuildStorage};
-use sp_std::marker::PhantomData;
-use sp_trie::proof_size_extension::ProofSizeExt;
-
-type Test = cumulus_test_runtime::Runtime;
-const CALL: &<Test as Config>::RuntimeCall =
-	&cumulus_test_runtime::RuntimeCall::System(frame_system::Call::set_heap_pages { pages: 0u64 });
-const ALICE: AccountId32 = AccountId32::new([1u8; 32]);
-const LEN: usize = 0;
-
-fn new_test_ext() -> sp_io::TestExternalities {
-	let ext: sp_io::TestExternalities = cumulus_test_runtime::RuntimeGenesisConfig::default()
-		.build_storage()
-		.unwrap()
-		.into();
-	ext
-}
-
-struct TestRecorder {
-	return_values: Box<[usize]>,
-	counter: std::sync::atomic::AtomicUsize,
-}
-
-impl TestRecorder {
-	fn new(values: &[usize]) -> Self {
-		TestRecorder { return_values: values.into(), counter: Default::default() }
-	}
-}
-
-impl sp_trie::ProofSizeProvider for TestRecorder {
-	fn estimate_encoded_size(&self) -> usize {
-		let counter = self.counter.fetch_add(1, core::sync::atomic::Ordering::Relaxed);
-		self.return_values[counter]
-	}
-}
-
-fn setup_test_externalities(proof_values: &[usize]) -> sp_io::TestExternalities {
-	let mut test_ext = new_test_ext();
-	let test_recorder = TestRecorder::new(proof_values);
-	test_ext.register_extension(ProofSizeExt::new(test_recorder));
-	test_ext
-}
-
-fn set_current_storage_weight(new_weight: u64) {
-	BlockWeight::<Test>::mutate(|current_weight| {
-		current_weight.set(Weight::from_parts(0, new_weight), DispatchClass::Normal);
-	});
-}
-
-#[test]
-fn basic_refund() {
-	// The real cost will be 100 bytes of storage size
-	let mut test_ext = setup_test_externalities(&[0, 100]);
-
-	test_ext.execute_with(|| {
-		set_current_storage_weight(1000);
-
-		// Benchmarked storage weight: 500
-		let info = DispatchInfo { weight: Weight::from_parts(0, 500), ..Default::default() };
-		let post_info = PostDispatchInfo::default();
-
-		let (pre, _) = StorageWeightReclaim::<Test>(PhantomData)
-			.validate_and_prepare(Some(ALICE.clone()).into(), CALL, &info, LEN)
-			.unwrap();
-		assert_eq!(pre, Some(0));
-
-		assert_ok!(CheckWeight::<Test>::post_dispatch((), &info, &post_info, 0, &Ok(()), &()));
-		// We expect a refund of 400
-		assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
-			pre,
-			&info,
-			&post_info,
-			LEN,
-			&Ok(()),
-			&()
-		));
-
-		assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 600);
-	})
-}
-
-#[test]
-fn does_nothing_without_extension() {
-	let mut test_ext = new_test_ext();
-
-	// Proof size extension not registered
-	test_ext.execute_with(|| {
-		set_current_storage_weight(1000);
-
-		// Benchmarked storage weight: 500
-		let info = DispatchInfo { weight: Weight::from_parts(0, 500), ..Default::default() };
-		let post_info = PostDispatchInfo::default();
-
-		let (pre, _) = StorageWeightReclaim::<Test>(PhantomData)
-			.validate_and_prepare(Some(ALICE.clone()).into(), CALL, &info, LEN)
-			.unwrap();
-		assert_eq!(pre, None);
-
-		assert_ok!(CheckWeight::<Test>::post_dispatch((), &info, &post_info, 0, &Ok(()), &()));
-		assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
-			pre,
-			&info,
-			&post_info,
-			LEN,
-			&Ok(()),
-			&()
-		));
-
-		assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 1000);
-	})
-}
-
-#[test]
-fn negative_refund_is_added_to_weight() {
-	let mut test_ext = setup_test_externalities(&[100, 300]);
-
-	test_ext.execute_with(|| {
-		set_current_storage_weight(1000);
-		// Benchmarked storage weight: 100
-		let info = DispatchInfo { weight: Weight::from_parts(0, 100), ..Default::default() };
-		let post_info = PostDispatchInfo::default();
-
-		let (pre, _) = StorageWeightReclaim::<Test>(PhantomData)
-			.validate_and_prepare(Some(ALICE.clone()).into(), CALL, &info, LEN)
-			.unwrap();
-		assert_eq!(pre, Some(100));
-
-		// We expect no refund
-		assert_ok!(CheckWeight::<Test>::post_dispatch((), &info, &post_info, 0, &Ok(()), &()));
-		assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
-			pre,
-			&info,
-			&post_info,
-			LEN,
-			&Ok(()),
-			&()
-		));
-
-		assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 1100);
-	})
-}
-
-#[test]
-fn test_zero_proof_size() {
-	let mut test_ext = setup_test_externalities(&[0, 0]);
-
-	test_ext.execute_with(|| {
-		let info = DispatchInfo { weight: Weight::from_parts(0, 500), ..Default::default() };
-		let post_info = PostDispatchInfo::default();
-
-		let (pre, _) = StorageWeightReclaim::<Test>(PhantomData)
-			.validate_and_prepare(Some(ALICE.clone()).into(), CALL, &info, LEN)
-			.unwrap();
-		assert_eq!(pre, Some(0));
-
-		assert_ok!(CheckWeight::<Test>::post_dispatch((), &info, &post_info, 0, &Ok(()), &()));
-		assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
-			pre,
-			&info,
-			&post_info,
-			LEN,
-			&Ok(()),
-			&()
-		));
-
-		assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 0);
-	});
-}
-
-#[test]
-fn test_larger_pre_dispatch_proof_size() {
-	let mut test_ext = setup_test_externalities(&[300, 100]);
-
-	test_ext.execute_with(|| {
-		set_current_storage_weight(1300);
-
-		let info = DispatchInfo { weight: Weight::from_parts(0, 500), ..Default::default() };
-		let post_info = PostDispatchInfo::default();
-
-		let (pre, _) = StorageWeightReclaim::<Test>(PhantomData)
-			.validate_and_prepare(Some(ALICE.clone()).into(), CALL, &info, LEN)
-			.unwrap();
-		assert_eq!(pre, Some(300));
-
-		assert_ok!(CheckWeight::<Test>::post_dispatch((), &info, &post_info, 0, &Ok(()), &()));
-		assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
-			pre,
-			&info,
-			&post_info,
-			LEN,
-			&Ok(()),
-			&()
-		));
-
-		assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 800);
-	});
-}
-
-#[test]
-fn test_incorporates_check_weight_unspent_weight() {
-	let mut test_ext = setup_test_externalities(&[100, 300]);
-
-	test_ext.execute_with(|| {
-		set_current_storage_weight(1000);
-
-		// Benchmarked storage weight: 300
-		let info = DispatchInfo { weight: Weight::from_parts(100, 300), ..Default::default() };
-
-		// Actual weight is 50
-		let post_info = PostDispatchInfo {
-			actual_weight: Some(Weight::from_parts(50, 250)),
-			pays_fee: Default::default(),
-		};
-
-		let (pre, _) = StorageWeightReclaim::<Test>(PhantomData)
-			.validate_and_prepare(Some(ALICE.clone()).into(), CALL, &info, LEN)
-			.unwrap();
-		assert_eq!(pre, Some(100));
-
-		// The `CheckWeight` extension will refunt `actual_weight` from `PostDispatchInfo`
-		// we always need to call `post_dispatch` to verify that they interoperate correctly.
-		assert_ok!(CheckWeight::<Test>::post_dispatch((), &info, &post_info, 0, &Ok(()), &()));
-		assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
-			pre,
-			&info,
-			&post_info,
-			LEN,
-			&Ok(()),
-			&()
-		));
-
-		assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 900);
-	})
-}
-
-#[test]
-fn test_incorporates_check_weight_unspent_weight_on_negative() {
-	let mut test_ext = setup_test_externalities(&[100, 300]);
-
-	test_ext.execute_with(|| {
-		set_current_storage_weight(1000);
-		// Benchmarked storage weight: 50
-		let info = DispatchInfo { weight: Weight::from_parts(100, 50), ..Default::default() };
-
-		// Actual weight is 25
-		let post_info = PostDispatchInfo {
-			actual_weight: Some(Weight::from_parts(50, 25)),
-			pays_fee: Default::default(),
-		};
-
-		let (pre, _) = StorageWeightReclaim::<Test>(PhantomData)
-			.validate_and_prepare(Some(ALICE.clone()).into(), CALL, &info, LEN)
-			.unwrap();
-		assert_eq!(pre, Some(100));
-
-		// The `CheckWeight` extension will refunt `actual_weight` from `PostDispatchInfo`
-		// we always need to call `post_dispatch` to verify that they interoperate correctly.
-		assert_ok!(CheckWeight::<Test>::post_dispatch((), &info, &post_info, 0, &Ok(()), &()));
-		assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
-			pre,
-			&info,
-			&post_info,
-			LEN,
-			&Ok(()),
-			&()
-		));
-
-		assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 1150);
-	})
-}
-
-#[test]
-fn test_incorporates_check_weight_unspent_weight_reverse_order() {
-	let mut test_ext = setup_test_externalities(&[100, 300]);
-
-	test_ext.execute_with(|| {
-		set_current_storage_weight(1000);
-
-		// Benchmarked storage weight: 300
-		let info = DispatchInfo { weight: Weight::from_parts(100, 300), ..Default::default() };
-
-		// Actual weight is 50
-		let post_info = PostDispatchInfo {
-			actual_weight: Some(Weight::from_parts(50, 250)),
-			pays_fee: Default::default(),
-		};
-
-		let (pre, _) = StorageWeightReclaim::<Test>(PhantomData)
-			.validate_and_prepare(Some(ALICE.clone()).into(), CALL, &info, LEN)
-			.unwrap();
-		assert_eq!(pre, Some(100));
-
-		assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
-			pre,
-			&info,
-			&post_info,
-			LEN,
-			&Ok(()),
-			&()
-		));
-		// `CheckWeight` gets called after `StorageWeightReclaim` this time.
-		// The `CheckWeight` extension will refunt `actual_weight` from `PostDispatchInfo`
-		// we always need to call `post_dispatch` to verify that they interoperate correctly.
-		assert_ok!(CheckWeight::<Test>::post_dispatch((), &info, &post_info, 0, &Ok(()), &()));
-
-		assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 900);
-	})
-}
-
-#[test]
-fn test_incorporates_check_weight_unspent_weight_on_negative_reverse_order() {
-	let mut test_ext = setup_test_externalities(&[100, 300]);
-
-	test_ext.execute_with(|| {
-		set_current_storage_weight(1000);
-		// Benchmarked storage weight: 50
-		let info = DispatchInfo { weight: Weight::from_parts(100, 50), ..Default::default() };
-
-		// Actual weight is 25
-		let post_info = PostDispatchInfo {
-			actual_weight: Some(Weight::from_parts(50, 25)),
-			pays_fee: Default::default(),
-		};
-
-		let (pre, _) = StorageWeightReclaim::<Test>(PhantomData)
-			.validate_and_prepare(Some(ALICE.clone()).into(), CALL, &info, LEN)
-			.unwrap();
-		assert_eq!(pre, Some(100));
-
-		assert_ok!(StorageWeightReclaim::<Test>::post_dispatch(
-			pre,
-			&info,
-			&post_info,
-			LEN,
-			&Ok(()),
-			&()
-		));
-		// `CheckWeight` gets called after `StorageWeightReclaim` this time.
-		// The `CheckWeight` extension will refunt `actual_weight` from `PostDispatchInfo`
-		// we always need to call `post_dispatch` to verify that they interoperate correctly.
-		assert_ok!(CheckWeight::<Test>::post_dispatch((), &info, &post_info, 0, &Ok(()), &()));
-
-		assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 1150);
-	})
-}
-
-#[test]
-fn storage_size_reported_correctly() {
-	let mut test_ext = setup_test_externalities(&[1000]);
-	test_ext.execute_with(|| {
-		assert_eq!(get_proof_size(), Some(1000));
-	});
-
-	let mut test_ext = new_test_ext();
-
-	let test_recorder = TestRecorder::new(&[0]);
-
-	test_ext.register_extension(ProofSizeExt::new(test_recorder));
-
-	test_ext.execute_with(|| {
-		assert_eq!(get_proof_size(), Some(0));
-	});
-}
-
-#[test]
-fn storage_size_disabled_reported_correctly() {
-	let mut test_ext = setup_test_externalities(&[PROOF_RECORDING_DISABLED as usize]);
-
-	test_ext.execute_with(|| {
-		assert_eq!(get_proof_size(), None);
-	});
-}
-
-#[test]
-fn test_reclaim_helper() {
-	let mut test_ext = setup_test_externalities(&[1000, 1300, 1800]);
-
-	test_ext.execute_with(|| {
-		let mut remaining_weight_meter = WeightMeter::with_limit(Weight::from_parts(0, 2000));
-		let mut reclaim_helper = StorageWeightReclaimer::new(&remaining_weight_meter);
-		remaining_weight_meter.consume(Weight::from_parts(0, 500));
-		let reclaimed = reclaim_helper.reclaim_with_meter(&mut remaining_weight_meter);
-
-		assert_eq!(reclaimed, Some(Weight::from_parts(0, 200)));
-
-		remaining_weight_meter.consume(Weight::from_parts(0, 800));
-		let reclaimed = reclaim_helper.reclaim_with_meter(&mut remaining_weight_meter);
-		assert_eq!(reclaimed, Some(Weight::from_parts(0, 300)));
-		assert_eq!(remaining_weight_meter.remaining(), Weight::from_parts(0, 1200));
-	});
-}
-
-#[test]
-fn test_reclaim_helper_does_not_reclaim_negative() {
-	// Benchmarked weight does not change at all
-	let mut test_ext = setup_test_externalities(&[1000, 1300]);
-
-	test_ext.execute_with(|| {
-		let mut remaining_weight_meter = WeightMeter::with_limit(Weight::from_parts(0, 1000));
-		let mut reclaim_helper = StorageWeightReclaimer::new(&remaining_weight_meter);
-		let reclaimed = reclaim_helper.reclaim_with_meter(&mut remaining_weight_meter);
-
-		assert_eq!(reclaimed, Some(Weight::from_parts(0, 0)));
-		assert_eq!(remaining_weight_meter.remaining(), Weight::from_parts(0, 1000));
-	});
-
-	// Benchmarked weight increases less than storage proof consumes
-	let mut test_ext = setup_test_externalities(&[1000, 1300]);
-
-	test_ext.execute_with(|| {
-		let mut remaining_weight_meter = WeightMeter::with_limit(Weight::from_parts(0, 1000));
-		let mut reclaim_helper = StorageWeightReclaimer::new(&remaining_weight_meter);
-		remaining_weight_meter.consume(Weight::from_parts(0, 0));
-		let reclaimed = reclaim_helper.reclaim_with_meter(&mut remaining_weight_meter);
-
-		assert_eq!(reclaimed, Some(Weight::from_parts(0, 0)));
-	});
-}
-
-/// Just here for doc purposes
-fn get_benched_weight() -> Weight {
-	Weight::from_parts(0, 5)
-}
-
-/// Just here for doc purposes
-fn do_work() {}
-
-#[docify::export_content(simple_reclaimer_example)]
-fn reclaim_with_weight_meter() {
-	let mut remaining_weight_meter = WeightMeter::with_limit(Weight::from_parts(10, 10));
-
-	let benched_weight = get_benched_weight();
-
-	// It is important to instantiate the `StorageWeightReclaimer` before we consume the weight
-	// for a piece of work from the weight meter.
-	let mut reclaim_helper = StorageWeightReclaimer::new(&remaining_weight_meter);
-
-	if remaining_weight_meter.try_consume(benched_weight).is_ok() {
-		// Perform some work that takes has `benched_weight` storage weight.
-		do_work();
-
-		// Reclaimer will detect that we only consumed 2 bytes, so 3 bytes are reclaimed.
-		let reclaimed = reclaim_helper.reclaim_with_meter(&mut remaining_weight_meter);
-
-		// We reclaimed 3 bytes of storage size!
-		assert_eq!(reclaimed, Some(Weight::from_parts(0, 3)));
-		assert_eq!(BlockWeight::<Test>::get().total().proof_size(), 10);
-		assert_eq!(remaining_weight_meter.remaining(), Weight::from_parts(10, 8));
-	}
-}
-
-#[test]
-fn test_reclaim_helper_works_with_meter() {
-	// The node will report 12 - 10 = 2 consumed storage size between the calls.
-	let mut test_ext = setup_test_externalities(&[10, 12]);
-
-	test_ext.execute_with(|| {
-		// Initial storage size is 10.
-		set_current_storage_weight(10);
-		reclaim_with_weight_meter();
-	});
-}
diff --git a/cumulus/test/client/Cargo.toml b/cumulus/test/client/Cargo.toml
index 9dfa6ecb351..028733ce235 100644
--- a/cumulus/test/client/Cargo.toml
+++ b/cumulus/test/client/Cargo.toml
@@ -46,11 +46,9 @@ cumulus-primitives-storage-weight-reclaim = { path = "../../primitives/storage-w
 [features]
 runtime-benchmarks = [
 	"cumulus-primitives-core/runtime-benchmarks",
-	"cumulus-primitives-storage-weight-reclaim/runtime-benchmarks",
 	"cumulus-test-service/runtime-benchmarks",
 	"frame-system/runtime-benchmarks",
 	"pallet-balances/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"polkadot-parachain-primitives/runtime-benchmarks",
 	"polkadot-primitives/runtime-benchmarks",
 	"sc-service/runtime-benchmarks",
diff --git a/cumulus/test/client/src/lib.rs b/cumulus/test/client/src/lib.rs
index 9239ff0f23e..c46f4da7f67 100644
--- a/cumulus/test/client/src/lib.rs
+++ b/cumulus/test/client/src/lib.rs
@@ -19,7 +19,7 @@
 mod block_builder;
 use codec::{Decode, Encode};
 use runtime::{
-	Balance, Block, BlockHashCount, Runtime, RuntimeCall, Signature, SignedPayload, TxExtension,
+	Balance, Block, BlockHashCount, Runtime, RuntimeCall, Signature, SignedExtra, SignedPayload,
 	UncheckedExtrinsic, VERSION,
 };
 use sc_executor::HeapAllocStrategy;
@@ -125,7 +125,7 @@ impl DefaultTestClientBuilderExt for TestClientBuilder {
 
 /// Create an unsigned extrinsic from a runtime call.
 pub fn generate_unsigned(function: impl Into<RuntimeCall>) -> UncheckedExtrinsic {
-	UncheckedExtrinsic::new_bare(function.into())
+	UncheckedExtrinsic::new_unsigned(function.into())
 }
 
 /// Create a signed extrinsic from a runtime call and sign
@@ -143,7 +143,7 @@ pub fn generate_extrinsic_with_pair(
 	let period =
 		BlockHashCount::get().checked_next_power_of_two().map(|c| c / 2).unwrap_or(2) as u64;
 	let tip = 0;
-	let tx_ext: TxExtension = (
+	let extra: SignedExtra = (
 		frame_system::CheckNonZeroSender::<Runtime>::new(),
 		frame_system::CheckSpecVersion::<Runtime>::new(),
 		frame_system::CheckGenesis::<Runtime>::new(),
@@ -152,14 +152,13 @@ pub fn generate_extrinsic_with_pair(
 		frame_system::CheckWeight::<Runtime>::new(),
 		pallet_transaction_payment::ChargeTransactionPayment::<Runtime>::from(tip),
 		cumulus_primitives_storage_weight_reclaim::StorageWeightReclaim::<Runtime>::new(),
-	)
-		.into();
+	);
 
 	let function = function.into();
 
 	let raw_payload = SignedPayload::from_raw(
 		function.clone(),
-		tx_ext.clone(),
+		extra.clone(),
 		((), VERSION.spec_version, genesis_block, current_block_hash, (), (), (), ()),
 	);
 	let signature = raw_payload.using_encoded(|e| origin.sign(e));
@@ -168,7 +167,7 @@ pub fn generate_extrinsic_with_pair(
 		function,
 		origin.public().into(),
 		Signature::Sr25519(signature),
-		tx_ext,
+		extra,
 	)
 }
 
diff --git a/cumulus/test/runtime/src/lib.rs b/cumulus/test/runtime/src/lib.rs
index 154948a24b4..5ccec8983e9 100644
--- a/cumulus/test/runtime/src/lib.rs
+++ b/cumulus/test/runtime/src/lib.rs
@@ -246,7 +246,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = ();
 	type OperationalFeeMultiplier = ConstU8<5>;
-	type WeightInfo = pallet_transaction_payment::weights::SubstrateWeight<Runtime>;
 }
 
 impl pallet_sudo::Config for Runtime {
@@ -323,8 +322,8 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckGenesis<Runtime>,
@@ -336,7 +335,7 @@ pub type TxExtension = (
 );
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 /// Executive: handles dispatch to the various modules.
 pub type Executive = frame_executive::Executive<
 	Runtime,
@@ -347,7 +346,7 @@ pub type Executive = frame_executive::Executive<
 	TestOnRuntimeUpgrade,
 >;
 /// The payload being signed in transactions.
-pub type SignedPayload = generic::SignedPayload<RuntimeCall, TxExtension>;
+pub type SignedPayload = generic::SignedPayload<RuntimeCall, SignedExtra>;
 
 pub struct TestOnRuntimeUpgrade;
 
diff --git a/cumulus/test/service/Cargo.toml b/cumulus/test/service/Cargo.toml
index 39e8aeba433..27273f4e0a8 100644
--- a/cumulus/test/service/Cargo.toml
+++ b/cumulus/test/service/Cargo.toml
@@ -104,12 +104,10 @@ substrate-test-utils = { path = "../../../substrate/test-utils" }
 runtime-benchmarks = [
 	"cumulus-pallet-parachain-system/runtime-benchmarks",
 	"cumulus-primitives-core/runtime-benchmarks",
-	"cumulus-primitives-storage-weight-reclaim/runtime-benchmarks",
 	"cumulus-test-client/runtime-benchmarks",
 	"frame-system/runtime-benchmarks",
 	"pallet-im-online/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"parachains-common/runtime-benchmarks",
 	"polkadot-cli/runtime-benchmarks",
 	"polkadot-primitives/runtime-benchmarks",
diff --git a/cumulus/test/service/src/bench_utils.rs b/cumulus/test/service/src/bench_utils.rs
index 15128b23787..4ace894b392 100644
--- a/cumulus/test/service/src/bench_utils.rs
+++ b/cumulus/test/service/src/bench_utils.rs
@@ -69,7 +69,7 @@ pub fn extrinsic_set_time(client: &TestClient) -> OpaqueExtrinsic {
 
 	let timestamp = best_number as u64 * cumulus_test_runtime::MinimumPeriod::get();
 	cumulus_test_runtime::UncheckedExtrinsic {
-		preamble: sp_runtime::generic::Preamble::Bare,
+		signature: None,
 		function: cumulus_test_runtime::RuntimeCall::Timestamp(pallet_timestamp::Call::set {
 			now: timestamp,
 		}),
@@ -102,7 +102,7 @@ pub fn extrinsic_set_validation_data(
 	};
 
 	cumulus_test_runtime::UncheckedExtrinsic {
-		preamble: sp_runtime::generic::Preamble::Bare,
+		signature: None,
 		function: cumulus_test_runtime::RuntimeCall::ParachainSystem(
 			cumulus_pallet_parachain_system::Call::set_validation_data { data },
 		),
diff --git a/cumulus/test/service/src/lib.rs b/cumulus/test/service/src/lib.rs
index f05dc5f180f..3554a383f21 100644
--- a/cumulus/test/service/src/lib.rs
+++ b/cumulus/test/service/src/lib.rs
@@ -883,7 +883,7 @@ pub fn construct_extrinsic(
 		.map(|c| c / 2)
 		.unwrap_or(2) as u64;
 	let tip = 0;
-	let tx_ext: runtime::TxExtension = (
+	let extra: runtime::SignedExtra = (
 		frame_system::CheckNonZeroSender::<runtime::Runtime>::new(),
 		frame_system::CheckSpecVersion::<runtime::Runtime>::new(),
 		frame_system::CheckGenesis::<runtime::Runtime>::new(),
@@ -895,11 +895,10 @@ pub fn construct_extrinsic(
 		frame_system::CheckWeight::<runtime::Runtime>::new(),
 		pallet_transaction_payment::ChargeTransactionPayment::<runtime::Runtime>::from(tip),
 		cumulus_primitives_storage_weight_reclaim::StorageWeightReclaim::<runtime::Runtime>::new(),
-	)
-		.into();
+	);
 	let raw_payload = runtime::SignedPayload::from_raw(
 		function.clone(),
-		tx_ext.clone(),
+		extra.clone(),
 		((), runtime::VERSION.spec_version, genesis_block, current_block_hash, (), (), (), ()),
 	);
 	let signature = raw_payload.using_encoded(|e| caller.sign(e));
@@ -907,7 +906,7 @@ pub fn construct_extrinsic(
 		function,
 		caller.public().into(),
 		runtime::Signature::Sr25519(signature),
-		tx_ext,
+		extra,
 	)
 }
 
diff --git a/docs/sdk/src/reference_docs/extrinsic_encoding.rs b/docs/sdk/src/reference_docs/extrinsic_encoding.rs
index be1af500038..8c8568a228f 100644
--- a/docs/sdk/src/reference_docs/extrinsic_encoding.rs
+++ b/docs/sdk/src/reference_docs/extrinsic_encoding.rs
@@ -56,7 +56,7 @@
 //!     version_and_signed,
 //!     from_address,
 //!     signature,
-//!     transaction_extensions_extra,
+//!     signed_extensions_extra,
 //! )
 //! ```
 //!
@@ -90,31 +90,31 @@
 //! The signature type used on the Polkadot relay chain is [`sp_runtime::MultiSignature`]; the
 //! variants there are the types of signature that can be provided.
 //!
-//! ### transaction_extensions_extra
+//! ### signed_extensions_extra
 //!
 //! This is the concatenation of the [SCALE encoded][frame::deps::codec] bytes representing each of
-//! the [_transaction extensions_][sp_runtime::traits::TransactionExtension], and are configured by
-//! the fourth generic parameter of [`sp_runtime::generic::UncheckedExtrinsic`]. Learn more about
-//! transaction extensions [here][crate::reference_docs::transaction_extensions].
+//! the [_signed extensions_][sp_runtime::traits::SignedExtension], and are configured by the
+//! fourth generic parameter of [`sp_runtime::generic::UncheckedExtrinsic`]. Learn more about
+//! signed extensions [here][crate::reference_docs::signed_extensions].
 //!
-//! When it comes to constructing an extrinsic, each transaction extension has two things that we
-//! are interested in here:
+//! When it comes to constructing an extrinsic, each signed extension has two things that we are
+//! interested in here:
 //!
-//! - The actual SCALE encoding of the transaction extension type itself; this is what will form our
-//!   `transaction_extensions_extra` bytes.
-//! - An `Implicit` type. This is SCALE encoded into the `transaction_extensions_implicit` data of
-//!   the _signed payload_ (see below).
+//! - The actual SCALE encoding of the signed extension type itself; this is what will form our
+//!   `signed_extensions_extra` bytes.
+//! - An `AdditionalSigned` type. This is SCALE encoded into the `signed_extensions_additional` data
+//!   of the _signed payload_ (see below).
 //!
 //! Either (or both) of these can encode to zero bytes.
 //!
-//! Each chain configures the set of transaction extensions that it uses in its runtime
-//! configuration. At the time of writing, Polkadot configures them
+//! Each chain configures the set of signed extensions that it uses in its runtime configuration.
+//! At the time of writing, Polkadot configures them
 //! [here](https://github.com/polkadot-fellows/runtimes/blob/1dc04eb954eadf8aadb5d83990b89662dbb5a074/relay/polkadot/src/lib.rs#L1432C25-L1432C25).
-//! Some of the common transaction extensions are defined
-//! [here][frame::deps::frame_system#transaction-extensions].
+//! Some of the common signed extensions are defined
+//! [here][frame::deps::frame_system#signed-extensions].
 //!
-//! Information about exactly which transaction extensions are present on a chain and in what order
-//! is also a part of the metadata for the chain. For V15 metadata, it can be
+//! Information about exactly which signed extensions are present on a chain and in what order is
+//! also a part of the metadata for the chain. For V15 metadata, it can be
 //! [found here][frame::deps::frame_support::__private::metadata::v15::ExtrinsicMetadata].
 //!
 //! ## call_data
@@ -163,8 +163,8 @@
 //! ```text
 //! signed_payload = concat(
 //!     call_data,
-//!     transaction_extensions_extra,
-//!     transaction_extensions_implicit,
+//!     signed_extensions_extra,
+//!     signed_extensions_additional,
 //! )
 //!
 //! if length(signed_payload) > 256 {
@@ -172,16 +172,16 @@
 //! }
 //! ```
 //!
-//! The bytes representing `call_data` and `transaction_extensions_extra` can be obtained as
-//! descibed above. `transaction_extensions_implicit` is constructed by SCALE encoding the
-//! ["implicit" data][sp_runtime::traits::TransactionExtensionBase::Implicit] for each
-//! transaction extension that the chain is using, in order.
+//! The bytes representing `call_data` and `signed_extensions_extra` can be obtained as described
+//! above. `signed_extensions_additional` is constructed by SCALE encoding the
+//! ["additional signed" data][sp_runtime::traits::SignedExtension::AdditionalSigned] for each
+//! signed extension that the chain is using, in order.
 //!
 //! Once we've concatenated those together, we hash the result if it's greater than 256 bytes in
 //! length using a Blake2 256bit hasher.
 //!
 //! The [`sp_runtime::generic::SignedPayload`] type takes care of assembling the correct payload
-//! for us, given `call_data` and a tuple of transaction extensions.
+//! for us, given `call_data` and a tuple of signed extensions.
 //!
 //! # Example Encoding
 //!
@@ -192,12 +192,11 @@
 #[docify::export]
 pub mod call_data {
 	use parity_scale_codec::{Decode, Encode};
-	use sp_runtime::{traits::Dispatchable, DispatchResultWithInfo};
 
 	// The outer enum composes calls within
 	// different pallets together. We have two
 	// pallets, "PalletA" and "PalletB".
-	#[derive(Encode, Decode, Clone)]
+	#[derive(Encode, Decode)]
 	pub enum Call {
 		#[codec(index = 0)]
 		PalletA(PalletACall),
@@ -208,33 +207,23 @@ pub mod call_data {
 	// An inner enum represents the calls within
 	// a specific pallet. "PalletA" has one call,
 	// "Foo".
-	#[derive(Encode, Decode, Clone)]
+	#[derive(Encode, Decode)]
 	pub enum PalletACall {
 		#[codec(index = 0)]
 		Foo(String),
 	}
 
-	#[derive(Encode, Decode, Clone)]
+	#[derive(Encode, Decode)]
 	pub enum PalletBCall {
 		#[codec(index = 0)]
 		Bar(String),
 	}
-
-	impl Dispatchable for Call {
-		type RuntimeOrigin = ();
-		type Config = ();
-		type Info = ();
-		type PostInfo = ();
-		fn dispatch(self, _origin: Self::RuntimeOrigin) -> DispatchResultWithInfo<Self::PostInfo> {
-			Ok(())
-		}
-	}
 }
 
 #[docify::export]
 pub mod encoding_example {
 	use super::call_data::{Call, PalletACall};
-	use crate::reference_docs::transaction_extensions::transaction_extensions_example;
+	use crate::reference_docs::signed_extensions::signed_extensions_example;
 	use parity_scale_codec::Encode;
 	use sp_core::crypto::AccountId32;
 	use sp_keyring::sr25519::Keyring;
@@ -243,40 +232,34 @@ pub mod encoding_example {
 		MultiAddress, MultiSignature,
 	};
 
-	// Define some transaction extensions to use. We'll use a couple of examples
-	// from the transaction extensions reference doc.
-	type TransactionExtensions = (
-		transaction_extensions_example::AddToPayload,
-		transaction_extensions_example::AddToSignaturePayload,
-	);
+	// Define some signed extensions to use. We'll use a couple of examples
+	// from the signed extensions reference doc.
+	type SignedExtensions =
+		(signed_extensions_example::AddToPayload, signed_extensions_example::AddToSignaturePayload);
 
 	// We'll use `UncheckedExtrinsic` to encode our extrinsic for us. We set
 	// the address and signature type to those used on Polkadot, use our custom
-	// `Call` type, and use our custom set of `TransactionExtensions`.
-	type Extrinsic = UncheckedExtrinsic<
-		MultiAddress<AccountId32, ()>,
-		Call,
-		MultiSignature,
-		TransactionExtensions,
-	>;
+	// `Call` type, and use our custom set of `SignedExtensions`.
+	type Extrinsic =
+		UncheckedExtrinsic<MultiAddress<AccountId32, ()>, Call, MultiSignature, SignedExtensions>;
 
 	pub fn encode_demo_extrinsic() -> Vec<u8> {
 		// The "from" address will be our Alice dev account.
 		let from_address = MultiAddress::<AccountId32, ()>::Id(Keyring::Alice.to_account_id());
 
-		// We provide some values for our expected transaction extensions.
-		let transaction_extensions = (
-			transaction_extensions_example::AddToPayload(1),
-			transaction_extensions_example::AddToSignaturePayload,
+		// We provide some values for our expected signed extensions.
+		let signed_extensions = (
+			signed_extensions_example::AddToPayload(1),
+			signed_extensions_example::AddToSignaturePayload,
 		);
 
 		// Construct our call data:
 		let call_data = Call::PalletA(PalletACall::Foo("Hello".to_string()));
 
 		// The signed payload. This takes care of encoding the call_data,
-		// transaction_extensions_extra and transaction_extensions_implicit, and hashing
+		// signed_extensions_extra and signed_extensions_additional, and hashing
 		// the result if it's > 256 bytes:
-		let signed_payload = SignedPayload::new(call_data.clone(), transaction_extensions.clone());
+		let signed_payload = SignedPayload::new(&call_data, signed_extensions.clone());
 
 		// Sign the signed payload with our Alice dev account's private key,
 		// and wrap the signature into the expected type:
@@ -286,7 +269,7 @@ pub mod encoding_example {
 		};
 
 		// Now, we can build and encode our extrinsic:
-		let ext = Extrinsic::new_signed(call_data, from_address, signature, transaction_extensions);
+		let ext = Extrinsic::new_signed(call_data, from_address, signature, signed_extensions);
 
 		let encoded_ext = ext.encode();
 		encoded_ext
diff --git a/docs/sdk/src/reference_docs/frame_runtime_types.rs b/docs/sdk/src/reference_docs/frame_runtime_types.rs
index 883892729d1..b5838b79e51 100644
--- a/docs/sdk/src/reference_docs/frame_runtime_types.rs
+++ b/docs/sdk/src/reference_docs/frame_runtime_types.rs
@@ -130,7 +130,7 @@
 //! * [`crate::reference_docs::frame_origin`] explores further details about the usage of
 //!   `RuntimeOrigin`.
 //! * [`RuntimeCall`] is a particularly interesting composite enum as it dictates the encoding of an
-//!   extrinsic. See [`crate::reference_docs::transaction_extensions`] for more information.
+//!   extrinsic. See [`crate::reference_docs::signed_extensions`] for more information.
 //! * See the documentation of [`construct_runtime`].
 //! * See the corresponding lecture in the [pba-book](https://polkadot-blockchain-academy.github.io/pba-book/frame/outer-enum/page.html).
 //!
diff --git a/docs/sdk/src/reference_docs/mod.rs b/docs/sdk/src/reference_docs/mod.rs
index f4b52208e2f..de0b012bb12 100644
--- a/docs/sdk/src/reference_docs/mod.rs
+++ b/docs/sdk/src/reference_docs/mod.rs
@@ -39,9 +39,9 @@ pub mod runtime_vs_smart_contract;
 /// Learn about how extrinsics are encoded to be transmitted to a node and stored in blocks.
 pub mod extrinsic_encoding;
 
-/// Learn about the transaction extensions that form a part of extrinsics.
+/// Learn about the signed extensions that form a part of extrinsics.
 // TODO: @jsdw https://github.com/paritytech/polkadot-sdk-docs/issues/42
-pub mod transaction_extensions;
+pub mod signed_extensions;
 
 /// Learn about *Origins*, a topic in FRAME that enables complex account abstractions to be built.
 pub mod frame_origin;
diff --git a/docs/sdk/src/reference_docs/signed_extensions.rs b/docs/sdk/src/reference_docs/signed_extensions.rs
new file mode 100644
index 00000000000..28b1426536b
--- /dev/null
+++ b/docs/sdk/src/reference_docs/signed_extensions.rs
@@ -0,0 +1,79 @@
+//! Signed extensions are, briefly, a means for different chains to extend the "basic" extrinsic
+//! format with custom data that can be checked by the runtime.
+//!
+//! # Example
+//!
+//! Defining a couple of very simple signed extensions looks like the following:
+#![doc = docify::embed!("./src/reference_docs/signed_extensions.rs", signed_extensions_example)]
+
+#[docify::export]
+pub mod signed_extensions_example {
+	use parity_scale_codec::{Decode, Encode};
+	use scale_info::TypeInfo;
+	use sp_runtime::traits::SignedExtension;
+
+	// This doesn't actually check anything, but simply allows
+	// some arbitrary `u32` to be added to the extrinsic payload
+	#[derive(Debug, Encode, Decode, Clone, Eq, PartialEq, TypeInfo)]
+	pub struct AddToPayload(pub u32);
+
+	impl SignedExtension for AddToPayload {
+		const IDENTIFIER: &'static str = "AddToPayload";
+		type AccountId = ();
+		type Call = ();
+		type AdditionalSigned = ();
+		type Pre = ();
+
+		fn additional_signed(
+			&self,
+		) -> Result<
+			Self::AdditionalSigned,
+			sp_runtime::transaction_validity::TransactionValidityError,
+		> {
+			Ok(())
+		}
+
+		fn pre_dispatch(
+			self,
+			_who: &Self::AccountId,
+			_call: &Self::Call,
+			_info: &sp_runtime::traits::DispatchInfoOf<Self::Call>,
+			_len: usize,
+		) -> Result<Self::Pre, sp_runtime::transaction_validity::TransactionValidityError> {
+			Ok(())
+		}
+	}
+
+	// This is the opposite; nothing will be added to the extrinsic payload,
+	// but the AdditionalSigned type (`1234u32`) will be added to the
+	// payload to be signed.
+	#[derive(Debug, Encode, Decode, Clone, Eq, PartialEq, TypeInfo)]
+	pub struct AddToSignaturePayload;
+
+	impl SignedExtension for AddToSignaturePayload {
+		const IDENTIFIER: &'static str = "AddToSignaturePayload";
+		type AccountId = ();
+		type Call = ();
+		type AdditionalSigned = u32;
+		type Pre = ();
+
+		fn additional_signed(
+			&self,
+		) -> Result<
+			Self::AdditionalSigned,
+			sp_runtime::transaction_validity::TransactionValidityError,
+		> {
+			Ok(1234)
+		}
+
+		fn pre_dispatch(
+			self,
+			_who: &Self::AccountId,
+			_call: &Self::Call,
+			_info: &sp_runtime::traits::DispatchInfoOf<Self::Call>,
+			_len: usize,
+		) -> Result<Self::Pre, sp_runtime::transaction_validity::TransactionValidityError> {
+			Ok(())
+		}
+	}
+}
diff --git a/docs/sdk/src/reference_docs/transaction_extensions.rs b/docs/sdk/src/reference_docs/transaction_extensions.rs
deleted file mode 100644
index 4f96d665d9b..00000000000
--- a/docs/sdk/src/reference_docs/transaction_extensions.rs
+++ /dev/null
@@ -1,57 +0,0 @@
-//! Transaction extensions are, briefly, a means for different chains to extend the "basic"
-//! extrinsic format with custom data that can be checked by the runtime.
-//!
-//! # Example
-//!
-//! Defining a couple of very simple transaction extensions looks like the following:
-#![doc = docify::embed!("./src/reference_docs/transaction_extensions.rs", transaction_extensions_example)]
-
-#[docify::export]
-pub mod transaction_extensions_example {
-	use parity_scale_codec::{Decode, Encode};
-	use scale_info::TypeInfo;
-	use sp_runtime::{
-		impl_tx_ext_default,
-		traits::{Dispatchable, TransactionExtension, TransactionExtensionBase},
-		TransactionValidityError,
-	};
-
-	// This doesn't actually check anything, but simply allows
-	// some arbitrary `u32` to be added to the extrinsic payload
-	#[derive(Debug, Encode, Decode, Clone, Eq, PartialEq, TypeInfo)]
-	pub struct AddToPayload(pub u32);
-
-	impl TransactionExtensionBase for AddToPayload {
-		const IDENTIFIER: &'static str = "AddToPayload";
-		type Implicit = ();
-	}
-
-	impl<Call: Dispatchable> TransactionExtension<Call, ()> for AddToPayload {
-		type Pre = ();
-		type Val = ();
-
-		impl_tx_ext_default!(Call; (); validate prepare);
-	}
-
-	// This is the opposite; nothing will be added to the extrinsic payload,
-	// but the Implicit type (`1234u32`) will be added to the
-	// payload to be signed.
-	#[derive(Debug, Encode, Decode, Clone, Eq, PartialEq, TypeInfo)]
-	pub struct AddToSignaturePayload;
-
-	impl TransactionExtensionBase for AddToSignaturePayload {
-		const IDENTIFIER: &'static str = "AddToSignaturePayload";
-		type Implicit = u32;
-
-		fn implicit(&self) -> Result<Self::Implicit, TransactionValidityError> {
-			Ok(1234)
-		}
-	}
-
-	impl<Call: Dispatchable> TransactionExtension<Call, ()> for AddToSignaturePayload {
-		type Pre = ();
-		type Val = ();
-
-		impl_tx_ext_default!(Call; (); validate prepare);
-	}
-}
diff --git a/polkadot/node/service/Cargo.toml b/polkadot/node/service/Cargo.toml
index 180de70ad6c..734dcbdeb44 100644
--- a/polkadot/node/service/Cargo.toml
+++ b/polkadot/node/service/Cargo.toml
@@ -196,7 +196,6 @@ runtime-benchmarks = [
 	"pallet-babe/runtime-benchmarks",
 	"pallet-im-online/runtime-benchmarks",
 	"pallet-staking/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"polkadot-parachain-primitives/runtime-benchmarks",
 	"polkadot-primitives/runtime-benchmarks",
 	"polkadot-runtime-parachains/runtime-benchmarks",
diff --git a/polkadot/node/service/src/benchmarking.rs b/polkadot/node/service/src/benchmarking.rs
index 29acc5c3ca8..400daf1aee3 100644
--- a/polkadot/node/service/src/benchmarking.rs
+++ b/polkadot/node/service/src/benchmarking.rs
@@ -189,7 +189,7 @@ fn westend_sign_call(
 	use sp_core::Pair;
 	use westend_runtime as runtime;
 
-	let tx_ext: runtime::TxExtension = (
+	let extra: runtime::SignedExtra = (
 		frame_system::CheckNonZeroSender::<runtime::Runtime>::new(),
 		frame_system::CheckSpecVersion::<runtime::Runtime>::new(),
 		frame_system::CheckTxVersion::<runtime::Runtime>::new(),
@@ -201,12 +201,11 @@ fn westend_sign_call(
 		frame_system::CheckNonce::<runtime::Runtime>::from(nonce),
 		frame_system::CheckWeight::<runtime::Runtime>::new(),
 		pallet_transaction_payment::ChargeTransactionPayment::<runtime::Runtime>::from(0),
-	)
-		.into();
+	);
 
 	let payload = runtime::SignedPayload::from_raw(
 		call.clone(),
-		tx_ext.clone(),
+		extra.clone(),
 		(
 			(),
 			runtime::VERSION.spec_version,
@@ -224,7 +223,7 @@ fn westend_sign_call(
 		call,
 		sp_runtime::AccountId32::from(acc.public()).into(),
 		polkadot_core_primitives::Signature::Sr25519(signature.clone()),
-		tx_ext,
+		extra,
 	)
 	.into()
 }
@@ -242,7 +241,7 @@ fn rococo_sign_call(
 	use rococo_runtime as runtime;
 	use sp_core::Pair;
 
-	let tx_ext: runtime::TxExtension = (
+	let extra: runtime::SignedExtra = (
 		frame_system::CheckNonZeroSender::<runtime::Runtime>::new(),
 		frame_system::CheckSpecVersion::<runtime::Runtime>::new(),
 		frame_system::CheckTxVersion::<runtime::Runtime>::new(),
@@ -254,12 +253,11 @@ fn rococo_sign_call(
 		frame_system::CheckNonce::<runtime::Runtime>::from(nonce),
 		frame_system::CheckWeight::<runtime::Runtime>::new(),
 		pallet_transaction_payment::ChargeTransactionPayment::<runtime::Runtime>::from(0),
-	)
-		.into();
+	);
 
 	let payload = runtime::SignedPayload::from_raw(
 		call.clone(),
-		tx_ext.clone(),
+		extra.clone(),
 		(
 			(),
 			runtime::VERSION.spec_version,
@@ -277,7 +275,7 @@ fn rococo_sign_call(
 		call,
 		sp_runtime::AccountId32::from(acc.public()).into(),
 		polkadot_core_primitives::Signature::Sr25519(signature.clone()),
-		tx_ext,
+		extra,
 	)
 	.into()
 }
diff --git a/polkadot/node/test/service/Cargo.toml b/polkadot/node/test/service/Cargo.toml
index 02b227e6f34..e7892abcd87 100644
--- a/polkadot/node/test/service/Cargo.toml
+++ b/polkadot/node/test/service/Cargo.toml
@@ -71,7 +71,6 @@ runtime-benchmarks = [
 	"frame-system/runtime-benchmarks",
 	"pallet-balances/runtime-benchmarks",
 	"pallet-staking/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"polkadot-parachain-primitives/runtime-benchmarks",
 	"polkadot-primitives/runtime-benchmarks",
 	"polkadot-runtime-common/runtime-benchmarks",
diff --git a/polkadot/node/test/service/src/lib.rs b/polkadot/node/test/service/src/lib.rs
index 1876595c7b4..ca904bae28d 100644
--- a/polkadot/node/test/service/src/lib.rs
+++ b/polkadot/node/test/service/src/lib.rs
@@ -32,7 +32,7 @@ use polkadot_service::{
 	Error, FullClient, IsParachainNode, NewFull, OverseerGen, PrometheusConfig,
 };
 use polkadot_test_runtime::{
-	ParasCall, ParasSudoWrapperCall, Runtime, SignedPayload, SudoCall, TxExtension,
+	ParasCall, ParasSudoWrapperCall, Runtime, SignedExtra, SignedPayload, SudoCall,
 	UncheckedExtrinsic, VERSION,
 };
 
@@ -382,7 +382,7 @@ pub fn construct_extrinsic(
 	let period =
 		BlockHashCount::get().checked_next_power_of_two().map(|c| c / 2).unwrap_or(2) as u64;
 	let tip = 0;
-	let tx_ext: TxExtension = (
+	let extra: SignedExtra = (
 		frame_system::CheckNonZeroSender::<Runtime>::new(),
 		frame_system::CheckSpecVersion::<Runtime>::new(),
 		frame_system::CheckTxVersion::<Runtime>::new(),
@@ -391,11 +391,10 @@ pub fn construct_extrinsic(
 		frame_system::CheckNonce::<Runtime>::from(nonce),
 		frame_system::CheckWeight::<Runtime>::new(),
 		pallet_transaction_payment::ChargeTransactionPayment::<Runtime>::from(tip),
-	)
-		.into();
+	);
 	let raw_payload = SignedPayload::from_raw(
 		function.clone(),
-		tx_ext.clone(),
+		extra.clone(),
 		(
 			(),
 			VERSION.spec_version,
@@ -412,7 +411,7 @@ pub fn construct_extrinsic(
 		function.clone(),
 		polkadot_test_runtime::Address::Id(caller.public().into()),
 		polkadot_primitives::Signature::Sr25519(signature.clone()),
-		tx_ext.clone(),
+		extra.clone(),
 	)
 }
 
diff --git a/polkadot/runtime/common/Cargo.toml b/polkadot/runtime/common/Cargo.toml
index c2205938295..eae5d4fb2ef 100644
--- a/polkadot/runtime/common/Cargo.toml
+++ b/polkadot/runtime/common/Cargo.toml
@@ -132,7 +132,6 @@ runtime-benchmarks = [
 	"pallet-identity/runtime-benchmarks",
 	"pallet-staking/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-treasury/runtime-benchmarks",
 	"pallet-vesting/runtime-benchmarks",
 	"primitives/runtime-benchmarks",
diff --git a/polkadot/runtime/common/src/claims.rs b/polkadot/runtime/common/src/claims.rs
index 57a95b22af3..68f42914e44 100644
--- a/polkadot/runtime/common/src/claims.rs
+++ b/polkadot/runtime/common/src/claims.rs
@@ -29,11 +29,7 @@ use scale_info::TypeInfo;
 use serde::{self, Deserialize, Deserializer, Serialize, Serializer};
 use sp_io::{crypto::secp256k1_ecdsa_recover, hashing::keccak_256};
 use sp_runtime::{
-	impl_tx_ext_default,
-	traits::{
-		AsSystemOriginSigner, CheckedSub, DispatchInfoOf, Dispatchable, TransactionExtension,
-		TransactionExtensionBase, Zero,
-	},
+	traits::{CheckedSub, DispatchInfoOf, SignedExtension, Zero},
 	transaction_validity::{
 		InvalidTransaction, TransactionValidity, TransactionValidityError, ValidTransaction,
 	},
@@ -54,7 +50,6 @@ pub trait WeightInfo {
 	fn claim_attest() -> Weight;
 	fn attest() -> Weight;
 	fn move_claim() -> Weight;
-	fn prevalidate_attests() -> Weight;
 }
 
 pub struct TestWeightInfo;
@@ -74,9 +69,6 @@ impl WeightInfo for TestWeightInfo {
 	fn move_claim() -> Weight {
 		Weight::zero()
 	}
-	fn prevalidate_attests() -> Weight {
-		Weight::zero()
-	}
 }
 
 /// The kind of statement an account needs to make for a claim to be valid.
@@ -92,7 +84,7 @@ pub enum StatementKind {
 
 impl StatementKind {
 	/// Convert this to the (English) statement it represents.
-	pub fn to_text(self) -> &'static [u8] {
+	fn to_text(self) -> &'static [u8] {
 		match self {
 			StatementKind::Regular =>
 				&b"I hereby agree to the terms of the statement whose SHA-256 multihash is \
@@ -174,13 +166,6 @@ pub mod pallet {
 	#[pallet::without_storage_info]
 	pub struct Pallet<T>(_);
 
-	#[cfg(feature = "runtime-benchmarks")]
-	/// Helper trait to benchmark the `PrevalidateAttests` transaction extension.
-	pub trait BenchmarkHelperTrait<RuntimeCall, DispatchInfo> {
-		/// `Call` to be used when benchmarking the transaction extension.
-		fn default_call_and_info() -> (RuntimeCall, DispatchInfo);
-	}
-
 	/// Configuration trait.
 	#[pallet::config]
 	pub trait Config: frame_system::Config {
@@ -191,12 +176,6 @@ pub mod pallet {
 		type Prefix: Get<&'static [u8]>;
 		type MoveClaimOrigin: EnsureOrigin<Self::RuntimeOrigin>;
 		type WeightInfo: WeightInfo;
-		#[cfg(feature = "runtime-benchmarks")]
-		/// Benchmark helper
-		type BenchmarkHelper: BenchmarkHelperTrait<
-			Self::RuntimeCall,
-			DispatchInfoOf<Self::RuntimeCall>,
-		>;
 	}
 
 	#[pallet::event]
@@ -423,7 +402,7 @@ pub mod pallet {
 		/// Attest to a statement, needed to finalize the claims process.
 		///
 		/// WARNING: Insecure unless your chain includes `PrevalidateAttests` as a
-		/// `TransactionExtension`.
+		/// `SignedExtension`.
 		///
 		/// Unsigned Validation:
 		/// A call to attest is deemed valid if the sender has a `Preclaim` registered
@@ -633,46 +612,46 @@ impl<T: Config> PrevalidateAttests<T>
 where
 	<T as frame_system::Config>::RuntimeCall: IsSubType<Call<T>>,
 {
-	/// Create new `TransactionExtension` to check runtime version.
+	/// Create new `SignedExtension` to check runtime version.
 	pub fn new() -> Self {
 		Self(sp_std::marker::PhantomData)
 	}
 }
 
-impl<T: Config> TransactionExtensionBase for PrevalidateAttests<T>
+impl<T: Config> SignedExtension for PrevalidateAttests<T>
 where
 	<T as frame_system::Config>::RuntimeCall: IsSubType<Call<T>>,
 {
+	type AccountId = T::AccountId;
+	type Call = <T as frame_system::Config>::RuntimeCall;
+	type AdditionalSigned = ();
+	type Pre = ();
 	const IDENTIFIER: &'static str = "PrevalidateAttests";
-	type Implicit = ();
-}
 
-impl<T: Config, Context> TransactionExtension<T::RuntimeCall, Context> for PrevalidateAttests<T>
-where
-	<T as frame_system::Config>::RuntimeCall: IsSubType<Call<T>>,
-	<<T as frame_system::Config>::RuntimeCall as Dispatchable>::RuntimeOrigin:
-		AsSystemOriginSigner<T::AccountId> + Clone,
-{
-	type Pre = ();
-	type Val = ();
+	fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
+		Ok(())
+	}
+
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		self.validate(who, call, info, len).map(|_| ())
+	}
 
 	// <weight>
 	// The weight of this logic is included in the `attest` dispatchable.
 	// </weight>
 	fn validate(
 		&self,
-		origin: <T::RuntimeCall as Dispatchable>::RuntimeOrigin,
-		call: &T::RuntimeCall,
-		_info: &DispatchInfoOf<T::RuntimeCall>,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
 		_len: usize,
-		_context: &mut Context,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> Result<
-		(ValidTransaction, Self::Val, <T::RuntimeCall as Dispatchable>::RuntimeOrigin),
-		TransactionValidityError,
-	> {
-		let who = origin.as_system_origin_signer().ok_or(InvalidTransaction::BadSigner)?;
+	) -> TransactionValidity {
 		if let Some(local_call) = call.is_sub_type() {
 			if let Call::attest { statement: attested_statement } = local_call {
 				let signer = Preclaims::<T>::get(who)
@@ -683,9 +662,8 @@ where
 				}
 			}
 		}
-		Ok((ValidTransaction::default(), (), origin))
+		Ok(ValidTransaction::default())
 	}
-	impl_tx_ext_default!(T::RuntimeCall; Context; prepare);
 }
 
 #[cfg(any(test, feature = "runtime-benchmarks"))]
@@ -718,7 +696,7 @@ mod secp_utils {
 }
 
 #[cfg(test)]
-pub(super) mod tests {
+mod tests {
 	use super::*;
 	use hex_literal::hex;
 	use secp_utils::*;
@@ -736,11 +714,8 @@ pub(super) mod tests {
 	};
 	use pallet_balances;
 	use sp_runtime::{
-		traits::{DispatchTransaction, Identity},
-		transaction_validity::TransactionLongevity,
-		BuildStorage,
-		DispatchError::BadOrigin,
-		TokenError,
+		traits::Identity, transaction_validity::TransactionLongevity, BuildStorage,
+		DispatchError::BadOrigin, TokenError,
 	};
 
 	type Block = frame_system::mocking::MockBlock<Test>;
@@ -815,19 +790,6 @@ pub(super) mod tests {
 		type Prefix = Prefix;
 		type MoveClaimOrigin = frame_system::EnsureSignedBy<Six, u64>;
 		type WeightInfo = TestWeightInfo;
-		#[cfg(feature = "runtime-benchmarks")]
-		type BenchmarkHelper = ();
-	}
-
-	#[cfg(feature = "runtime-benchmarks")]
-	impl BenchmarkHelperTrait<RuntimeCall, DispatchInfoOf<RuntimeCall>> for () {
-		fn default_call_and_info() -> (RuntimeCall, DispatchInfoOf<RuntimeCall>) {
-			let call = RuntimeCall::Claims(crate::claims::Call::attest {
-				statement: StatementKind::Regular.to_text().to_vec(),
-			});
-			let info = call.get_dispatch_info();
-			(call, info)
-		}
 	}
 
 	fn alice() -> libsecp256k1::SecretKey {
@@ -1109,8 +1071,8 @@ pub(super) mod tests {
 			});
 			let di = c.get_dispatch_info();
 			assert_eq!(di.pays_fee, Pays::No);
-			let r = p.validate_only(Some(42).into(), &c, &di, 20);
-			assert_eq!(r.unwrap().0, ValidTransaction::default());
+			let r = p.validate(&42, &c, &di, 20);
+			assert_eq!(r, TransactionValidity::Ok(ValidTransaction::default()));
 		});
 	}
 
@@ -1122,13 +1084,13 @@ pub(super) mod tests {
 				statement: StatementKind::Regular.to_text().to_vec(),
 			});
 			let di = c.get_dispatch_info();
-			let r = p.validate_only(Some(42).into(), &c, &di, 20);
+			let r = p.validate(&42, &c, &di, 20);
 			assert!(r.is_err());
 			let c = RuntimeCall::Claims(ClaimsCall::attest {
 				statement: StatementKind::Saft.to_text().to_vec(),
 			});
 			let di = c.get_dispatch_info();
-			let r = p.validate_only(Some(69).into(), &c, &di, 20);
+			let r = p.validate(&69, &c, &di, 20);
 			assert!(r.is_err());
 		});
 	}
@@ -1482,17 +1444,14 @@ pub(super) mod tests {
 }
 
 #[cfg(feature = "runtime-benchmarks")]
-pub(super) mod benchmarking {
+mod benchmarking {
 	use super::*;
 	use crate::claims::Call;
 	use frame_benchmarking::{account, benchmarks};
 	use frame_support::traits::UnfilteredDispatchable;
 	use frame_system::RawOrigin;
 	use secp_utils::*;
-	use sp_runtime::{
-		traits::{DispatchTransaction, ValidateUnsigned},
-		DispatchResult,
-	};
+	use sp_runtime::{traits::ValidateUnsigned, DispatchResult};
 
 	const SEED: u32 = 0;
 
@@ -1528,11 +1487,6 @@ pub(super) mod benchmarking {
 	}
 
 	benchmarks! {
-		where_clause { where <T as frame_system::Config>::RuntimeCall: IsSubType<Call<T>>,
-			<<T as frame_system::Config>::RuntimeCall as Dispatchable>::RuntimeOrigin: AsSystemOriginSigner<T::AccountId> + Clone,
-			<<T as frame_system::Config>::RuntimeCall as Dispatchable>::PostInfo: Default,
-		}
-
 		// Benchmark `claim` including `validate_unsigned` logic.
 		claim {
 			let c = MAX_CLAIMS;
@@ -1711,38 +1665,6 @@ pub(super) mod benchmarking {
 			}
 		}
 
-		prevalidate_attests {
-			let c = MAX_CLAIMS;
-
-			for i in 0 .. c / 2 {
-				create_claim::<T>(c)?;
-				create_claim_attest::<T>(u32::MAX - c)?;
-			}
-
-			let ext = PrevalidateAttests::<T>::new();
-			let (call, info) = T::BenchmarkHelper::default_call_and_info();
-			let attest_c = u32::MAX - c;
-			let secret_key = libsecp256k1::SecretKey::parse(&keccak_256(&attest_c.encode())).unwrap();
-			let eth_address = eth(&secret_key);
-			let account: T::AccountId = account("user", c, SEED);
-			let vesting = Some((100_000u32.into(), 1_000u32.into(), 100u32.into()));
-			let statement = StatementKind::Regular;
-			let signature = sig::<T>(&secret_key, &account.encode(), statement.to_text());
-			super::Pallet::<T>::mint_claim(RawOrigin::Root.into(), eth_address, VALUE.into(), vesting, Some(statement))?;
-			Preclaims::<T>::insert(&account, eth_address);
-			assert_eq!(Claims::<T>::get(eth_address), Some(VALUE.into()));
-		}: {
-			assert!(ext.test_run(
-				RawOrigin::Signed(account).into(),
-				&call,
-				&info,
-				0,
-				|_| {
-					Ok(Default::default())
-				}
-			).unwrap().is_ok());
-		}
-
 		impl_benchmark_test_suite!(
 			Pallet,
 			crate::claims::tests::new_test_ext(),
diff --git a/polkadot/runtime/rococo/Cargo.toml b/polkadot/runtime/rococo/Cargo.toml
index 61ca1635ac9..3dc59cc1728 100644
--- a/polkadot/runtime/rococo/Cargo.toml
+++ b/polkadot/runtime/rococo/Cargo.toml
@@ -246,7 +246,6 @@ runtime-benchmarks = [
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
 	"pallet-tips/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-treasury/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"pallet-vesting/runtime-benchmarks",
diff --git a/polkadot/runtime/rococo/constants/src/weights/block_weights.rs b/polkadot/runtime/rococo/constants/src/weights/block_weights.rs
index f7dc2f19316..e2aa4a6cab7 100644
--- a/polkadot/runtime/rococo/constants/src/weights/block_weights.rs
+++ b/polkadot/runtime/rococo/constants/src/weights/block_weights.rs
@@ -14,13 +14,13 @@
 // You should have received a copy of the GNU General Public License
 // along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
 
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29 (Y/M/D)
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26 (Y/M/D)
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
 //!
 //! SHORT-NAME: `block`, LONG-NAME: `BlockExecution`, RUNTIME: `Development`
 //! WARMUPS: `10`, REPEAT: `100`
-//! WEIGHT-PATH: `./polkadot/runtime/rococo/constants/src/weights/`
+//! WEIGHT-PATH: `runtime/rococo/constants/src/weights/`
 //! WEIGHT-METRIC: `Average`, WEIGHT-MUL: `1.0`, WEIGHT-ADD: `0`
 
 // Executed Command:
@@ -28,11 +28,12 @@
 //   benchmark
 //   overhead
 //   --chain=rococo-dev
+//   --execution=wasm
 //   --wasm-execution=compiled
-//   --weight-path=./polkadot/runtime/rococo/constants/src/weights/
+//   --weight-path=runtime/rococo/constants/src/weights/
 //   --warmup=10
 //   --repeat=100
-//   --header=./polkadot/file_header.txt
+//   --header=./file_header.txt
 
 use sp_core::parameter_types;
 use sp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight};
@@ -42,17 +43,17 @@ parameter_types! {
 	/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
 	///
 	/// Stats nanoseconds:
-	///   Min, Max: 440_142, 476_907
-	///   Average:  450_240
-	///   Median:   448_633
-	///   Std-Dev:  7301.18
+	///   Min, Max: 408_659, 450_716
+	///   Average:  417_412
+	///   Median:   411_177
+	///   Std-Dev:  12242.31
 	///
 	/// Percentiles nanoseconds:
-	///   99th: 470_733
-	///   95th: 465_082
-	///   75th: 452_536
+	///   99th: 445_142
+	///   95th: 442_275
+	///   75th: 414_217
 	pub const BlockExecutionWeight: Weight =
-		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(450_240), 0);
+		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(417_412), 0);
 }
 
 #[cfg(test)]
diff --git a/polkadot/runtime/rococo/constants/src/weights/extrinsic_weights.rs b/polkadot/runtime/rococo/constants/src/weights/extrinsic_weights.rs
index 000cee8a237..adce840ebbc 100644
--- a/polkadot/runtime/rococo/constants/src/weights/extrinsic_weights.rs
+++ b/polkadot/runtime/rococo/constants/src/weights/extrinsic_weights.rs
@@ -14,13 +14,13 @@
 // You should have received a copy of the GNU General Public License
 // along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
 
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29 (Y/M/D)
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26 (Y/M/D)
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
 //!
 //! SHORT-NAME: `extrinsic`, LONG-NAME: `ExtrinsicBase`, RUNTIME: `Development`
 //! WARMUPS: `10`, REPEAT: `100`
-//! WEIGHT-PATH: `./polkadot/runtime/rococo/constants/src/weights/`
+//! WEIGHT-PATH: `runtime/rococo/constants/src/weights/`
 //! WEIGHT-METRIC: `Average`, WEIGHT-MUL: `1.0`, WEIGHT-ADD: `0`
 
 // Executed Command:
@@ -28,11 +28,12 @@
 //   benchmark
 //   overhead
 //   --chain=rococo-dev
+//   --execution=wasm
 //   --wasm-execution=compiled
-//   --weight-path=./polkadot/runtime/rococo/constants/src/weights/
+//   --weight-path=runtime/rococo/constants/src/weights/
 //   --warmup=10
 //   --repeat=100
-//   --header=./polkadot/file_header.txt
+//   --header=./file_header.txt
 
 use sp_core::parameter_types;
 use sp_weights::{constants::WEIGHT_REF_TIME_PER_NANOS, Weight};
@@ -42,17 +43,17 @@ parameter_types! {
 	/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
 	///
 	/// Stats nanoseconds:
-	///   Min, Max: 92_961, 94_143
-	///   Average:  93_369
-	///   Median:   93_331
-	///   Std-Dev:  217.39
+	///   Min, Max: 97_574, 100_119
+	///   Average:  98_236
+	///   Median:   98_179
+	///   Std-Dev:  394.9
 	///
 	/// Percentiles nanoseconds:
-	///   99th: 93_848
-	///   95th: 93_691
-	///   75th: 93_514
+	///   99th: 99_893
+	///   95th: 98_850
+	///   75th: 98_318
 	pub const ExtrinsicBaseWeight: Weight =
-		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(93_369), 0);
+		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(98_236), 0);
 }
 
 #[cfg(test)]
diff --git a/polkadot/runtime/rococo/src/lib.rs b/polkadot/runtime/rococo/src/lib.rs
index ff54c777670..96e8c4e0979 100644
--- a/polkadot/runtime/rococo/src/lib.rs
+++ b/polkadot/runtime/rococo/src/lib.rs
@@ -199,7 +199,6 @@ impl frame_system::Config for Runtime {
 	type Version = Version;
 	type AccountData = pallet_balances::AccountData<Balance>;
 	type SystemWeightInfo = weights::frame_system::WeightInfo<Runtime>;
-	type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo<Runtime>;
 	type SS58Prefix = SS58Prefix;
 	type MaxConsumers = frame_support::traits::ConstU32<16>;
 }
@@ -330,7 +329,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type WeightToFee = WeightToFee;
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
-	type WeightInfo = weights::pallet_transaction_payment::WeightInfo<Runtime>;
 }
 
 parameter_types! {
@@ -593,7 +591,7 @@ where
 			// so the actual block number is `n`.
 			.saturating_sub(1);
 		let tip = 0;
-		let tx_ext: TxExtension = (
+		let extra: SignedExtra = (
 			frame_system::CheckNonZeroSender::<Runtime>::new(),
 			frame_system::CheckSpecVersion::<Runtime>::new(),
 			frame_system::CheckTxVersion::<Runtime>::new(),
@@ -605,17 +603,16 @@ where
 			frame_system::CheckNonce::<Runtime>::from(nonce),
 			frame_system::CheckWeight::<Runtime>::new(),
 			pallet_transaction_payment::ChargeTransactionPayment::<Runtime>::from(tip),
-		)
-			.into();
-		let raw_payload = SignedPayload::new(call, tx_ext)
+		);
+		let raw_payload = SignedPayload::new(call, extra)
 			.map_err(|e| {
 				log::warn!("Unable to create signed payload: {:?}", e);
 			})
 			.ok()?;
 		let signature = raw_payload.using_encoded(|payload| C::sign(payload, public))?;
-		let (call, tx_ext, _) = raw_payload.deconstruct();
+		let (call, extra, _) = raw_payload.deconstruct();
 		let address = <Runtime as frame_system::Config>::Lookup::unlookup(account);
-		Some((call, (address, signature, tx_ext)))
+		Some((call, (address, signature, extra)))
 	}
 }
 
@@ -636,32 +633,12 @@ parameter_types! {
 	pub Prefix: &'static [u8] = b"Pay ROCs to the Rococo account:";
 }
 
-#[cfg(feature = "runtime-benchmarks")]
-pub struct ClaimsHelper;
-
-#[cfg(feature = "runtime-benchmarks")]
-use frame_support::dispatch::DispatchInfo;
-
-#[cfg(feature = "runtime-benchmarks")]
-impl claims::BenchmarkHelperTrait<RuntimeCall, DispatchInfo> for ClaimsHelper {
-	fn default_call_and_info() -> (RuntimeCall, DispatchInfo) {
-		use frame_support::dispatch::GetDispatchInfo;
-		let call = RuntimeCall::Claims(claims::Call::attest {
-			statement: claims::StatementKind::Regular.to_text().to_vec(),
-		});
-		let info = call.get_dispatch_info();
-		(call, info)
-	}
-}
-
 impl claims::Config for Runtime {
 	type RuntimeEvent = RuntimeEvent;
 	type VestingSchedule = Vesting;
 	type Prefix = Prefix;
 	type MoveClaimOrigin = EnsureRoot<AccountId>;
 	type WeightInfo = weights::runtime_common_claims::WeightInfo<Runtime>;
-	#[cfg(feature = "runtime-benchmarks")]
-	type BenchmarkHelper = ClaimsHelper;
 }
 
 parameter_types! {
@@ -1470,8 +1447,8 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 pub type SignedBlock = generic::SignedBlock<Block>;
 /// `BlockId` type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The `SignedExtension` to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -1484,7 +1461,7 @@ pub type TxExtension = (
 
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 /// All migrations that will run on the next runtime upgrade.
 ///
@@ -1698,7 +1675,7 @@ pub type Executive = frame_executive::Executive<
 	Migrations,
 >;
 /// The payload being signed in transactions.
-pub type SignedPayload = generic::SignedPayload<RuntimeCall, TxExtension>;
+pub type SignedPayload = generic::SignedPayload<RuntimeCall, SignedExtra>;
 
 parameter_types! {
 	// The deposit configuration for the singed migration. Specially if you want to allow any signed account to do the migration (see `SignedFilter`, these deposits should be high)
@@ -1769,9 +1746,7 @@ mod benches {
 		[pallet_scheduler, Scheduler]
 		[pallet_sudo, Sudo]
 		[frame_system, SystemBench::<Runtime>]
-		[frame_system_extensions, SystemExtensionsBench::<Runtime>]
 		[pallet_timestamp, Timestamp]
-		[pallet_transaction_payment, TransactionPayment]
 		[pallet_treasury, Treasury]
 		[pallet_utility, Utility]
 		[pallet_vesting, Vesting]
@@ -2265,7 +2240,6 @@ sp_api::impl_runtime_apis! {
 			use frame_support::traits::StorageInfoTrait;
 
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use frame_benchmarking::baseline::Pallet as Baseline;
 
 			use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark;
@@ -2286,7 +2260,6 @@ sp_api::impl_runtime_apis! {
 			use frame_support::traits::WhitelistedStorageKeys;
 			use frame_benchmarking::{Benchmarking, BenchmarkBatch, BenchmarkError};
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use frame_benchmarking::baseline::Pallet as Baseline;
 			use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark;
 			use sp_storage::TrackedStorageKey;
diff --git a/polkadot/runtime/rococo/src/weights/frame_benchmarking_baseline.rs b/polkadot/runtime/rococo/src/weights/frame_benchmarking_baseline.rs
index 0f68a5c6fb3..dfba0cfc4aa 100644
--- a/polkadot/runtime/rococo/src/weights/frame_benchmarking_baseline.rs
+++ b/polkadot/runtime/rococo/src/weights/frame_benchmarking_baseline.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `frame_benchmarking::baseline`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=frame_benchmarking::baseline
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/frame_benchmarking_baseline.rs
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/frame_benchmarking_baseline.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -55,8 +52,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 172_000 picoseconds.
-		Weight::from_parts(199_481, 0)
+		// Minimum execution time: 157_000 picoseconds.
+		Weight::from_parts(175_233, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 1000000]`.
@@ -64,8 +61,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 171_000 picoseconds.
-		Weight::from_parts(197_821, 0)
+		// Minimum execution time: 149_000 picoseconds.
+		Weight::from_parts(183_285, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 1000000]`.
@@ -73,8 +70,8 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 172_000 picoseconds.
-		Weight::from_parts(200_942, 0)
+		// Minimum execution time: 158_000 picoseconds.
+		Weight::from_parts(184_720, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 1000000]`.
@@ -82,16 +79,16 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 170_000 picoseconds.
-		Weight::from_parts(196_906, 0)
+		// Minimum execution time: 152_000 picoseconds.
+		Weight::from_parts(177_496, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	fn hashing() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 23_346_876_000 picoseconds.
-		Weight::from_parts(23_363_744_000, 0)
+		// Minimum execution time: 19_907_376_000 picoseconds.
+		Weight::from_parts(19_988_727_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `i` is `[0, 100]`.
@@ -99,10 +96,10 @@ impl<T: frame_system::Config> frame_benchmarking::baseline::WeightInfo for Weigh
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 201_000 picoseconds.
-		Weight::from_parts(219_000, 0)
+		// Minimum execution time: 198_000 picoseconds.
+		Weight::from_parts(228_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 14_372
-			.saturating_add(Weight::from_parts(45_375_800, 0).saturating_mul(i.into()))
+			// Standard Error: 20_467
+			.saturating_add(Weight::from_parts(47_443_635, 0).saturating_mul(i.into()))
 	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/frame_system.rs b/polkadot/runtime/rococo/src/weights/frame_system.rs
index 1742a761ca7..2e49483dcc6 100644
--- a/polkadot/runtime/rococo/src/weights/frame_system.rs
+++ b/polkadot/runtime/rococo/src/weights/frame_system.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `frame_system`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=frame_system
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -55,91 +52,91 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_541_000 picoseconds.
-		Weight::from_parts(2_581_470, 0)
+		// Minimum execution time: 2_283_000 picoseconds.
+		Weight::from_parts(2_305_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(387, 0).saturating_mul(b.into()))
+			.saturating_add(Weight::from_parts(366, 0).saturating_mul(b.into()))
 	}
 	/// The range of component `b` is `[0, 3932160]`.
 	fn remark_with_event(b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_060_000 picoseconds.
-		Weight::from_parts(5_167_000, 0)
+		// Minimum execution time: 7_435_000 picoseconds.
+		Weight::from_parts(7_581_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_696, 0).saturating_mul(b.into()))
+			// Standard Error: 0
+			.saturating_add(Weight::from_parts(1_408, 0).saturating_mul(b.into()))
 	}
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
+	/// Storage: System Digest (r:1 w:1)
+	/// Proof Skipped: System Digest (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: unknown `0x3a686561707061676573` (r:0 w:1)
+	/// Proof Skipped: unknown `0x3a686561707061676573` (r:0 w:1)
 	fn set_heap_pages() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `1485`
-		// Minimum execution time: 2_649_000 picoseconds.
-		Weight::from_parts(2_909_000, 0)
+		// Minimum execution time: 4_010_000 picoseconds.
+		Weight::from_parts(4_112_000, 0)
 			.saturating_add(Weight::from_parts(0, 1485))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
+	/// Storage: System Digest (r:1 w:1)
+	/// Proof Skipped: System Digest (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: unknown `0x3a636f6465` (r:0 w:1)
+	/// Proof Skipped: unknown `0x3a636f6465` (r:0 w:1)
 	fn set_code() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `1485`
-		// Minimum execution time: 88_417_540_000 picoseconds.
-		Weight::from_parts(91_809_291_000, 0)
+		// Minimum execution time: 80_405_511_000 picoseconds.
+		Weight::from_parts(83_066_478_000, 0)
 			.saturating_add(Weight::from_parts(0, 1485))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Skipped::Metadata` (r:0 w:0)
-	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Skipped Metadata (r:0 w:0)
+	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `i` is `[0, 1000]`.
 	fn set_storage(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_538_000 picoseconds.
-		Weight::from_parts(1_589_000, 0)
+		// Minimum execution time: 2_210_000 picoseconds.
+		Weight::from_parts(2_247_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 1_740
-			.saturating_add(Weight::from_parts(730_941, 0).saturating_mul(i.into()))
+			// Standard Error: 2_058
+			.saturating_add(Weight::from_parts(673_943, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
-	/// Storage: `Skipped::Metadata` (r:0 w:0)
-	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Skipped Metadata (r:0 w:0)
+	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `i` is `[0, 1000]`.
 	fn kill_storage(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_567_000 picoseconds.
-		Weight::from_parts(1_750_000, 0)
+		// Minimum execution time: 2_125_000 picoseconds.
+		Weight::from_parts(2_154_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 835
-			.saturating_add(Weight::from_parts(543_218, 0).saturating_mul(i.into()))
+			// Standard Error: 816
+			.saturating_add(Weight::from_parts(491_194, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
-	/// Storage: `Skipped::Metadata` (r:0 w:0)
-	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Skipped Metadata (r:0 w:0)
+	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `p` is `[0, 1000]`.
 	fn kill_prefix(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `80 + p * (69 ±0)`
-		//  Estimated: `83 + p * (70 ±0)`
-		// Minimum execution time: 3_412_000 picoseconds.
-		Weight::from_parts(3_448_000, 0)
-			.saturating_add(Weight::from_parts(0, 83))
-			// Standard Error: 1_395
-			.saturating_add(Weight::from_parts(1_142_347, 0).saturating_mul(p.into()))
+		//  Measured:  `129 + p * (69 ±0)`
+		//  Estimated: `125 + p * (70 ±0)`
+		// Minimum execution time: 4_002_000 picoseconds.
+		Weight::from_parts(4_145_000, 0)
+			.saturating_add(Weight::from_parts(0, 125))
+			// Standard Error: 1_108
+			.saturating_add(Weight::from_parts(1_014_971, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
 			.saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into()))
@@ -150,8 +147,8 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 9_178_000 picoseconds.
-		Weight::from_parts(9_780_000, 0)
+		// Minimum execution time: 33_027_000 picoseconds.
+		Weight::from_parts(33_027_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -165,8 +162,8 @@ impl<T: frame_system::Config> frame_system::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `22`
 		//  Estimated: `1518`
-		// Minimum execution time: 94_523_563_000 picoseconds.
-		Weight::from_parts(96_983_131_000, 0)
+		// Minimum execution time: 118_101_992_000 picoseconds.
+		Weight::from_parts(118_101_992_000, 0)
 			.saturating_add(Weight::from_parts(0, 1518))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(3))
diff --git a/polkadot/runtime/rococo/src/weights/frame_system_extensions.rs b/polkadot/runtime/rococo/src/weights/frame_system_extensions.rs
deleted file mode 100644
index 40520591f53..00000000000
--- a/polkadot/runtime/rococo/src/weights/frame_system_extensions.rs
+++ /dev/null
@@ -1,123 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot 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.
-
-// Polkadot 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 Polkadot.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `frame_system_extensions`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/production/polkadot
-// benchmark
-// pallet
-// --chain=rococo-dev
-// --steps=50
-// --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=frame_system_extensions
-// --extrinsic=*
-// --execution=wasm
-// --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `frame_system_extensions`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_262_000 picoseconds.
-		Weight::from_parts(3_497_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 5_416_000 picoseconds.
-		Weight::from_parts(5_690_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 471_000 picoseconds.
-		Weight::from_parts(552_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `101`
-		//  Estimated: `3593`
-		// Minimum execution time: 4_847_000 picoseconds.
-		Weight::from_parts(5_091_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 388_000 picoseconds.
-		Weight::from_parts(421_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 378_000 picoseconds.
-		Weight::from_parts(440_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1489`
-		// Minimum execution time: 3_402_000 picoseconds.
-		Weight::from_parts(3_627_000, 0)
-			.saturating_add(Weight::from_parts(0, 1489))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-}
diff --git a/polkadot/runtime/rococo/src/weights/mod.rs b/polkadot/runtime/rococo/src/weights/mod.rs
index 128a3083a9c..7328dca9393 100644
--- a/polkadot/runtime/rococo/src/weights/mod.rs
+++ b/polkadot/runtime/rococo/src/weights/mod.rs
@@ -16,7 +16,6 @@
 //! A list of the different weight modules for our runtime.
 
 pub mod frame_system;
-pub mod frame_system_extensions;
 pub mod pallet_asset_rate;
 pub mod pallet_balances_balances;
 pub mod pallet_balances_nis_counterpart_balances;
@@ -37,7 +36,6 @@ pub mod pallet_scheduler;
 pub mod pallet_session;
 pub mod pallet_sudo;
 pub mod pallet_timestamp;
-pub mod pallet_transaction_payment;
 pub mod pallet_treasury;
 pub mod pallet_utility;
 pub mod pallet_vesting;
diff --git a/polkadot/runtime/rococo/src/weights/pallet_asset_rate.rs b/polkadot/runtime/rococo/src/weights/pallet_asset_rate.rs
index 56b1e2cbc57..da2d1958cef 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_asset_rate.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_asset_rate.rs
@@ -16,28 +16,25 @@
 
 //! Autogenerated weights for `pallet_asset_rate`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-07-03, STEPS: `50`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `cob`, CPU: `<UNKNOWN>`
+//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// ./target/debug/polkadot
 // benchmark
 // pallet
 // --chain=rococo-dev
 // --steps=50
-// --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
+// --repeat=2
 // --pallet=pallet_asset_rate
 // --extrinsic=*
-// --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --heap-pages=4096
+// --output=./runtime/rococo/src/weights/
+// --header=./file_header.txt
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,39 +47,39 @@ use core::marker::PhantomData;
 /// Weight functions for `pallet_asset_rate`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_asset_rate::WeightInfo for WeightInfo<T> {
-	/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1)
-	/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(1238), added: 3713, mode: `MaxEncodedLen`)
+	/// Storage: AssetRate ConversionRateToNative (r:1 w:1)
+	/// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(1237), added: 3712, mode: MaxEncodedLen)
 	fn create() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `142`
-		//  Estimated: `4703`
-		// Minimum execution time: 10_277_000 picoseconds.
-		Weight::from_parts(10_487_000, 0)
-			.saturating_add(Weight::from_parts(0, 4703))
+		//  Measured:  `42`
+		//  Estimated: `4702`
+		// Minimum execution time: 143_000_000 picoseconds.
+		Weight::from_parts(155_000_000, 0)
+			.saturating_add(Weight::from_parts(0, 4702))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1)
-	/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(1238), added: 3713, mode: `MaxEncodedLen`)
+	/// Storage: AssetRate ConversionRateToNative (r:1 w:1)
+	/// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(1237), added: 3712, mode: MaxEncodedLen)
 	fn update() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `210`
-		//  Estimated: `4703`
-		// Minimum execution time: 10_917_000 picoseconds.
-		Weight::from_parts(11_249_000, 0)
-			.saturating_add(Weight::from_parts(0, 4703))
+		//  Measured:  `110`
+		//  Estimated: `4702`
+		// Minimum execution time: 156_000_000 picoseconds.
+		Weight::from_parts(172_000_000, 0)
+			.saturating_add(Weight::from_parts(0, 4702))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1)
-	/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(1238), added: 3713, mode: `MaxEncodedLen`)
+	/// Storage: AssetRate ConversionRateToNative (r:1 w:1)
+	/// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(1237), added: 3712, mode: MaxEncodedLen)
 	fn remove() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `210`
-		//  Estimated: `4703`
-		// Minimum execution time: 11_332_000 picoseconds.
-		Weight::from_parts(11_866_000, 0)
-			.saturating_add(Weight::from_parts(0, 4703))
+		//  Measured:  `110`
+		//  Estimated: `4702`
+		// Minimum execution time: 150_000_000 picoseconds.
+		Weight::from_parts(160_000_000, 0)
+			.saturating_add(Weight::from_parts(0, 4702))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/polkadot/runtime/rococo/src/weights/pallet_balances_balances.rs b/polkadot/runtime/rococo/src/weights/pallet_balances_balances.rs
index 3fa54f2c369..1b0ae1eeece 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_balances_balances.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_balances_balances.rs
@@ -16,26 +16,24 @@
 
 //! Autogenerated weights for `pallet_balances`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2024-01-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-j8vvqcjr-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// target/production/polkadot
 // benchmark
 // pallet
-// --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=pallet_balances
 // --extrinsic=*
-// --execution=wasm
 // --wasm-execution=compiled
+// --heap-pages=4096
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_balances
+// --chain=rococo-dev
 // --header=./polkadot/file_header.txt
 // --output=./polkadot/runtime/rococo/src/weights/
 
@@ -56,8 +54,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3593`
-		// Minimum execution time: 45_336_000 picoseconds.
-		Weight::from_parts(46_189_000, 0)
+		// Minimum execution time: 44_127_000 picoseconds.
+		Weight::from_parts(45_099_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -68,8 +66,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3593`
-		// Minimum execution time: 34_880_000 picoseconds.
-		Weight::from_parts(35_770_000, 0)
+		// Minimum execution time: 34_265_000 picoseconds.
+		Weight::from_parts(35_083_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -80,8 +78,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `174`
 		//  Estimated: `3593`
-		// Minimum execution time: 12_904_000 picoseconds.
-		Weight::from_parts(13_260_000, 0)
+		// Minimum execution time: 12_189_000 picoseconds.
+		Weight::from_parts(12_655_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -92,8 +90,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `174`
 		//  Estimated: `3593`
-		// Minimum execution time: 17_669_000 picoseconds.
-		Weight::from_parts(18_228_000, 0)
+		// Minimum execution time: 16_910_000 picoseconds.
+		Weight::from_parts(17_474_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -104,8 +102,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `103`
 		//  Estimated: `6196`
-		// Minimum execution time: 46_492_000 picoseconds.
-		Weight::from_parts(47_639_000, 0)
+		// Minimum execution time: 45_212_000 picoseconds.
+		Weight::from_parts(46_320_000, 0)
 			.saturating_add(Weight::from_parts(0, 6196))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -116,8 +114,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3593`
-		// Minimum execution time: 44_342_000 picoseconds.
-		Weight::from_parts(45_144_000, 0)
+		// Minimum execution time: 42_500_000 picoseconds.
+		Weight::from_parts(43_991_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -128,8 +126,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `174`
 		//  Estimated: `3593`
-		// Minimum execution time: 15_260_000 picoseconds.
-		Weight::from_parts(15_775_000, 0)
+		// Minimum execution time: 15_197_000 picoseconds.
+		Weight::from_parts(15_749_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -142,11 +140,11 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + u * (135 ±0)`
 		//  Estimated: `990 + u * (2603 ±0)`
-		// Minimum execution time: 14_703_000 picoseconds.
-		Weight::from_parts(14_950_000, 0)
+		// Minimum execution time: 14_414_000 picoseconds.
+		Weight::from_parts(14_685_000, 0)
 			.saturating_add(Weight::from_parts(0, 990))
-			// Standard Error: 7_665
-			.saturating_add(Weight::from_parts(13_335_803, 0).saturating_mul(u.into()))
+			// Standard Error: 7_918
+			.saturating_add(Weight::from_parts(13_095_420, 0).saturating_mul(u.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(u.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(u.into())))
 			.saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into()))
@@ -155,8 +153,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_506_000 picoseconds.
-		Weight::from_parts(5_753_000, 0)
+		// Minimum execution time: 5_239_000 picoseconds.
+		Weight::from_parts(5_617_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/pallet_balances_nis_counterpart_balances.rs b/polkadot/runtime/rococo/src/weights/pallet_balances_nis_counterpart_balances.rs
index 1852ba6c2c4..6cca9b9320a 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_balances_nis_counterpart_balances.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_balances_nis_counterpart_balances.rs
@@ -16,26 +16,24 @@
 
 //! Autogenerated weights for `pallet_balances`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2024-01-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-j8vvqcjr-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// target/production/polkadot
 // benchmark
 // pallet
-// --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=pallet_balances
 // --extrinsic=*
-// --execution=wasm
 // --wasm-execution=compiled
+// --heap-pages=4096
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_balances
+// --chain=rococo-dev
 // --header=./polkadot/file_header.txt
 // --output=./polkadot/runtime/rococo/src/weights/
 
@@ -58,8 +56,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `103`
 		//  Estimated: `6164`
-		// Minimum execution time: 42_443_000 picoseconds.
-		Weight::from_parts(43_250_000, 0)
+		// Minimum execution time: 41_978_000 picoseconds.
+		Weight::from_parts(42_989_000, 0)
 			.saturating_add(Weight::from_parts(0, 6164))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -72,8 +70,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `103`
 		//  Estimated: `6164`
-		// Minimum execution time: 32_417_000 picoseconds.
-		Weight::from_parts(33_247_000, 0)
+		// Minimum execution time: 32_250_000 picoseconds.
+		Weight::from_parts(33_074_000, 0)
 			.saturating_add(Weight::from_parts(0, 6164))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -84,8 +82,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `103`
 		//  Estimated: `3577`
-		// Minimum execution time: 10_091_000 picoseconds.
-		Weight::from_parts(10_426_000, 0)
+		// Minimum execution time: 9_906_000 picoseconds.
+		Weight::from_parts(10_397_000, 0)
 			.saturating_add(Weight::from_parts(0, 3577))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -98,8 +96,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `277`
 		//  Estimated: `3593`
-		// Minimum execution time: 16_546_000 picoseconds.
-		Weight::from_parts(17_259_000, 0)
+		// Minimum execution time: 16_298_000 picoseconds.
+		Weight::from_parts(17_115_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -112,8 +110,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `206`
 		//  Estimated: `6196`
-		// Minimum execution time: 44_322_000 picoseconds.
-		Weight::from_parts(45_319_000, 0)
+		// Minimum execution time: 43_283_000 picoseconds.
+		Weight::from_parts(44_033_000, 0)
 			.saturating_add(Weight::from_parts(0, 6196))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -126,8 +124,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `103`
 		//  Estimated: `6164`
-		// Minimum execution time: 40_852_000 picoseconds.
-		Weight::from_parts(42_205_000, 0)
+		// Minimum execution time: 40_564_000 picoseconds.
+		Weight::from_parts(41_597_000, 0)
 			.saturating_add(Weight::from_parts(0, 6164))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -140,8 +138,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `277`
 		//  Estimated: `3593`
-		// Minimum execution time: 15_050_000 picoseconds.
-		Weight::from_parts(15_813_000, 0)
+		// Minimum execution time: 15_018_000 picoseconds.
+		Weight::from_parts(15_532_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -156,11 +154,11 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + u * (256 ±0)`
 		//  Estimated: `990 + u * (2603 ±0)`
-		// Minimum execution time: 14_830_000 picoseconds.
-		Weight::from_parts(15_061_000, 0)
+		// Minimum execution time: 14_470_000 picoseconds.
+		Weight::from_parts(14_828_000, 0)
 			.saturating_add(Weight::from_parts(0, 990))
-			// Standard Error: 16_072
-			.saturating_add(Weight::from_parts(14_981_430, 0).saturating_mul(u.into()))
+			// Standard Error: 15_515
+			.saturating_add(Weight::from_parts(14_505_553, 0).saturating_mul(u.into()))
 			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(u.into())))
 			.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(u.into())))
 			.saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into()))
@@ -169,8 +167,8 @@ impl<T: frame_system::Config> pallet_balances::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_344_000 picoseconds.
-		Weight::from_parts(5_735_000, 0)
+		// Minimum execution time: 5_277_000 picoseconds.
+		Weight::from_parts(5_628_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/pallet_bounties.rs b/polkadot/runtime/rococo/src/weights/pallet_bounties.rs
index 8f8be5f2386..38d3645316f 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_bounties.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_bounties.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `pallet_bounties`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=pallet_bounties
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,181 +47,118 @@ use core::marker::PhantomData;
 /// Weight functions for `pallet_bounties`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_bounties::WeightInfo for WeightInfo<T> {
-	/// Storage: `Bounties::BountyCount` (r:1 w:1)
-	/// Proof: `Bounties::BountyCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyDescriptions` (r:0 w:1)
-	/// Proof: `Bounties::BountyDescriptions` (`max_values`: None, `max_size`: Some(16400), added: 18875, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::Bounties` (r:0 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
+	/// Storage: Bounties BountyCount (r:1 w:1)
+	/// Proof: Bounties BountyCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyDescriptions (r:0 w:1)
+	/// Proof: Bounties BountyDescriptions (max_values: None, max_size: Some(16400), added: 18875, mode: MaxEncodedLen)
+	/// Storage: Bounties Bounties (r:0 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
 	/// The range of component `d` is `[0, 16384]`.
 	fn propose_bounty(d: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `210`
 		//  Estimated: `3593`
-		// Minimum execution time: 21_772_000 picoseconds.
-		Weight::from_parts(22_861_341, 0)
+		// Minimum execution time: 28_907_000 picoseconds.
+		Weight::from_parts(31_356_074, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
-			// Standard Error: 3
-			.saturating_add(Weight::from_parts(721, 0).saturating_mul(d.into()))
+			// Standard Error: 18
+			.saturating_add(Weight::from_parts(606, 0).saturating_mul(d.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyApprovals` (r:1 w:1)
-	/// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
 	fn approve_bounty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `302`
-		//  Estimated: `3642`
-		// Minimum execution time: 11_218_000 picoseconds.
-		Weight::from_parts(11_796_000, 0)
-			.saturating_add(Weight::from_parts(0, 3642))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
 	fn propose_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `322`
-		//  Estimated: `3642`
-		// Minimum execution time: 10_959_000 picoseconds.
-		Weight::from_parts(11_658_000, 0)
-			.saturating_add(Weight::from_parts(0, 3642))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(1))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
 	fn unassign_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `498`
-		//  Estimated: `3642`
-		// Minimum execution time: 37_419_000 picoseconds.
-		Weight::from_parts(38_362_000, 0)
-			.saturating_add(Weight::from_parts(0, 3642))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
 	fn accept_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `494`
-		//  Estimated: `3642`
-		// Minimum execution time: 27_328_000 picoseconds.
-		Weight::from_parts(27_661_000, 0)
-			.saturating_add(Weight::from_parts(0, 3642))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:0)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
 	fn award_bounty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `400`
-		//  Estimated: `3642`
-		// Minimum execution time: 16_067_000 picoseconds.
-		Weight::from_parts(16_865_000, 0)
-			.saturating_add(Weight::from_parts(0, 3642))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:3 w:3)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildrenCuratorFees` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildrenCuratorFees` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyDescriptions` (r:0 w:1)
-	/// Proof: `Bounties::BountyDescriptions` (`max_values`: None, `max_size`: Some(16400), added: 18875, mode: `MaxEncodedLen`)
 	fn claim_bounty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `764`
-		//  Estimated: `8799`
-		// Minimum execution time: 101_153_000 picoseconds.
-		Weight::from_parts(102_480_000, 0)
-			.saturating_add(Weight::from_parts(0, 8799))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(6))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:0)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyDescriptions` (r:0 w:1)
-	/// Proof: `Bounties::BountyDescriptions` (`max_values`: None, `max_size`: Some(16400), added: 18875, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:0)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyDescriptions (r:0 w:1)
+	/// Proof: Bounties BountyDescriptions (max_values: None, max_size: Some(16400), added: 18875, mode: MaxEncodedLen)
 	fn close_bounty_proposed() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `444`
+		//  Measured:  `482`
 		//  Estimated: `3642`
-		// Minimum execution time: 38_838_000 picoseconds.
-		Weight::from_parts(39_549_000, 0)
+		// Minimum execution time: 46_020_000 picoseconds.
+		Weight::from_parts(46_711_000, 0)
 			.saturating_add(Weight::from_parts(0, 3642))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:0)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyDescriptions` (r:0 w:1)
-	/// Proof: `Bounties::BountyDescriptions` (`max_values`: None, `max_size`: Some(16400), added: 18875, mode: `MaxEncodedLen`)
 	fn close_bounty_active() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `680`
-		//  Estimated: `6196`
-		// Minimum execution time: 68_592_000 picoseconds.
-		Weight::from_parts(70_727_000, 0)
-			.saturating_add(Weight::from_parts(0, 6196))
-			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(4))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
 	fn extend_bounty_expiry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `358`
-		//  Estimated: `3642`
-		// Minimum execution time: 11_272_000 picoseconds.
-		Weight::from_parts(11_592_000, 0)
-			.saturating_add(Weight::from_parts(0, 3642))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(1))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `Bounties::BountyApprovals` (r:1 w:1)
-	/// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::Bounties` (r:100 w:100)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:200 w:200)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Bounties BountyApprovals (r:1 w:1)
+	/// Proof: Bounties BountyApprovals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
 	/// The range of component `b` is `[0, 100]`.
-	fn spend_funds(b: u32, ) -> Weight {
+	fn spend_funds(_b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `0 + b * (297 ±0)`
-		//  Estimated: `1887 + b * (5206 ±0)`
-		// Minimum execution time: 2_844_000 picoseconds.
-		Weight::from_parts(2_900_000, 0)
+		//  Measured:  `0`
+		//  Estimated: `1887`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(2_405_233, 0)
 			.saturating_add(Weight::from_parts(0, 1887))
-			// Standard Error: 9_467
-			.saturating_add(Weight::from_parts(32_326_595, 0).saturating_mul(b.into()))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(b.into())))
-			.saturating_add(T::DbWeight::get().writes(1))
-			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(b.into())))
-			.saturating_add(Weight::from_parts(0, 5206).saturating_mul(b.into()))
 	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/pallet_child_bounties.rs b/polkadot/runtime/rococo/src/weights/pallet_child_bounties.rs
index 47ae3a5c90d..e8c798d45e7 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_child_bounties.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_child_bounties.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `pallet_child_bounties`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=pallet_child_bounties
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,153 +47,69 @@ use core::marker::PhantomData;
 /// Weight functions for `pallet_child_bounties`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_child_bounties::WeightInfo for WeightInfo<T> {
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyCount` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBountyCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyDescriptions` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBountyDescriptions` (`max_values`: None, `max_size`: Some(16400), added: 18875, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
 	/// The range of component `d` is `[0, 16384]`.
-	fn add_child_bounty(d: u32, ) -> Weight {
+	fn add_child_bounty(_d: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `540`
-		//  Estimated: `6196`
-		// Minimum execution time: 57_964_000 picoseconds.
-		Weight::from_parts(59_559_565, 0)
-			.saturating_add(Weight::from_parts(0, 6196))
-			// Standard Error: 11
-			.saturating_add(Weight::from_parts(697, 0).saturating_mul(d.into()))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(6))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildrenCuratorFees` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildrenCuratorFees` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
 	fn propose_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `594`
-		//  Estimated: `3642`
-		// Minimum execution time: 17_527_000 picoseconds.
-		Weight::from_parts(18_257_000, 0)
-			.saturating_add(Weight::from_parts(0, 3642))
-			.saturating_add(T::DbWeight::get().reads(3))
-			.saturating_add(T::DbWeight::get().writes(2))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
 	fn accept_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `740`
-		//  Estimated: `3642`
-		// Minimum execution time: 29_354_000 picoseconds.
-		Weight::from_parts(30_629_000, 0)
-			.saturating_add(Weight::from_parts(0, 3642))
-			.saturating_add(T::DbWeight::get().reads(3))
-			.saturating_add(T::DbWeight::get().writes(2))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
 	fn unassign_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `740`
-		//  Estimated: `3642`
-		// Minimum execution time: 40_643_000 picoseconds.
-		Weight::from_parts(42_072_000, 0)
-			.saturating_add(Weight::from_parts(0, 3642))
-			.saturating_add(T::DbWeight::get().reads(3))
-			.saturating_add(T::DbWeight::get().writes(2))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
 	fn award_child_bounty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `637`
-		//  Estimated: `3642`
-		// Minimum execution time: 18_616_000 picoseconds.
-		Weight::from_parts(19_316_000, 0)
-			.saturating_add(Weight::from_parts(0, 3642))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:3 w:3)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyDescriptions` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBountyDescriptions` (`max_values`: None, `max_size`: Some(16400), added: 18875, mode: `MaxEncodedLen`)
 	fn claim_child_bounty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `576`
-		//  Estimated: `8799`
-		// Minimum execution time: 96_376_000 picoseconds.
-		Weight::from_parts(98_476_000, 0)
-			.saturating_add(Weight::from_parts(0, 8799))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(6))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildrenCuratorFees` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildrenCuratorFees` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyDescriptions` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBountyDescriptions` (`max_values`: None, `max_size`: Some(16400), added: 18875, mode: `MaxEncodedLen`)
 	fn close_child_bounty_added() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `840`
-		//  Estimated: `6196`
-		// Minimum execution time: 64_640_000 picoseconds.
-		Weight::from_parts(66_174_000, 0)
-			.saturating_add(Weight::from_parts(0, 6196))
-			.saturating_add(T::DbWeight::get().reads(6))
-			.saturating_add(T::DbWeight::get().writes(6))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:3 w:3)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildrenCuratorFees` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildrenCuratorFees` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyDescriptions` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBountyDescriptions` (`max_values`: None, `max_size`: Some(16400), added: 18875, mode: `MaxEncodedLen`)
 	fn close_child_bounty_active() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1027`
-		//  Estimated: `8799`
-		// Minimum execution time: 78_159_000 picoseconds.
-		Weight::from_parts(79_820_000, 0)
-			.saturating_add(Weight::from_parts(0, 8799))
-			.saturating_add(T::DbWeight::get().reads(7))
-			.saturating_add(T::DbWeight::get().writes(7))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/pallet_conviction_voting.rs b/polkadot/runtime/rococo/src/weights/pallet_conviction_voting.rs
index 5d92c158df4..ba505737f1b 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_conviction_voting.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_conviction_voting.rs
@@ -16,17 +16,17 @@
 
 //! Autogenerated weights for `pallet_conviction_voting`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-19, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `runner-e8ezs4ez-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("kusama-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
 // benchmark
 // pallet
-// --chain=rococo-dev
+// --chain=kusama-dev
 // --steps=50
 // --repeat=20
 // --no-storage-info
@@ -36,8 +36,8 @@
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/kusama/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,152 +50,144 @@ use core::marker::PhantomData;
 /// Weight functions for `pallet_conviction_voting`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_conviction_voting::WeightInfo for WeightInfo<T> {
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
+	/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(311), added: 2786, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
 	fn vote_new() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `13407`
+		//  Measured:  `13445`
 		//  Estimated: `42428`
-		// Minimum execution time: 128_378_000 picoseconds.
-		Weight::from_parts(131_028_000, 0)
+		// Minimum execution time: 151_077_000 picoseconds.
+		Weight::from_parts(165_283_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(5))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
+	/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(311), added: 2786, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
 	fn vote_existing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `14128`
+		//  Measured:  `14166`
 		//  Estimated: `83866`
-		// Minimum execution time: 155_379_000 picoseconds.
-		Weight::from_parts(161_597_000, 0)
+		// Minimum execution time: 232_420_000 picoseconds.
+		Weight::from_parts(244_439_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
 			.saturating_add(T::DbWeight::get().reads(7))
-			.saturating_add(T::DbWeight::get().writes(7))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
 	fn remove_vote() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `13918`
 		//  Estimated: `83866`
-		// Minimum execution time: 130_885_000 picoseconds.
-		Weight::from_parts(138_080_000, 0)
+		// Minimum execution time: 205_017_000 picoseconds.
+		Weight::from_parts(216_594_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
 			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(5))
+			.saturating_add(T::DbWeight::get().writes(4))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
 	fn remove_other_vote() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `13005`
+		//  Measured:  `13004`
 		//  Estimated: `30706`
-		// Minimum execution time: 71_743_000 picoseconds.
-		Weight::from_parts(75_170_000, 0)
+		// Minimum execution time: 84_226_000 picoseconds.
+		Weight::from_parts(91_255_000, 0)
 			.saturating_add(Weight::from_parts(0, 30706))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:2 w:2)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:512 w:512)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:50)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:2 w:2)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:512 w:512)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
+	/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(311), added: 2786, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 512]`.
 	fn delegate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `29602 + r * (365 ±0)`
+		//  Measured:  `29640 + r * (365 ±0)`
 		//  Estimated: `83866 + r * (3411 ±0)`
-		// Minimum execution time: 58_504_000 picoseconds.
-		Weight::from_parts(814_301_018, 0)
+		// Minimum execution time: 78_708_000 picoseconds.
+		Weight::from_parts(2_053_488_615, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
-			// Standard Error: 59_961
-			.saturating_add(Weight::from_parts(20_002_833, 0).saturating_mul(r.into()))
+			// Standard Error: 179_271
+			.saturating_add(Weight::from_parts(47_806_482, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
-			.saturating_add(T::DbWeight::get().writes(45))
+			.saturating_add(T::DbWeight::get().writes(6))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 3411).saturating_mul(r.into()))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:2 w:2)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:512 w:512)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:50)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:2 w:2)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:512 w:512)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(936), added: 3411, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(38963), added: 41438, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 512]`.
 	fn undelegate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `29555 + r * (365 ±0)`
 		//  Estimated: `83866 + r * (3411 ±0)`
-		// Minimum execution time: 34_970_000 picoseconds.
-		Weight::from_parts(771_155_804, 0)
+		// Minimum execution time: 45_232_000 picoseconds.
+		Weight::from_parts(2_045_021_014, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
-			// Standard Error: 57_795
-			.saturating_add(Weight::from_parts(19_781_645, 0).saturating_mul(r.into()))
+			// Standard Error: 185_130
+			.saturating_add(Weight::from_parts(47_896_011, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
-			.saturating_add(T::DbWeight::get().writes(43))
+			.saturating_add(T::DbWeight::get().writes(4))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 3411).saturating_mul(r.into()))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(311), added: 2786, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
+	/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(311), added: 2786, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn unlock() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `12180`
+		//  Measured:  `12218`
 		//  Estimated: `30706`
-		// Minimum execution time: 89_648_000 picoseconds.
-		Weight::from_parts(97_144_000, 0)
+		// Minimum execution time: 116_446_000 picoseconds.
+		Weight::from_parts(124_043_000, 0)
 			.saturating_add(Weight::from_parts(0, 30706))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
diff --git a/polkadot/runtime/rococo/src/weights/pallet_identity.rs b/polkadot/runtime/rococo/src/weights/pallet_identity.rs
index 6df16351f2c..b334e21ea03 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_identity.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_identity.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `pallet_identity`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=pallet_identity
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,291 +47,290 @@ use core::marker::PhantomData;
 /// Weight functions for `pallet_identity`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
-	/// Storage: `Identity::Registrars` (r:1 w:1)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:1)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn add_registrar(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `32 + r * (57 ±0)`
 		//  Estimated: `2626`
-		// Minimum execution time: 7_673_000 picoseconds.
-		Weight::from_parts(8_351_866, 0)
+		// Minimum execution time: 12_290_000 picoseconds.
+		Weight::from_parts(12_664_362, 0)
 			.saturating_add(Weight::from_parts(0, 2626))
-			// Standard Error: 1_302
-			.saturating_add(Weight::from_parts(79_198, 0).saturating_mul(r.into()))
+			// Standard Error: 1_347
+			.saturating_add(Weight::from_parts(88_179, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
 	fn set_identity(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `6978 + r * (5 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 111_646_000 picoseconds.
-		Weight::from_parts(113_254_991, 0)
-			.saturating_add(Weight::from_parts(0, 11037))
-			// Standard Error: 6_611
-			.saturating_add(Weight::from_parts(162_119, 0).saturating_mul(r.into()))
+		//  Measured:  `442 + r * (5 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 31_373_000 picoseconds.
+		Weight::from_parts(30_435_545, 0)
+			.saturating_add(Weight::from_parts(0, 11003))
+			// Standard Error: 2_307
+			.saturating_add(Weight::from_parts(92_753, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:100 w:100)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:100 w:100)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `s` is `[0, 100]`.
 	fn set_subs_new(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `101`
-		//  Estimated: `11037 + s * (2589 ±0)`
-		// Minimum execution time: 8_010_000 picoseconds.
-		Weight::from_parts(19_868_412, 0)
-			.saturating_add(Weight::from_parts(0, 11037))
-			// Standard Error: 5_018
-			.saturating_add(Weight::from_parts(3_115_007, 0).saturating_mul(s.into()))
+		//  Estimated: `11003 + s * (2589 ±0)`
+		// Minimum execution time: 9_251_000 picoseconds.
+		Weight::from_parts(22_039_210, 0)
+			.saturating_add(Weight::from_parts(0, 11003))
+			// Standard Error: 40_779
+			.saturating_add(Weight::from_parts(2_898_525, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(s.into())))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 			.saturating_add(Weight::from_parts(0, 2589).saturating_mul(s.into()))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:0 w:100)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:0 w:100)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `p` is `[0, 100]`.
 	fn set_subs_old(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `194 + p * (32 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 8_111_000 picoseconds.
-		Weight::from_parts(19_482_392, 0)
-			.saturating_add(Weight::from_parts(0, 11037))
-			// Standard Error: 3_156
-			.saturating_add(Weight::from_parts(1_305_890, 0).saturating_mul(p.into()))
+		//  Estimated: `11003`
+		// Minimum execution time: 9_329_000 picoseconds.
+		Weight::from_parts(24_055_061, 0)
+			.saturating_add(Weight::from_parts(0, 11003))
+			// Standard Error: 3_428
+			.saturating_add(Weight::from_parts(1_130_604, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
 	}
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:0 w:100)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:0 w:100)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
 	/// The range of component `s` is `[0, 100]`.
-	fn clear_identity(r: u32, s: u32, ) -> Weight {
+	fn clear_identity(_r: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `7070 + r * (5 ±0) + s * (32 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 54_107_000 picoseconds.
-		Weight::from_parts(56_347_715, 0)
-			.saturating_add(Weight::from_parts(0, 11037))
-			// Standard Error: 10_944
-			.saturating_add(Weight::from_parts(191_321, 0).saturating_mul(r.into()))
-			// Standard Error: 2_135
-			.saturating_add(Weight::from_parts(1_295_872, 0).saturating_mul(s.into()))
+		//  Measured:  `469 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 53_365_000 picoseconds.
+		Weight::from_parts(35_391_422, 0)
+			.saturating_add(Weight::from_parts(0, 11003))
+			// Standard Error: 1_353
+			.saturating_add(Weight::from_parts(1_074_019, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:0)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:0)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
 	fn request_judgement(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `6968 + r * (57 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 75_780_000 picoseconds.
-		Weight::from_parts(76_869_773, 0)
-			.saturating_add(Weight::from_parts(0, 11037))
-			// Standard Error: 5_456
-			.saturating_add(Weight::from_parts(135_316, 0).saturating_mul(r.into()))
+		//  Measured:  `367 + r * (57 ±0) + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 32_509_000 picoseconds.
+		Weight::from_parts(31_745_585, 0)
+			.saturating_add(Weight::from_parts(0, 11003))
+			// Standard Error: 2_214
+			.saturating_add(Weight::from_parts(83_822, 0).saturating_mul(r.into()))
+
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
 	fn cancel_request(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `6999`
-		//  Estimated: `11037`
-		// Minimum execution time: 75_769_000 picoseconds.
-		Weight::from_parts(76_805_143, 0)
-			.saturating_add(Weight::from_parts(0, 11037))
-			// Standard Error: 3_598
-			.saturating_add(Weight::from_parts(84_593, 0).saturating_mul(r.into()))
+		//  Measured:  `398 + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 29_609_000 picoseconds.
+		Weight::from_parts(28_572_602, 0)
+			.saturating_add(Weight::from_parts(0, 11003))
+			// Standard Error: 2_528
+			.saturating_add(Weight::from_parts(85_593, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:1)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:1)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn set_fee(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `89 + r * (57 ±0)`
 		//  Estimated: `2626`
-		// Minimum execution time: 5_357_000 picoseconds.
-		Weight::from_parts(5_732_132, 0)
+		// Minimum execution time: 7_793_000 picoseconds.
+		Weight::from_parts(8_173_888, 0)
 			.saturating_add(Weight::from_parts(0, 2626))
-			// Standard Error: 927
-			.saturating_add(Weight::from_parts(70_832, 0).saturating_mul(r.into()))
+			// Standard Error: 1_569
+			.saturating_add(Weight::from_parts(72_367, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:1)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:1)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn set_account_id(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `89 + r * (57 ±0)`
 		//  Estimated: `2626`
-		// Minimum execution time: 5_484_000 picoseconds.
-		Weight::from_parts(5_892_704, 0)
+		// Minimum execution time: 7_708_000 picoseconds.
+		Weight::from_parts(8_091_149, 0)
 			.saturating_add(Weight::from_parts(0, 2626))
-			// Standard Error: 947
-			.saturating_add(Weight::from_parts(71_231, 0).saturating_mul(r.into()))
+			// Standard Error: 869
+			.saturating_add(Weight::from_parts(87_993, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:1)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:1)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn set_fields(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `89 + r * (57 ±0)`
 		//  Estimated: `2626`
-		// Minimum execution time: 5_310_000 picoseconds.
-		Weight::from_parts(5_766_651, 0)
+		// Minimum execution time: 7_601_000 picoseconds.
+		Weight::from_parts(8_038_414, 0)
 			.saturating_add(Weight::from_parts(0, 2626))
-			// Standard Error: 916
-			.saturating_add(Weight::from_parts(74_776, 0).saturating_mul(r.into()))
+			// Standard Error: 1_041
+			.saturating_add(Weight::from_parts(82_588, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:0)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:0)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn provide_judgement(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `7046 + r * (57 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 98_200_000 picoseconds.
-		Weight::from_parts(100_105_482, 0)
-			.saturating_add(Weight::from_parts(0, 11037))
-			// Standard Error: 6_152
-			.saturating_add(Weight::from_parts(58_906, 0).saturating_mul(r.into()))
+		//  Measured:  `445 + r * (57 ±0) + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 23_114_000 picoseconds.
+		Weight::from_parts(22_076_548, 0)
+			.saturating_add(Weight::from_parts(0, 11003))
+			// Standard Error: 2_881
+			.saturating_add(Weight::from_parts(109_812, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:0 w:100)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:0 w:100)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
 	/// The range of component `s` is `[0, 100]`.
 	fn kill_identity(r: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `7277 + r * (5 ±0) + s * (32 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 64_647_000 picoseconds.
-		Weight::from_parts(68_877_027, 0)
-			.saturating_add(Weight::from_parts(0, 11037))
-			// Standard Error: 9_965
-			.saturating_add(Weight::from_parts(135_044, 0).saturating_mul(r.into()))
-			// Standard Error: 1_944
-			.saturating_add(Weight::from_parts(1_388_151, 0).saturating_mul(s.into()))
+		//  Measured:  `676 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 70_007_000 picoseconds.
+		Weight::from_parts(50_186_495, 0)
+			.saturating_add(Weight::from_parts(0, 11003))
+			// Standard Error: 6_533
+			.saturating_add(Weight::from_parts(15_486, 0).saturating_mul(r.into()))
+			// Standard Error: 1_275
+			.saturating_add(Weight::from_parts(1_085_117, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:1 w:1)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:1 w:1)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
 	/// The range of component `s` is `[0, 99]`.
 	fn add_sub(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `475 + s * (36 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 23_550_000 picoseconds.
-		Weight::from_parts(29_439_842, 0)
-			.saturating_add(Weight::from_parts(0, 11037))
-			// Standard Error: 1_453
-			.saturating_add(Weight::from_parts(96_324, 0).saturating_mul(s.into()))
+		//  Estimated: `11003`
+		// Minimum execution time: 28_453_000 picoseconds.
+		Weight::from_parts(33_165_934, 0)
+			.saturating_add(Weight::from_parts(0, 11003))
+			// Standard Error: 1_217
+			.saturating_add(Weight::from_parts(65_401, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:1 w:1)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:1 w:1)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `s` is `[1, 100]`.
 	fn rename_sub(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `591 + s * (3 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 13_704_000 picoseconds.
-		Weight::from_parts(15_241_441, 0)
-			.saturating_add(Weight::from_parts(0, 11037))
-			// Standard Error: 498
-			.saturating_add(Weight::from_parts(40_973, 0).saturating_mul(s.into()))
+		//  Estimated: `11003`
+		// Minimum execution time: 12_846_000 picoseconds.
+		Weight::from_parts(14_710_284, 0)
+			.saturating_add(Weight::from_parts(0, 11003))
+			// Standard Error: 496
+			.saturating_add(Weight::from_parts(19_539, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:1 w:1)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:1 w:1)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
 	/// The range of component `s` is `[1, 100]`.
 	fn remove_sub(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `638 + s * (35 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 29_310_000 picoseconds.
-		Weight::from_parts(31_712_666, 0)
-			.saturating_add(Weight::from_parts(0, 11037))
-			// Standard Error: 967
-			.saturating_add(Weight::from_parts(81_250, 0).saturating_mul(s.into()))
+		//  Estimated: `11003`
+		// Minimum execution time: 32_183_000 picoseconds.
+		Weight::from_parts(35_296_731, 0)
+			.saturating_add(Weight::from_parts(0, 11003))
+			// Standard Error: 854
+			.saturating_add(Weight::from_parts(52_028, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Identity::SuperOf` (r:1 w:1)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Identity SuperOf (r:1 w:1)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:0)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `s` is `[0, 99]`.
 	fn quit_sub(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `704 + s * (37 ±0)`
 		//  Estimated: `6723`
-		// Minimum execution time: 22_906_000 picoseconds.
-		Weight::from_parts(24_638_729, 0)
+		// Minimum execution time: 24_941_000 picoseconds.
+		Weight::from_parts(27_433_059, 0)
 			.saturating_add(Weight::from_parts(0, 6723))
-			// Standard Error: 645
-			.saturating_add(Weight::from_parts(75_121, 0).saturating_mul(s.into()))
+			// Standard Error: 856
+			.saturating_add(Weight::from_parts(57_463, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -344,93 +340,90 @@ impl<T: frame_system::Config> pallet_identity::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_056_000 picoseconds.
-		Weight::from_parts(6_349_000, 0)
+		// Minimum execution time: 13_873_000 picoseconds.
+		Weight::from_parts(13_873_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Identity::UsernameAuthorities` (r:1 w:1)
+	/// Storage: `Identity::UsernameAuthorities` (r:0 w:1)
 	/// Proof: `Identity::UsernameAuthorities` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
 	fn remove_username_authority() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `80`
-		//  Estimated: `3517`
-		// Minimum execution time: 9_003_000 picoseconds.
-		Weight::from_parts(9_276_000, 0)
-			.saturating_add(Weight::from_parts(0, 3517))
-			.saturating_add(T::DbWeight::get().reads(1))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 10_653_000 picoseconds.
+		Weight::from_parts(10_653_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Identity::UsernameAuthorities` (r:1 w:1)
 	/// Proof: `Identity::UsernameAuthorities` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::AccountOfUsername` (r:1 w:1)
-	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::PendingUsernames` (r:1 w:0)
-	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::IdentityOf` (r:1 w:1)
 	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
 	fn set_username_for() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `80`
 		//  Estimated: `11037`
-		// Minimum execution time: 64_724_000 picoseconds.
-		Weight::from_parts(66_597_000, 0)
+		// Minimum execution time: 75_928_000 picoseconds.
+		Weight::from_parts(75_928_000, 0)
 			.saturating_add(Weight::from_parts(0, 11037))
-			.saturating_add(T::DbWeight::get().reads(4))
+			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Identity::PendingUsernames` (r:1 w:1)
-	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(77), added: 2552, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::IdentityOf` (r:1 w:1)
 	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::AccountOfUsername` (r:0 w:1)
-	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
 	fn accept_username() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `115`
+		//  Measured:  `106`
 		//  Estimated: `11037`
-		// Minimum execution time: 19_538_000 picoseconds.
-		Weight::from_parts(20_204_000, 0)
+		// Minimum execution time: 38_157_000 picoseconds.
+		Weight::from_parts(38_157_000, 0)
 			.saturating_add(Weight::from_parts(0, 11037))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Identity::PendingUsernames` (r:1 w:1)
-	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(77), added: 2552, mode: `MaxEncodedLen`)
 	fn remove_expired_approval() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `115`
-		//  Estimated: `3550`
-		// Minimum execution time: 16_000_000 picoseconds.
-		Weight::from_parts(19_354_000, 0)
-			.saturating_add(Weight::from_parts(0, 3550))
+		//  Measured:  `106`
+		//  Estimated: `3542`
+		// Minimum execution time: 46_821_000 picoseconds.
+		Weight::from_parts(46_821_000, 0)
+			.saturating_add(Weight::from_parts(0, 3542))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Identity::AccountOfUsername` (r:1 w:0)
-	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::IdentityOf` (r:1 w:1)
 	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
 	fn set_primary_username() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `257`
+		//  Measured:  `247`
 		//  Estimated: `11037`
-		// Minimum execution time: 15_298_000 picoseconds.
-		Weight::from_parts(15_760_000, 0)
+		// Minimum execution time: 22_515_000 picoseconds.
+		Weight::from_parts(22_515_000, 0)
 			.saturating_add(Weight::from_parts(0, 11037))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Identity::AccountOfUsername` (r:1 w:1)
-	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::IdentityOf` (r:1 w:0)
 	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
 	fn remove_dangling_username() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `98`
+		//  Measured:  `126`
 		//  Estimated: `11037`
-		// Minimum execution time: 10_829_000 picoseconds.
-		Weight::from_parts(11_113_000, 0)
+		// Minimum execution time: 15_997_000 picoseconds.
+		Weight::from_parts(15_997_000, 0)
 			.saturating_add(Weight::from_parts(0, 11037))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/polkadot/runtime/rococo/src/weights/pallet_indices.rs b/polkadot/runtime/rococo/src/weights/pallet_indices.rs
index 434db97d4a7..99ffd3210ed 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_indices.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_indices.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `pallet_indices`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=pallet_indices
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,66 +47,66 @@ use core::marker::PhantomData;
 /// Weight functions for `pallet_indices`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_indices::WeightInfo for WeightInfo<T> {
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn claim() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `4`
+		//  Measured:  `142`
 		//  Estimated: `3534`
-		// Minimum execution time: 18_092_000 picoseconds.
-		Weight::from_parts(18_533_000, 0)
+		// Minimum execution time: 25_107_000 picoseconds.
+		Weight::from_parts(25_655_000, 0)
 			.saturating_add(Weight::from_parts(0, 3534))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn transfer() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `203`
+		//  Measured:  `341`
 		//  Estimated: `3593`
-		// Minimum execution time: 31_616_000 picoseconds.
-		Weight::from_parts(32_556_000, 0)
+		// Minimum execution time: 36_208_000 picoseconds.
+		Weight::from_parts(36_521_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn free() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `100`
+		//  Measured:  `238`
 		//  Estimated: `3534`
-		// Minimum execution time: 19_593_000 picoseconds.
-		Weight::from_parts(20_100_000, 0)
+		// Minimum execution time: 25_915_000 picoseconds.
+		Weight::from_parts(26_220_000, 0)
 			.saturating_add(Weight::from_parts(0, 3534))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn force_transfer() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `203`
+		//  Measured:  `341`
 		//  Estimated: `3593`
-		// Minimum execution time: 21_429_000 picoseconds.
-		Weight::from_parts(22_146_000, 0)
+		// Minimum execution time: 28_232_000 picoseconds.
+		Weight::from_parts(28_845_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn freeze() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `100`
+		//  Measured:  `238`
 		//  Estimated: `3534`
-		// Minimum execution time: 20_425_000 picoseconds.
-		Weight::from_parts(21_023_000, 0)
+		// Minimum execution time: 27_282_000 picoseconds.
+		Weight::from_parts(27_754_000, 0)
 			.saturating_add(Weight::from_parts(0, 3534))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/polkadot/runtime/rococo/src/weights/pallet_message_queue.rs b/polkadot/runtime/rococo/src/weights/pallet_message_queue.rs
index 6ebfcd060b6..e1e360d374a 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_message_queue.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_message_queue.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `pallet_message_queue`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=pallet_message_queue
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,149 +47,150 @@ use core::marker::PhantomData;
 /// Weight functions for `pallet_message_queue`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_message_queue::WeightInfo for WeightInfo<T> {
-	/// Storage: `MessageQueue::ServiceHead` (r:1 w:0)
-	/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(6), added: 501, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::BookStateFor` (r:2 w:2)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue ServiceHead (r:1 w:0)
+	/// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(6), added: 501, mode: MaxEncodedLen)
+	/// Storage: MessageQueue BookStateFor (r:2 w:2)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(55), added: 2530, mode: MaxEncodedLen)
 	fn ready_ring_knit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `281`
+		//  Measured:  `248`
 		//  Estimated: `6050`
-		// Minimum execution time: 12_830_000 picoseconds.
-		Weight::from_parts(13_476_000, 0)
+		// Minimum execution time: 12_106_000 picoseconds.
+		Weight::from_parts(12_387_000, 0)
 			.saturating_add(Weight::from_parts(0, 6050))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:2 w:2)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::ServiceHead` (r:1 w:1)
-	/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(6), added: 501, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue BookStateFor (r:2 w:2)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(55), added: 2530, mode: MaxEncodedLen)
+	/// Storage: MessageQueue ServiceHead (r:1 w:1)
+	/// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(6), added: 501, mode: MaxEncodedLen)
 	fn ready_ring_unknit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `281`
+		//  Measured:  `248`
 		//  Estimated: `6050`
-		// Minimum execution time: 11_583_000 picoseconds.
-		Weight::from_parts(11_902_000, 0)
+		// Minimum execution time: 11_227_000 picoseconds.
+		Weight::from_parts(11_616_000, 0)
 			.saturating_add(Weight::from_parts(0, 6050))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue BookStateFor (r:1 w:1)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(55), added: 2530, mode: MaxEncodedLen)
 	fn service_queue_base() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `42`
 		//  Estimated: `3520`
-		// Minimum execution time: 3_801_000 picoseconds.
-		Weight::from_parts(3_943_000, 0)
+		// Minimum execution time: 5_052_000 picoseconds.
+		Weight::from_parts(5_216_000, 0)
 			.saturating_add(Weight::from_parts(0, 3520))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(32818), added: 35293, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(32818), added: 35293, mode: MaxEncodedLen)
 	fn service_page_base_completion() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `115`
 		//  Estimated: `36283`
-		// Minimum execution time: 5_517_000 picoseconds.
-		Weight::from_parts(5_861_000, 0)
+		// Minimum execution time: 6_522_000 picoseconds.
+		Weight::from_parts(6_794_000, 0)
 			.saturating_add(Weight::from_parts(0, 36283))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(32818), added: 35293, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(32818), added: 35293, mode: MaxEncodedLen)
 	fn service_page_base_no_completion() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `115`
 		//  Estimated: `36283`
-		// Minimum execution time: 5_870_000 picoseconds.
-		Weight::from_parts(6_028_000, 0)
+		// Minimum execution time: 6_918_000 picoseconds.
+		Weight::from_parts(7_083_000, 0)
 			.saturating_add(Weight::from_parts(0, 36283))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:0 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::Pages` (r:0 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(32818), added: 35293, mode: `MaxEncodedLen`)
 	fn service_page_item() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 80_681_000 picoseconds.
-		Weight::from_parts(81_818_000, 0)
+		// Minimum execution time: 28_445_000 picoseconds.
+		Weight::from_parts(28_659_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `MessageQueue::ServiceHead` (r:1 w:1)
-	/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(6), added: 501, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue ServiceHead (r:1 w:1)
+	/// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(6), added: 501, mode: MaxEncodedLen)
+	/// Storage: MessageQueue BookStateFor (r:1 w:0)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(55), added: 2530, mode: MaxEncodedLen)
 	fn bump_service_head() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `220`
+		//  Measured:  `149`
 		//  Estimated: `3520`
-		// Minimum execution time: 8_641_000 picoseconds.
-		Weight::from_parts(8_995_000, 0)
+		// Minimum execution time: 7_224_000 picoseconds.
+		Weight::from_parts(7_441_000, 0)
 			.saturating_add(Weight::from_parts(0, 3520))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(32818), added: 35293, mode: `MaxEncodedLen`)
-	/// Storage: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
-	/// Storage: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
+	/// Storage: MessageQueue BookStateFor (r:1 w:1)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(55), added: 2530, mode: MaxEncodedLen)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(32818), added: 35293, mode: MaxEncodedLen)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: unknown `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
+	/// Proof Skipped: unknown `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
+	/// Storage: unknown `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
+	/// Proof Skipped: unknown `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
 	fn reap_page() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `32945`
+		//  Measured:  `33232`
 		//  Estimated: `36283`
-		// Minimum execution time: 38_473_000 picoseconds.
-		Weight::from_parts(39_831_000, 0)
+		// Minimum execution time: 45_211_000 picoseconds.
+		Weight::from_parts(45_505_000, 0)
 			.saturating_add(Weight::from_parts(0, 36283))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(32818), added: 35293, mode: `MaxEncodedLen`)
-	/// Storage: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
-	/// Storage: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
+	/// Storage: MessageQueue BookStateFor (r:1 w:1)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(55), added: 2530, mode: MaxEncodedLen)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(32818), added: 35293, mode: MaxEncodedLen)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: unknown `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
+	/// Proof Skipped: unknown `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
+	/// Storage: unknown `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
+	/// Proof Skipped: unknown `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
 	fn execute_overweight_page_removed() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `32945`
+		//  Measured:  `33232`
 		//  Estimated: `36283`
-		// Minimum execution time: 48_717_000 picoseconds.
-		Weight::from_parts(49_724_000, 0)
+		// Minimum execution time: 52_346_000 picoseconds.
+		Weight::from_parts(52_745_000, 0)
 			.saturating_add(Weight::from_parts(0, 36283))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(32818), added: 35293, mode: `MaxEncodedLen`)
-	/// Storage: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
-	/// Storage: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
+	/// Storage: MessageQueue BookStateFor (r:1 w:1)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(55), added: 2530, mode: MaxEncodedLen)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(32818), added: 35293, mode: MaxEncodedLen)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: unknown `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
+	/// Proof Skipped: unknown `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
+	/// Storage: unknown `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
+	/// Proof Skipped: unknown `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
 	fn execute_overweight_page_updated() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `32945`
+		//  Measured:  `33232`
 		//  Estimated: `36283`
-		// Minimum execution time: 72_718_000 picoseconds.
-		Weight::from_parts(74_081_000, 0)
+		// Minimum execution time: 72_567_000 picoseconds.
+		Weight::from_parts(73_300_000, 0)
 			.saturating_add(Weight::from_parts(0, 36283))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/pallet_multisig.rs b/polkadot/runtime/rococo/src/weights/pallet_multisig.rs
index f1b81759ece..a4f33fe198c 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_multisig.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_multisig.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `pallet_multisig`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=pallet_multisig
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -55,110 +52,110 @@ impl<T: frame_system::Config> pallet_multisig::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 12_023_000 picoseconds.
-		Weight::from_parts(12_643_116, 0)
+		// Minimum execution time: 11_475_000 picoseconds.
+		Weight::from_parts(11_904_745, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 3
-			.saturating_add(Weight::from_parts(582, 0).saturating_mul(z.into()))
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(492, 0).saturating_mul(z.into()))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	/// The range of component `z` is `[0, 10000]`.
 	fn as_multi_create(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `229 + s * (2 ±0)`
+		//  Measured:  `193 + s * (2 ±0)`
 		//  Estimated: `6811`
-		// Minimum execution time: 39_339_000 picoseconds.
-		Weight::from_parts(27_243_033, 0)
+		// Minimum execution time: 38_857_000 picoseconds.
+		Weight::from_parts(33_611_791, 0)
 			.saturating_add(Weight::from_parts(0, 6811))
-			// Standard Error: 1_319
-			.saturating_add(Weight::from_parts(142_212, 0).saturating_mul(s.into()))
-			// Standard Error: 12
-			.saturating_add(Weight::from_parts(1_592, 0).saturating_mul(z.into()))
+			// Standard Error: 400
+			.saturating_add(Weight::from_parts(59_263, 0).saturating_mul(s.into()))
+			// Standard Error: 3
+			.saturating_add(Weight::from_parts(1_211, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[3, 100]`.
 	/// The range of component `z` is `[0, 10000]`.
 	fn as_multi_approve(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `248`
+		//  Measured:  `211`
 		//  Estimated: `6811`
-		// Minimum execution time: 27_647_000 picoseconds.
-		Weight::from_parts(15_828_725, 0)
+		// Minimum execution time: 25_715_000 picoseconds.
+		Weight::from_parts(20_607_294, 0)
 			.saturating_add(Weight::from_parts(0, 6811))
-			// Standard Error: 908
-			.saturating_add(Weight::from_parts(130_880, 0).saturating_mul(s.into()))
-			// Standard Error: 8
-			.saturating_add(Weight::from_parts(1_532, 0).saturating_mul(z.into()))
+			// Standard Error: 285
+			.saturating_add(Weight::from_parts(58_225, 0).saturating_mul(s.into()))
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(1_160, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	/// The range of component `z` is `[0, 10000]`.
 	fn as_multi_complete(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `354 + s * (33 ±0)`
+		//  Measured:  `317 + s * (33 ±0)`
 		//  Estimated: `6811`
-		// Minimum execution time: 46_971_000 picoseconds.
-		Weight::from_parts(32_150_393, 0)
+		// Minimum execution time: 43_751_000 picoseconds.
+		Weight::from_parts(37_398_513, 0)
 			.saturating_add(Weight::from_parts(0, 6811))
-			// Standard Error: 1_129
-			.saturating_add(Weight::from_parts(154_796, 0).saturating_mul(s.into()))
-			// Standard Error: 11
-			.saturating_add(Weight::from_parts(1_603, 0).saturating_mul(z.into()))
+			// Standard Error: 426
+			.saturating_add(Weight::from_parts(70_904, 0).saturating_mul(s.into()))
+			// Standard Error: 4
+			.saturating_add(Weight::from_parts(1_235, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	fn approve_as_multi_create(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `229 + s * (2 ±0)`
+		//  Measured:  `193 + s * (2 ±0)`
 		//  Estimated: `6811`
-		// Minimum execution time: 24_947_000 picoseconds.
-		Weight::from_parts(26_497_183, 0)
+		// Minimum execution time: 31_278_000 picoseconds.
+		Weight::from_parts(32_075_573, 0)
 			.saturating_add(Weight::from_parts(0, 6811))
-			// Standard Error: 1_615
-			.saturating_add(Weight::from_parts(147_071, 0).saturating_mul(s.into()))
+			// Standard Error: 452
+			.saturating_add(Weight::from_parts(62_018, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	fn approve_as_multi_approve(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `248`
+		//  Measured:  `211`
 		//  Estimated: `6811`
-		// Minimum execution time: 13_897_000 picoseconds.
-		Weight::from_parts(14_828_339, 0)
+		// Minimum execution time: 18_178_000 picoseconds.
+		Weight::from_parts(18_649_867, 0)
 			.saturating_add(Weight::from_parts(0, 6811))
-			// Standard Error: 1_136
-			.saturating_add(Weight::from_parts(133_925, 0).saturating_mul(s.into()))
+			// Standard Error: 293
+			.saturating_add(Weight::from_parts(56_475, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	fn cancel_as_multi(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `420 + s * (1 ±0)`
+		//  Measured:  `383 + s * (1 ±0)`
 		//  Estimated: `6811`
-		// Minimum execution time: 28_984_000 picoseconds.
-		Weight::from_parts(29_853_232, 0)
+		// Minimum execution time: 32_265_000 picoseconds.
+		Weight::from_parts(32_984_014, 0)
 			.saturating_add(Weight::from_parts(0, 6811))
-			// Standard Error: 650
-			.saturating_add(Weight::from_parts(113_440, 0).saturating_mul(s.into()))
+			// Standard Error: 452
+			.saturating_add(Weight::from_parts(59_934, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/polkadot/runtime/rococo/src/weights/pallet_nis.rs b/polkadot/runtime/rococo/src/weights/pallet_nis.rs
index 38b41f3a8e2..35dad482129 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_nis.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_nis.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `pallet_nis`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=pallet_nis
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,186 +47,202 @@ use core::marker::PhantomData;
 /// Weight functions for `pallet_nis`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_nis::WeightInfo for WeightInfo<T> {
-	/// Storage: `Nis::Queues` (r:1 w:1)
-	/// Proof: `Nis::Queues` (`max_values`: None, `max_size`: Some(48022), added: 50497, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(103), added: 2578, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::QueueTotals` (r:1 w:1)
-	/// Proof: `Nis::QueueTotals` (`max_values`: Some(1), `max_size`: Some(6002), added: 6497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Queues (r:1 w:1)
+	/// Proof: Nis Queues (max_values: None, max_size: Some(48022), added: 50497, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(67), added: 2542, mode: MaxEncodedLen)
+	/// Storage: Nis QueueTotals (r:1 w:1)
+	/// Proof: Nis QueueTotals (max_values: Some(1), max_size: Some(6002), added: 6497, mode: MaxEncodedLen)
 	/// The range of component `l` is `[0, 999]`.
 	fn place_bid(l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `6209 + l * (48 ±0)`
 		//  Estimated: `51487`
-		// Minimum execution time: 39_592_000 picoseconds.
-		Weight::from_parts(38_234_037, 0)
+		// Minimum execution time: 44_704_000 picoseconds.
+		Weight::from_parts(44_933_886, 0)
 			.saturating_add(Weight::from_parts(0, 51487))
-			// Standard Error: 1_237
-			.saturating_add(Weight::from_parts(88_816, 0).saturating_mul(l.into()))
+			// Standard Error: 712
+			.saturating_add(Weight::from_parts(71_570, 0).saturating_mul(l.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `Nis::Queues` (r:1 w:1)
-	/// Proof: `Nis::Queues` (`max_values`: None, `max_size`: Some(48022), added: 50497, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(103), added: 2578, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::QueueTotals` (r:1 w:1)
-	/// Proof: `Nis::QueueTotals` (`max_values`: Some(1), `max_size`: Some(6002), added: 6497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Queues (r:1 w:1)
+	/// Proof: Nis Queues (max_values: None, max_size: Some(48022), added: 50497, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(67), added: 2542, mode: MaxEncodedLen)
+	/// Storage: Nis QueueTotals (r:1 w:1)
+	/// Proof: Nis QueueTotals (max_values: Some(1), max_size: Some(6002), added: 6497, mode: MaxEncodedLen)
 	fn place_bid_max() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `54211`
 		//  Estimated: `51487`
-		// Minimum execution time: 134_847_000 picoseconds.
-		Weight::from_parts(139_510_000, 0)
+		// Minimum execution time: 126_544_000 picoseconds.
+		Weight::from_parts(128_271_000, 0)
 			.saturating_add(Weight::from_parts(0, 51487))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `Nis::Queues` (r:1 w:1)
-	/// Proof: `Nis::Queues` (`max_values`: None, `max_size`: Some(48022), added: 50497, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(103), added: 2578, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::QueueTotals` (r:1 w:1)
-	/// Proof: `Nis::QueueTotals` (`max_values`: Some(1), `max_size`: Some(6002), added: 6497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Queues (r:1 w:1)
+	/// Proof: Nis Queues (max_values: None, max_size: Some(48022), added: 50497, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(67), added: 2542, mode: MaxEncodedLen)
+	/// Storage: Nis QueueTotals (r:1 w:1)
+	/// Proof: Nis QueueTotals (max_values: Some(1), max_size: Some(6002), added: 6497, mode: MaxEncodedLen)
 	/// The range of component `l` is `[1, 1000]`.
 	fn retract_bid(l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `6209 + l * (48 ±0)`
 		//  Estimated: `51487`
-		// Minimum execution time: 43_330_000 picoseconds.
-		Weight::from_parts(35_097_881, 0)
+		// Minimum execution time: 47_640_000 picoseconds.
+		Weight::from_parts(42_214_261, 0)
 			.saturating_add(Weight::from_parts(0, 51487))
-			// Standard Error: 1_119
-			.saturating_add(Weight::from_parts(73_640, 0).saturating_mul(l.into()))
+			// Standard Error: 732
+			.saturating_add(Weight::from_parts(87_277, 0).saturating_mul(l.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `Nis::Summary` (r:1 w:0)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Nis Summary (r:1 w:0)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: Balances InactiveIssuance (r:1 w:0)
+	/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn fund_deficit() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `225`
 		//  Estimated: `3593`
-		// Minimum execution time: 29_989_000 picoseconds.
-		Weight::from_parts(30_865_000, 0)
+		// Minimum execution time: 38_031_000 picoseconds.
+		Weight::from_parts(38_441_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Nis::Receipts` (r:1 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(103), added: 2578, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `NisCounterpartBalances::Account` (r:1 w:1)
-	/// Proof: `NisCounterpartBalances::Account` (`max_values`: None, `max_size`: Some(112), added: 2587, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:1 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(67), added: 2542, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: NisCounterpartBalances TotalIssuance (r:1 w:1)
+	/// Proof: NisCounterpartBalances TotalIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: NisCounterpartBalances Account (r:1 w:1)
+	/// Proof: NisCounterpartBalances Account (max_values: None, max_size: Some(112), added: 2587, mode: MaxEncodedLen)
 	fn communify() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `387`
+		//  Measured:  `469`
 		//  Estimated: `3593`
-		// Minimum execution time: 58_114_000 picoseconds.
-		Weight::from_parts(59_540_000, 0)
+		// Minimum execution time: 69_269_000 picoseconds.
+		Weight::from_parts(70_000_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(5))
+			.saturating_add(T::DbWeight::get().reads(6))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
-	/// Storage: `Nis::Receipts` (r:1 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `NisCounterpartBalances::Account` (r:1 w:1)
-	/// Proof: `NisCounterpartBalances::Account` (`max_values`: None, `max_size`: Some(112), added: 2587, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(103), added: 2578, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:1 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: Balances InactiveIssuance (r:1 w:0)
+	/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: NisCounterpartBalances Account (r:1 w:1)
+	/// Proof: NisCounterpartBalances Account (max_values: None, max_size: Some(112), added: 2587, mode: MaxEncodedLen)
+	/// Storage: NisCounterpartBalances TotalIssuance (r:1 w:1)
+	/// Proof: NisCounterpartBalances TotalIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(67), added: 2542, mode: MaxEncodedLen)
 	fn privatize() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `543`
+		//  Measured:  `659`
 		//  Estimated: `3593`
-		// Minimum execution time: 75_780_000 picoseconds.
-		Weight::from_parts(77_097_000, 0)
+		// Minimum execution time: 85_763_000 picoseconds.
+		Weight::from_parts(86_707_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(5))
+			.saturating_add(T::DbWeight::get().reads(7))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
-	/// Storage: `Nis::Receipts` (r:1 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(103), added: 2578, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:1 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: Balances InactiveIssuance (r:1 w:0)
+	/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:0)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(67), added: 2542, mode: MaxEncodedLen)
 	fn thaw_private() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `387`
 		//  Estimated: `3593`
-		// Minimum execution time: 46_133_000 picoseconds.
-		Weight::from_parts(47_250_000, 0)
+		// Minimum execution time: 47_336_000 picoseconds.
+		Weight::from_parts(47_623_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(4))
+			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `Nis::Receipts` (r:1 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `NisCounterpartBalances::Account` (r:1 w:1)
-	/// Proof: `NisCounterpartBalances::Account` (`max_values`: None, `max_size`: Some(112), added: 2587, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:1 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: NisCounterpartBalances Account (r:1 w:1)
+	/// Proof: NisCounterpartBalances Account (max_values: None, max_size: Some(112), added: 2587, mode: MaxEncodedLen)
+	/// Storage: NisCounterpartBalances TotalIssuance (r:1 w:1)
+	/// Proof: NisCounterpartBalances TotalIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: Balances InactiveIssuance (r:1 w:0)
+	/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn thaw_communal() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `488`
+		//  Measured:  `604`
 		//  Estimated: `3593`
-		// Minimum execution time: 77_916_000 picoseconds.
-		Weight::from_parts(79_427_000, 0)
+		// Minimum execution time: 90_972_000 picoseconds.
+		Weight::from_parts(92_074_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(4))
+			.saturating_add(T::DbWeight::get().reads(6))
+			.saturating_add(T::DbWeight::get().writes(5))
 	}
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::QueueTotals` (r:1 w:1)
-	/// Proof: `Nis::QueueTotals` (`max_values`: Some(1), `max_size`: Some(6002), added: 6497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: Balances InactiveIssuance (r:1 w:0)
+	/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:0)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Nis QueueTotals (r:1 w:1)
+	/// Proof: Nis QueueTotals (max_values: Some(1), max_size: Some(6002), added: 6497, mode: MaxEncodedLen)
 	fn process_queues() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `6658`
 		//  Estimated: `7487`
-		// Minimum execution time: 22_992_000 picoseconds.
-		Weight::from_parts(24_112_000, 0)
+		// Minimum execution time: 21_469_000 picoseconds.
+		Weight::from_parts(21_983_000, 0)
 			.saturating_add(Weight::from_parts(0, 7487))
-			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Nis::Queues` (r:1 w:1)
-	/// Proof: `Nis::Queues` (`max_values`: None, `max_size`: Some(48022), added: 50497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Queues (r:1 w:1)
+	/// Proof: Nis Queues (max_values: None, max_size: Some(48022), added: 50497, mode: MaxEncodedLen)
 	fn process_queue() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `51487`
-		// Minimum execution time: 3_856_000 picoseconds.
-		Weight::from_parts(4_125_000, 0)
+		// Minimum execution time: 4_912_000 picoseconds.
+		Weight::from_parts(5_013_000, 0)
 			.saturating_add(Weight::from_parts(0, 51487))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Nis::Receipts` (r:0 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:0 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
 	fn process_bid() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_344_000 picoseconds.
-		Weight::from_parts(4_545_000, 0)
+		// Minimum execution time: 7_048_000 picoseconds.
+		Weight::from_parts(7_278_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/polkadot/runtime/rococo/src/weights/pallet_preimage.rs b/polkadot/runtime/rococo/src/weights/pallet_preimage.rs
index 7a2b77b84d8..e051ebd5bba 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_preimage.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_preimage.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `pallet_preimage`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=pallet_preimage
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,219 +47,184 @@ use core::marker::PhantomData;
 /// Weight functions for `pallet_preimage`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_preimage::WeightInfo for WeightInfo<T> {
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(103), added: 2578, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
-	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
+	fn ensure_updated(n: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `193 + n * (91 ±0)`
+		//  Estimated: `3593 + n * (2566 ±0)`
+		// Minimum execution time: 2_000_000 picoseconds.
+		Weight::from_parts(2_000_000, 3593)
+			// Standard Error: 13_720
+			.saturating_add(Weight::from_parts(17_309_199, 0).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(1_u64))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(1_u64))
+			.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(n.into())))
+			.saturating_add(Weight::from_parts(0, 2566).saturating_mul(n.into()))
+	}
+
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Preimage PreimageFor (r:0 w:1)
+	/// Proof: Preimage PreimageFor (max_values: None, max_size: Some(4194344), added: 4196819, mode: MaxEncodedLen)
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `114`
-		//  Estimated: `3568`
-		// Minimum execution time: 40_363_000 picoseconds.
-		Weight::from_parts(41_052_000, 0)
-			.saturating_add(Weight::from_parts(0, 3568))
-			// Standard Error: 6
-			.saturating_add(Weight::from_parts(2_298, 0).saturating_mul(s.into()))
-			.saturating_add(T::DbWeight::get().reads(3))
-			.saturating_add(T::DbWeight::get().writes(3))
+		//  Measured:  `215`
+		//  Estimated: `3556`
+		// Minimum execution time: 31_040_000 picoseconds.
+		Weight::from_parts(31_236_000, 0)
+			.saturating_add(Weight::from_parts(0, 3556))
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(1_974, 0).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
-	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Preimage PreimageFor (r:0 w:1)
+	/// Proof: Preimage PreimageFor (max_values: None, max_size: Some(4194344), added: 4196819, mode: MaxEncodedLen)
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_requested_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `178`
 		//  Estimated: `3556`
-		// Minimum execution time: 14_570_000 picoseconds.
-		Weight::from_parts(14_890_000, 0)
+		// Minimum execution time: 18_025_000 picoseconds.
+		Weight::from_parts(18_264_000, 0)
 			.saturating_add(Weight::from_parts(0, 3556))
-			// Standard Error: 2
-			.saturating_add(Weight::from_parts(2_364, 0).saturating_mul(s.into()))
-			.saturating_add(T::DbWeight::get().reads(2))
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(1_974, 0).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
-	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Preimage PreimageFor (r:0 w:1)
+	/// Proof: Preimage PreimageFor (max_values: None, max_size: Some(4194344), added: 4196819, mode: MaxEncodedLen)
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_no_deposit_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `178`
 		//  Estimated: `3556`
-		// Minimum execution time: 13_933_000 picoseconds.
-		Weight::from_parts(14_290_000, 0)
+		// Minimum execution time: 17_122_000 picoseconds.
+		Weight::from_parts(17_332_000, 0)
 			.saturating_add(Weight::from_parts(0, 3556))
-			// Standard Error: 2
-			.saturating_add(Weight::from_parts(2_349, 0).saturating_mul(s.into()))
-			.saturating_add(T::DbWeight::get().reads(2))
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(1_968, 0).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(103), added: 2578, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
-	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Preimage PreimageFor (r:0 w:1)
+	/// Proof: Preimage PreimageFor (max_values: None, max_size: Some(4194344), added: 4196819, mode: MaxEncodedLen)
 	fn unnote_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `315`
-		//  Estimated: `3568`
-		// Minimum execution time: 54_373_000 picoseconds.
-		Weight::from_parts(58_205_000, 0)
-			.saturating_add(Weight::from_parts(0, 3568))
-			.saturating_add(T::DbWeight::get().reads(3))
-			.saturating_add(T::DbWeight::get().writes(3))
+		//  Measured:  `361`
+		//  Estimated: `3556`
+		// Minimum execution time: 38_218_000 picoseconds.
+		Weight::from_parts(39_841_000, 0)
+			.saturating_add(Weight::from_parts(0, 3556))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
-	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Preimage PreimageFor (r:0 w:1)
+	/// Proof: Preimage PreimageFor (max_values: None, max_size: Some(4194344), added: 4196819, mode: MaxEncodedLen)
 	fn unnote_no_deposit_preimage() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `216`
 		//  Estimated: `3556`
-		// Minimum execution time: 24_267_000 picoseconds.
-		Weight::from_parts(27_063_000, 0)
+		// Minimum execution time: 23_217_000 picoseconds.
+		Weight::from_parts(24_246_000, 0)
 			.saturating_add(Weight::from_parts(0, 3556))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	fn request_preimage() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `260`
 		//  Estimated: `3556`
-		// Minimum execution time: 25_569_000 picoseconds.
-		Weight::from_parts(27_895_000, 0)
+		// Minimum execution time: 21_032_000 picoseconds.
+		Weight::from_parts(21_844_000, 0)
 			.saturating_add(Weight::from_parts(0, 3556))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	fn request_no_deposit_preimage() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `216`
 		//  Estimated: `3556`
-		// Minimum execution time: 14_182_000 picoseconds.
-		Weight::from_parts(16_098_000, 0)
+		// Minimum execution time: 13_954_000 picoseconds.
+		Weight::from_parts(14_501_000, 0)
 			.saturating_add(Weight::from_parts(0, 3556))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	fn request_unnoted_preimage() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `114`
 		//  Estimated: `3556`
-		// Minimum execution time: 14_681_000 picoseconds.
-		Weight::from_parts(15_549_000, 0)
+		// Minimum execution time: 14_874_000 picoseconds.
+		Weight::from_parts(15_380_000, 0)
 			.saturating_add(Weight::from_parts(0, 3556))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	fn request_requested_preimage() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `178`
 		//  Estimated: `3556`
-		// Minimum execution time: 9_577_000 picoseconds.
-		Weight::from_parts(10_146_000, 0)
+		// Minimum execution time: 10_199_000 picoseconds.
+		Weight::from_parts(10_493_000, 0)
 			.saturating_add(Weight::from_parts(0, 3556))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
-	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Preimage PreimageFor (r:0 w:1)
+	/// Proof: Preimage PreimageFor (max_values: None, max_size: Some(4194344), added: 4196819, mode: MaxEncodedLen)
 	fn unrequest_preimage() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `216`
 		//  Estimated: `3556`
-		// Minimum execution time: 21_003_000 picoseconds.
-		Weight::from_parts(23_549_000, 0)
+		// Minimum execution time: 21_772_000 picoseconds.
+		Weight::from_parts(22_554_000, 0)
 			.saturating_add(Weight::from_parts(0, 3556))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	fn unrequest_unnoted_preimage() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `178`
 		//  Estimated: `3556`
-		// Minimum execution time: 9_507_000 picoseconds.
-		Weight::from_parts(10_013_000, 0)
+		// Minimum execution time: 10_115_000 picoseconds.
+		Weight::from_parts(10_452_000, 0)
 			.saturating_add(Weight::from_parts(0, 3556))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	fn unrequest_multi_referenced_preimage() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `178`
 		//  Estimated: `3556`
-		// Minimum execution time: 9_293_000 picoseconds.
-		Weight::from_parts(10_055_000, 0)
+		// Minimum execution time: 10_031_000 picoseconds.
+		Weight::from_parts(10_310_000, 0)
 			.saturating_add(Weight::from_parts(0, 3556))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1023 w:1023)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1023 w:1023)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1023 w:1023)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(103), added: 2578, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:0 w:1023)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// The range of component `n` is `[1, 1024]`.
-	fn ensure_updated(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0 + n * (227 ±0)`
-		//  Estimated: `990 + n * (2603 ±0)`
-		// Minimum execution time: 48_846_000 picoseconds.
-		Weight::from_parts(49_378_000, 0)
-			.saturating_add(Weight::from_parts(0, 990))
-			// Standard Error: 38_493
-			.saturating_add(Weight::from_parts(47_418_285, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(n.into())))
-			.saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 2603).saturating_mul(n.into()))
-	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/pallet_proxy.rs b/polkadot/runtime/rococo/src/weights/pallet_proxy.rs
index c9202593095..d9737a85c05 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_proxy.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_proxy.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `pallet_proxy`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=pallet_proxy
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,176 +47,172 @@ use core::marker::PhantomData;
 /// Weight functions for `pallet_proxy`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_proxy::WeightInfo for WeightInfo<T> {
-	/// Storage: `Proxy::Proxies` (r:1 w:0)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:0)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn proxy(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `89 + p * (37 ±0)`
+		//  Measured:  `227 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 11_267_000 picoseconds.
-		Weight::from_parts(11_798_007, 0)
+		// Minimum execution time: 15_956_000 picoseconds.
+		Weight::from_parts(16_300_358, 0)
 			.saturating_add(Weight::from_parts(0, 4706))
-			// Standard Error: 858
-			.saturating_add(Weight::from_parts(43_735, 0).saturating_mul(p.into()))
+			// Standard Error: 652
+			.saturating_add(Weight::from_parts(30_807, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:0)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
-	/// Storage: `Proxy::Announcements` (r:1 w:1)
-	/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:0)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
+	/// Storage: Proxy Announcements (r:1 w:1)
+	/// Proof: Proxy Announcements (max_values: None, max_size: Some(2233), added: 4708, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 31]`.
 	/// The range of component `p` is `[1, 31]`.
 	fn proxy_announced(a: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `416 + a * (68 ±0) + p * (37 ±0)`
+		//  Measured:  `554 + a * (68 ±0) + p * (37 ±0)`
 		//  Estimated: `5698`
-		// Minimum execution time: 32_791_000 picoseconds.
-		Weight::from_parts(32_776_904, 0)
+		// Minimum execution time: 37_584_000 picoseconds.
+		Weight::from_parts(37_858_207, 0)
 			.saturating_add(Weight::from_parts(0, 5698))
-			// Standard Error: 2_382
-			.saturating_add(Weight::from_parts(143_857, 0).saturating_mul(a.into()))
-			// Standard Error: 2_461
-			.saturating_add(Weight::from_parts(40_024, 0).saturating_mul(p.into()))
+			// Standard Error: 1_868
+			.saturating_add(Weight::from_parts(148_967, 0).saturating_mul(a.into()))
+			// Standard Error: 1_930
+			.saturating_add(Weight::from_parts(13_017, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Proxy::Announcements` (r:1 w:1)
-	/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Announcements (r:1 w:1)
+	/// Proof: Proxy Announcements (max_values: None, max_size: Some(2233), added: 4708, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 31]`.
 	/// The range of component `p` is `[1, 31]`.
-	fn remove_announcement(a: u32, p: u32, ) -> Weight {
+	fn remove_announcement(a: u32, _p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `331 + a * (68 ±0)`
+		//  Measured:  `469 + a * (68 ±0)`
 		//  Estimated: `5698`
-		// Minimum execution time: 21_831_000 picoseconds.
-		Weight::from_parts(22_479_938, 0)
+		// Minimum execution time: 24_642_000 picoseconds.
+		Weight::from_parts(25_526_588, 0)
 			.saturating_add(Weight::from_parts(0, 5698))
-			// Standard Error: 1_738
-			.saturating_add(Weight::from_parts(146_532, 0).saturating_mul(a.into()))
-			// Standard Error: 1_796
-			.saturating_add(Weight::from_parts(7_499, 0).saturating_mul(p.into()))
+			// Standard Error: 1_138
+			.saturating_add(Weight::from_parts(131_157, 0).saturating_mul(a.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Proxy::Announcements` (r:1 w:1)
-	/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Announcements (r:1 w:1)
+	/// Proof: Proxy Announcements (max_values: None, max_size: Some(2233), added: 4708, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 31]`.
 	/// The range of component `p` is `[1, 31]`.
-	fn reject_announcement(a: u32, p: u32, ) -> Weight {
+	fn reject_announcement(a: u32, _p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `331 + a * (68 ±0)`
+		//  Measured:  `469 + a * (68 ±0)`
 		//  Estimated: `5698`
-		// Minimum execution time: 21_776_000 picoseconds.
-		Weight::from_parts(22_762_843, 0)
+		// Minimum execution time: 24_377_000 picoseconds.
+		Weight::from_parts(25_464_033, 0)
 			.saturating_add(Weight::from_parts(0, 5698))
-			// Standard Error: 1_402
-			.saturating_add(Weight::from_parts(137_512, 0).saturating_mul(a.into()))
-			// Standard Error: 1_449
-			.saturating_add(Weight::from_parts(3_645, 0).saturating_mul(p.into()))
+			// Standard Error: 1_116
+			.saturating_add(Weight::from_parts(130_722, 0).saturating_mul(a.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:0)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
-	/// Storage: `Proxy::Announcements` (r:1 w:1)
-	/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:0)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
+	/// Storage: Proxy Announcements (r:1 w:1)
+	/// Proof: Proxy Announcements (max_values: None, max_size: Some(2233), added: 4708, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 31]`.
 	/// The range of component `p` is `[1, 31]`.
 	fn announce(a: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `348 + a * (68 ±0) + p * (37 ±0)`
+		//  Measured:  `486 + a * (68 ±0) + p * (37 ±0)`
 		//  Estimated: `5698`
-		// Minimum execution time: 29_108_000 picoseconds.
-		Weight::from_parts(29_508_910, 0)
+		// Minimum execution time: 34_202_000 picoseconds.
+		Weight::from_parts(34_610_079, 0)
 			.saturating_add(Weight::from_parts(0, 5698))
-			// Standard Error: 2_268
-			.saturating_add(Weight::from_parts(144_770, 0).saturating_mul(a.into()))
-			// Standard Error: 2_343
-			.saturating_add(Weight::from_parts(25_851, 0).saturating_mul(p.into()))
+			// Standard Error: 1_234
+			.saturating_add(Weight::from_parts(134_197, 0).saturating_mul(a.into()))
+			// Standard Error: 1_275
+			.saturating_add(Weight::from_parts(15_970, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn add_proxy(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `89 + p * (37 ±0)`
+		//  Measured:  `227 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 18_942_000 picoseconds.
-		Weight::from_parts(19_518_812, 0)
+		// Minimum execution time: 25_492_000 picoseconds.
+		Weight::from_parts(25_984_867, 0)
 			.saturating_add(Weight::from_parts(0, 4706))
-			// Standard Error: 1_078
-			.saturating_add(Weight::from_parts(46_147, 0).saturating_mul(p.into()))
+			// Standard Error: 893
+			.saturating_add(Weight::from_parts(51_868, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn remove_proxy(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `89 + p * (37 ±0)`
+		//  Measured:  `227 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 18_993_000 picoseconds.
-		Weight::from_parts(19_871_741, 0)
+		// Minimum execution time: 25_492_000 picoseconds.
+		Weight::from_parts(26_283_445, 0)
 			.saturating_add(Weight::from_parts(0, 4706))
-			// Standard Error: 1_883
-			.saturating_add(Weight::from_parts(46_033, 0).saturating_mul(p.into()))
+			// Standard Error: 1_442
+			.saturating_add(Weight::from_parts(53_504, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn remove_proxies(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `89 + p * (37 ±0)`
+		//  Measured:  `227 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 17_849_000 picoseconds.
-		Weight::from_parts(18_776_170, 0)
+		// Minimum execution time: 22_083_000 picoseconds.
+		Weight::from_parts(22_688_835, 0)
 			.saturating_add(Weight::from_parts(0, 4706))
-			// Standard Error: 1_239
-			.saturating_add(Weight::from_parts(27_960, 0).saturating_mul(p.into()))
+			// Standard Error: 994
+			.saturating_add(Weight::from_parts(32_994, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn create_pure(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `101`
+		//  Measured:  `239`
 		//  Estimated: `4706`
-		// Minimum execution time: 20_049_000 picoseconds.
-		Weight::from_parts(20_881_515, 0)
+		// Minimum execution time: 27_042_000 picoseconds.
+		Weight::from_parts(27_624_587, 0)
 			.saturating_add(Weight::from_parts(0, 4706))
-			// Standard Error: 952
-			.saturating_add(Weight::from_parts(5_970, 0).saturating_mul(p.into()))
+			// Standard Error: 671
+			.saturating_add(Weight::from_parts(5_888, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[0, 30]`.
 	fn kill_pure(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `126 + p * (37 ±0)`
+		//  Measured:  `264 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 18_528_000 picoseconds.
-		Weight::from_parts(19_384_189, 0)
+		// Minimum execution time: 23_396_000 picoseconds.
+		Weight::from_parts(24_003_080, 0)
 			.saturating_add(Weight::from_parts(0, 4706))
-			// Standard Error: 1_106
-			.saturating_add(Weight::from_parts(35_698, 0).saturating_mul(p.into()))
+			// Standard Error: 684
+			.saturating_add(Weight::from_parts(29_878, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/polkadot/runtime/rococo/src/weights/pallet_ranked_collective.rs b/polkadot/runtime/rococo/src/weights/pallet_ranked_collective.rs
index fa2decb1671..ce9d5fcc0c7 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_ranked_collective.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_ranked_collective.rs
@@ -16,26 +16,24 @@
 
 //! Autogenerated weights for `pallet_ranked_collective`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2024-01-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-grjcggob-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// target/production/polkadot
 // benchmark
 // pallet
-// --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=pallet_ranked_collective
 // --extrinsic=*
-// --execution=wasm
 // --wasm-execution=compiled
+// --heap-pages=4096
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_ranked_collective
+// --chain=rococo-dev
 // --header=./polkadot/file_header.txt
 // --output=./polkadot/runtime/rococo/src/weights/
 
@@ -62,8 +60,8 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
 		// Proof Size summary in bytes:
 		//  Measured:  `42`
 		//  Estimated: `3507`
-		// Minimum execution time: 13_428_000 picoseconds.
-		Weight::from_parts(14_019_000, 0)
+		// Minimum execution time: 13_480_000 picoseconds.
+		Weight::from_parts(13_786_000, 0)
 			.saturating_add(Weight::from_parts(0, 3507))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -81,11 +79,11 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
 		// Proof Size summary in bytes:
 		//  Measured:  `516 + r * (281 ±0)`
 		//  Estimated: `3519 + r * (2529 ±0)`
-		// Minimum execution time: 28_566_000 picoseconds.
-		Weight::from_parts(29_346_952, 0)
+		// Minimum execution time: 28_771_000 picoseconds.
+		Weight::from_parts(29_256_825, 0)
 			.saturating_add(Weight::from_parts(0, 3519))
-			// Standard Error: 21_068
-			.saturating_add(Weight::from_parts(14_471_237, 0).saturating_mul(r.into()))
+			// Standard Error: 21_594
+			.saturating_add(Weight::from_parts(14_649_527, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(6))
@@ -105,11 +103,11 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
 		// Proof Size summary in bytes:
 		//  Measured:  `214 + r * (17 ±0)`
 		//  Estimated: `3507`
-		// Minimum execution time: 16_161_000 picoseconds.
-		Weight::from_parts(16_981_334, 0)
+		// Minimum execution time: 16_117_000 picoseconds.
+		Weight::from_parts(16_978_453, 0)
 			.saturating_add(Weight::from_parts(0, 3507))
-			// Standard Error: 4_596
-			.saturating_add(Weight::from_parts(313_386, 0).saturating_mul(r.into()))
+			// Standard Error: 4_511
+			.saturating_add(Weight::from_parts(324_261, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
@@ -126,11 +124,11 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
 		// Proof Size summary in bytes:
 		//  Measured:  `532 + r * (72 ±0)`
 		//  Estimated: `3519`
-		// Minimum execution time: 28_406_000 picoseconds.
-		Weight::from_parts(31_178_557, 0)
+		// Minimum execution time: 28_995_000 picoseconds.
+		Weight::from_parts(31_343_215, 0)
 			.saturating_add(Weight::from_parts(0, 3519))
-			// Standard Error: 17_737
-			.saturating_add(Weight::from_parts(627_757, 0).saturating_mul(r.into()))
+			// Standard Error: 16_438
+			.saturating_add(Weight::from_parts(637_462, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(6))
 	}
@@ -142,17 +140,15 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
 	/// Proof: `FellowshipCollective::Voting` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:2 w:2)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn vote() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `603`
 		//  Estimated: `83866`
-		// Minimum execution time: 41_164_000 picoseconds.
-		Weight::from_parts(42_163_000, 0)
+		// Minimum execution time: 38_820_000 picoseconds.
+		Weight::from_parts(40_240_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
 			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(5))
+			.saturating_add(T::DbWeight::get().writes(4))
 	}
 	/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:0)
 	/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
@@ -165,11 +161,11 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
 		// Proof Size summary in bytes:
 		//  Measured:  `400 + n * (50 ±0)`
 		//  Estimated: `4365 + n * (2540 ±0)`
-		// Minimum execution time: 13_183_000 picoseconds.
-		Weight::from_parts(15_604_064, 0)
+		// Minimum execution time: 12_972_000 picoseconds.
+		Weight::from_parts(15_829_333, 0)
 			.saturating_add(Weight::from_parts(0, 4365))
-			// Standard Error: 2_018
-			.saturating_add(Weight::from_parts(1_101_088, 0).saturating_mul(n.into()))
+			// Standard Error: 1_754
+			.saturating_add(Weight::from_parts(1_116_520, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
@@ -187,8 +183,8 @@ impl<T: frame_system::Config> pallet_ranked_collective::WeightInfo for WeightInf
 		// Proof Size summary in bytes:
 		//  Measured:  `337`
 		//  Estimated: `6048`
-		// Minimum execution time: 43_603_000 picoseconds.
-		Weight::from_parts(44_809_000, 0)
+		// Minimum execution time: 44_601_000 picoseconds.
+		Weight::from_parts(45_714_000, 0)
 			.saturating_add(Weight::from_parts(0, 6048))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(10))
diff --git a/polkadot/runtime/rococo/src/weights/pallet_recovery.rs b/polkadot/runtime/rococo/src/weights/pallet_recovery.rs
deleted file mode 100644
index ed79aa2b1f1..00000000000
--- a/polkadot/runtime/rococo/src/weights/pallet_recovery.rs
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot 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.
-
-// Polkadot 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 Polkadot.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_recovery`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/production/polkadot
-// benchmark
-// pallet
-// --chain=rococo-dev
-// --steps=50
-// --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=pallet_recovery
-// --extrinsic=*
-// --execution=wasm
-// --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_recovery`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_recovery::WeightInfo for WeightInfo<T> {
-	/// Storage: `Recovery::Proxy` (r:1 w:0)
-	/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
-	fn as_recovered() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `215`
-		//  Estimated: `3545`
-		// Minimum execution time: 7_899_000 picoseconds.
-		Weight::from_parts(8_205_000, 0)
-			.saturating_add(Weight::from_parts(0, 3545))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	/// Storage: `Recovery::Proxy` (r:0 w:1)
-	/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
-	fn set_recovered() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 6_258_000 picoseconds.
-		Weight::from_parts(6_494_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-	/// Storage: `Recovery::Recoverable` (r:1 w:1)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
-	/// The range of component `n` is `[1, 9]`.
-	fn create_recovery(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `109`
-		//  Estimated: `3816`
-		// Minimum execution time: 19_369_000 picoseconds.
-		Weight::from_parts(20_185_132, 0)
-			.saturating_add(Weight::from_parts(0, 3816))
-			// Standard Error: 4_275
-			.saturating_add(Weight::from_parts(78_024, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-	/// Storage: `Recovery::Recoverable` (r:1 w:0)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:1)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
-	fn initiate_recovery() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `206`
-		//  Estimated: `3854`
-		// Minimum execution time: 22_425_000 picoseconds.
-		Weight::from_parts(23_171_000, 0)
-			.saturating_add(Weight::from_parts(0, 3854))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-	/// Storage: `Recovery::Recoverable` (r:1 w:0)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:1)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
-	/// The range of component `n` is `[1, 9]`.
-	fn vouch_recovery(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `294 + n * (64 ±0)`
-		//  Estimated: `3854`
-		// Minimum execution time: 17_308_000 picoseconds.
-		Weight::from_parts(18_118_782, 0)
-			.saturating_add(Weight::from_parts(0, 3854))
-			// Standard Error: 4_309
-			.saturating_add(Weight::from_parts(126_278, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-	/// Storage: `Recovery::Recoverable` (r:1 w:0)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:0)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::Proxy` (r:1 w:1)
-	/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
-	/// The range of component `n` is `[1, 9]`.
-	fn claim_recovery(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `326 + n * (64 ±0)`
-		//  Estimated: `3854`
-		// Minimum execution time: 20_755_000 picoseconds.
-		Weight::from_parts(21_821_713, 0)
-			.saturating_add(Weight::from_parts(0, 3854))
-			// Standard Error: 4_550
-			.saturating_add(Weight::from_parts(101_916, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(3))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:1)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// The range of component `n` is `[1, 9]`.
-	fn close_recovery(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `447 + n * (32 ±0)`
-		//  Estimated: `3854`
-		// Minimum execution time: 29_957_000 picoseconds.
-		Weight::from_parts(31_010_309, 0)
-			.saturating_add(Weight::from_parts(0, 3854))
-			// Standard Error: 5_913
-			.saturating_add(Weight::from_parts(110_070, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
-	}
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:0)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::Recoverable` (r:1 w:1)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
-	/// The range of component `n` is `[1, 9]`.
-	fn remove_recovery(n: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `204 + n * (32 ±0)`
-		//  Estimated: `3854`
-		// Minimum execution time: 24_430_000 picoseconds.
-		Weight::from_parts(24_462_856, 0)
-			.saturating_add(Weight::from_parts(0, 3854))
-			// Standard Error: 13_646
-			.saturating_add(Weight::from_parts(507_715, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-	/// Storage: `Recovery::Proxy` (r:1 w:1)
-	/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
-	fn cancel_recovered() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `215`
-		//  Estimated: `3545`
-		// Minimum execution time: 9_686_000 picoseconds.
-		Weight::from_parts(10_071_000, 0)
-			.saturating_add(Weight::from_parts(0, 3545))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-}
diff --git a/polkadot/runtime/rococo/src/weights/pallet_referenda_fellowship_referenda.rs b/polkadot/runtime/rococo/src/weights/pallet_referenda_fellowship_referenda.rs
index 6dfcea2b832..96f172230e1 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_referenda_fellowship_referenda.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_referenda_fellowship_referenda.rs
@@ -16,28 +16,27 @@
 
 //! Autogenerated weights for `pallet_referenda`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-07-11, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `runner-xerhrdyb-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: `Some(Wasm)`, WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// target/production/polkadot
 // benchmark
 // pallet
-// --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=pallet_referenda
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --heap-pages=4096
+// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json
+// --pallet=pallet_referenda
+// --chain=rococo-dev
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -60,10 +59,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
 	fn submit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `292`
+		//  Measured:  `327`
 		//  Estimated: `42428`
-		// Minimum execution time: 24_053_000 picoseconds.
-		Weight::from_parts(25_121_000, 0)
+		// Minimum execution time: 29_909_000 picoseconds.
+		Weight::from_parts(30_645_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -72,17 +71,15 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:2 w:2)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn place_decision_deposit_preparing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `403`
+		//  Measured:  `438`
 		//  Estimated: `83866`
-		// Minimum execution time: 45_064_000 picoseconds.
-		Weight::from_parts(46_112_000, 0)
+		// Minimum execution time: 54_405_000 picoseconds.
+		Weight::from_parts(55_583_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
 			.saturating_add(T::DbWeight::get().reads(3))
-			.saturating_add(T::DbWeight::get().writes(4))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
@@ -92,17 +89,15 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn place_decision_deposit_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2041`
+		//  Measured:  `2076`
 		//  Estimated: `42428`
-		// Minimum execution time: 94_146_000 picoseconds.
-		Weight::from_parts(98_587_000, 0)
+		// Minimum execution time: 110_477_000 picoseconds.
+		Weight::from_parts(119_187_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(4))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
@@ -112,17 +107,15 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn place_decision_deposit_not_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2082`
+		//  Measured:  `2117`
 		//  Estimated: `42428`
-		// Minimum execution time: 93_002_000 picoseconds.
-		Weight::from_parts(96_924_000, 0)
+		// Minimum execution time: 111_467_000 picoseconds.
+		Weight::from_parts(117_758_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(4))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
@@ -132,17 +125,15 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:2 w:2)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn place_decision_deposit_passing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `739`
+		//  Measured:  `774`
 		//  Estimated: `83866`
-		// Minimum execution time: 160_918_000 picoseconds.
-		Weight::from_parts(175_603_000, 0)
+		// Minimum execution time: 191_135_000 picoseconds.
+		Weight::from_parts(210_535_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
 			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(5))
+			.saturating_add(T::DbWeight::get().writes(4))
 	}
 	/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
@@ -152,26 +143,24 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:2 w:2)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn place_decision_deposit_failing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `604`
+		//  Measured:  `639`
 		//  Estimated: `83866`
-		// Minimum execution time: 55_253_000 picoseconds.
-		Weight::from_parts(56_488_000, 0)
+		// Minimum execution time: 67_168_000 picoseconds.
+		Weight::from_parts(68_895_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
 			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(5))
+			.saturating_add(T::DbWeight::get().writes(4))
 	}
 	/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
 	fn refund_decision_deposit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `317`
+		//  Measured:  `351`
 		//  Estimated: `4365`
-		// Minimum execution time: 24_497_000 picoseconds.
-		Weight::from_parts(25_280_000, 0)
+		// Minimum execution time: 31_298_000 picoseconds.
+		Weight::from_parts(32_570_000, 0)
 			.saturating_add(Weight::from_parts(0, 4365))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -180,10 +169,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
 	fn refund_submission_deposit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `167`
+		//  Measured:  `201`
 		//  Estimated: `4365`
-		// Minimum execution time: 11_374_000 picoseconds.
-		Weight::from_parts(11_817_000, 0)
+		// Minimum execution time: 15_674_000 picoseconds.
+		Weight::from_parts(16_190_000, 0)
 			.saturating_add(Weight::from_parts(0, 4365))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -192,17 +181,15 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:2 w:2)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn cancel() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `348`
+		//  Measured:  `383`
 		//  Estimated: `83866`
-		// Minimum execution time: 31_805_000 picoseconds.
-		Weight::from_parts(32_622_000, 0)
+		// Minimum execution time: 38_927_000 picoseconds.
+		Weight::from_parts(40_545_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
 			.saturating_add(T::DbWeight::get().reads(3))
-			.saturating_add(T::DbWeight::get().writes(4))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
@@ -210,17 +197,15 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	/// Storage: `FellowshipReferenda::MetadataOf` (r:1 w:0)
 	/// Proof: `FellowshipReferenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn kill() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `449`
+		//  Measured:  `484`
 		//  Estimated: `83866`
-		// Minimum execution time: 62_364_000 picoseconds.
-		Weight::from_parts(63_798_000, 0)
+		// Minimum execution time: 80_209_000 picoseconds.
+		Weight::from_parts(82_084_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
 			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(4))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `FellowshipReferenda::TrackQueue` (r:1 w:0)
 	/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
@@ -228,10 +213,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
 	fn one_fewer_deciding_queue_empty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `140`
+		//  Measured:  `174`
 		//  Estimated: `4277`
-		// Minimum execution time: 8_811_000 picoseconds.
-		Weight::from_parts(9_224_000, 0)
+		// Minimum execution time: 9_520_000 picoseconds.
+		Weight::from_parts(10_088_000, 0)
 			.saturating_add(Weight::from_parts(0, 4277))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -246,10 +231,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn one_fewer_deciding_failing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2341`
+		//  Measured:  `2376`
 		//  Estimated: `42428`
-		// Minimum execution time: 83_292_000 picoseconds.
-		Weight::from_parts(89_114_000, 0)
+		// Minimum execution time: 93_893_000 picoseconds.
+		Weight::from_parts(101_065_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -264,10 +249,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn one_fewer_deciding_passing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2327`
+		//  Measured:  `2362`
 		//  Estimated: `42428`
-		// Minimum execution time: 84_648_000 picoseconds.
-		Weight::from_parts(89_332_000, 0)
+		// Minimum execution time: 98_811_000 picoseconds.
+		Weight::from_parts(103_590_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -278,10 +263,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
 	fn nudge_referendum_requeued_insertion() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1807`
+		//  Measured:  `1841`
 		//  Estimated: `4365`
-		// Minimum execution time: 40_529_000 picoseconds.
-		Weight::from_parts(45_217_000, 0)
+		// Minimum execution time: 43_230_000 picoseconds.
+		Weight::from_parts(46_120_000, 0)
 			.saturating_add(Weight::from_parts(0, 4365))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -292,10 +277,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
 	fn nudge_referendum_requeued_slide() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1774`
+		//  Measured:  `1808`
 		//  Estimated: `4365`
-		// Minimum execution time: 40_894_000 picoseconds.
-		Weight::from_parts(45_726_000, 0)
+		// Minimum execution time: 43_092_000 picoseconds.
+		Weight::from_parts(46_018_000, 0)
 			.saturating_add(Weight::from_parts(0, 4365))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -308,10 +293,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
 	fn nudge_referendum_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1790`
+		//  Measured:  `1824`
 		//  Estimated: `4365`
-		// Minimum execution time: 48_187_000 picoseconds.
-		Weight::from_parts(52_655_000, 0)
+		// Minimum execution time: 49_697_000 picoseconds.
+		Weight::from_parts(53_795_000, 0)
 			.saturating_add(Weight::from_parts(0, 4365))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -324,10 +309,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::TrackQueue` (`max_values`: None, `max_size`: Some(812), added: 3287, mode: `MaxEncodedLen`)
 	fn nudge_referendum_not_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1831`
+		//  Measured:  `1865`
 		//  Estimated: `4365`
-		// Minimum execution time: 47_548_000 picoseconds.
-		Weight::from_parts(51_547_000, 0)
+		// Minimum execution time: 50_417_000 picoseconds.
+		Weight::from_parts(53_214_000, 0)
 			.saturating_add(Weight::from_parts(0, 4365))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -338,10 +323,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_no_deposit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `300`
+		//  Measured:  `335`
 		//  Estimated: `42428`
-		// Minimum execution time: 20_959_000 picoseconds.
-		Weight::from_parts(21_837_000, 0)
+		// Minimum execution time: 25_688_000 picoseconds.
+		Weight::from_parts(26_575_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -352,10 +337,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_preparing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `348`
+		//  Measured:  `383`
 		//  Estimated: `42428`
-		// Minimum execution time: 21_628_000 picoseconds.
-		Weight::from_parts(22_192_000, 0)
+		// Minimum execution time: 26_230_000 picoseconds.
+		Weight::from_parts(27_235_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -364,10 +349,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
 	fn nudge_referendum_timed_out() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `208`
+		//  Measured:  `242`
 		//  Estimated: `4365`
-		// Minimum execution time: 12_309_000 picoseconds.
-		Weight::from_parts(12_644_000, 0)
+		// Minimum execution time: 17_585_000 picoseconds.
+		Weight::from_parts(18_225_000, 0)
 			.saturating_add(Weight::from_parts(0, 4365))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -382,10 +367,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_begin_deciding_failing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `549`
+		//  Measured:  `584`
 		//  Estimated: `42428`
-		// Minimum execution time: 31_871_000 picoseconds.
-		Weight::from_parts(33_123_000, 0)
+		// Minimum execution time: 38_243_000 picoseconds.
+		Weight::from_parts(39_959_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -400,10 +385,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_begin_deciding_passing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `684`
+		//  Measured:  `719`
 		//  Estimated: `42428`
-		// Minimum execution time: 73_715_000 picoseconds.
-		Weight::from_parts(79_980_000, 0)
+		// Minimum execution time: 88_424_000 picoseconds.
+		Weight::from_parts(92_969_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -416,10 +401,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_begin_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `735`
+		//  Measured:  `770`
 		//  Estimated: `42428`
-		// Minimum execution time: 128_564_000 picoseconds.
-		Weight::from_parts(138_536_000, 0)
+		// Minimum execution time: 138_207_000 picoseconds.
+		Weight::from_parts(151_726_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -432,10 +417,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_end_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `720`
+		//  Measured:  `755`
 		//  Estimated: `42428`
-		// Minimum execution time: 129_775_000 picoseconds.
-		Weight::from_parts(139_001_000, 0)
+		// Minimum execution time: 131_001_000 picoseconds.
+		Weight::from_parts(148_651_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -448,10 +433,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_continue_not_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `735`
+		//  Measured:  `770`
 		//  Estimated: `42428`
-		// Minimum execution time: 128_233_000 picoseconds.
-		Weight::from_parts(135_796_000, 0)
+		// Minimum execution time: 109_612_000 picoseconds.
+		Weight::from_parts(143_626_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -464,10 +449,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_continue_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `741`
+		//  Measured:  `776`
 		//  Estimated: `42428`
-		// Minimum execution time: 66_995_000 picoseconds.
-		Weight::from_parts(72_678_000, 0)
+		// Minimum execution time: 71_754_000 picoseconds.
+		Weight::from_parts(77_329_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -482,10 +467,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
 	fn nudge_referendum_approved() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `741`
+		//  Measured:  `776`
 		//  Estimated: `83866`
-		// Minimum execution time: 137_764_000 picoseconds.
-		Weight::from_parts(152_260_000, 0)
+		// Minimum execution time: 153_244_000 picoseconds.
+		Weight::from_parts(169_961_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -498,10 +483,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_rejected() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `737`
+		//  Measured:  `772`
 		//  Estimated: `42428`
-		// Minimum execution time: 119_992_000 picoseconds.
-		Weight::from_parts(134_805_000, 0)
+		// Minimum execution time: 137_997_000 picoseconds.
+		Weight::from_parts(157_862_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -510,18 +495,16 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(900), added: 3375, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:0)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `FellowshipReferenda::MetadataOf` (r:0 w:1)
 	/// Proof: `FellowshipReferenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
 	fn set_some_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `424`
+		//  Measured:  `458`
 		//  Estimated: `4365`
-		// Minimum execution time: 20_927_000 picoseconds.
-		Weight::from_parts(21_802_000, 0)
+		// Minimum execution time: 21_794_000 picoseconds.
+		Weight::from_parts(22_341_000, 0)
 			.saturating_add(Weight::from_parts(0, 4365))
-			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `FellowshipReferenda::ReferendumInfoFor` (r:1 w:0)
@@ -530,10 +513,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `FellowshipReferenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
 	fn clear_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `285`
+		//  Measured:  `319`
 		//  Estimated: `4365`
-		// Minimum execution time: 14_253_000 picoseconds.
-		Weight::from_parts(15_031_000, 0)
+		// Minimum execution time: 18_458_000 picoseconds.
+		Weight::from_parts(19_097_000, 0)
 			.saturating_add(Weight::from_parts(0, 4365))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/polkadot/runtime/rococo/src/weights/pallet_referenda_referenda.rs b/polkadot/runtime/rococo/src/weights/pallet_referenda_referenda.rs
index c35925198f9..b7cc5df28b9 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_referenda_referenda.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_referenda_referenda.rs
@@ -16,28 +16,27 @@
 
 //! Autogenerated weights for `pallet_referenda`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-07-11, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `runner-xerhrdyb-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: `Some(Wasm)`, WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// target/production/polkadot
 // benchmark
 // pallet
-// --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=pallet_referenda
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --heap-pages=4096
+// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json
+// --pallet=pallet_referenda
+// --chain=rococo-dev
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -58,10 +57,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
 	fn submit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `185`
+		//  Measured:  `324`
 		//  Estimated: `42428`
-		// Minimum execution time: 28_612_000 picoseconds.
-		Weight::from_parts(30_060_000, 0)
+		// Minimum execution time: 39_852_000 picoseconds.
+		Weight::from_parts(41_610_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -70,17 +69,15 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:2 w:2)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn place_decision_deposit_preparing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `438`
+		//  Measured:  `577`
 		//  Estimated: `83866`
-		// Minimum execution time: 42_827_000 picoseconds.
-		Weight::from_parts(44_072_000, 0)
+		// Minimum execution time: 52_588_000 picoseconds.
+		Weight::from_parts(54_154_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
 			.saturating_add(T::DbWeight::get().reads(3))
-			.saturating_add(T::DbWeight::get().writes(4))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
@@ -90,17 +87,15 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn place_decision_deposit_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3225`
+		//  Measured:  `3334`
 		//  Estimated: `42428`
-		// Minimum execution time: 56_475_000 picoseconds.
-		Weight::from_parts(58_888_000, 0)
+		// Minimum execution time: 70_483_000 picoseconds.
+		Weight::from_parts(72_731_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(4))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
@@ -110,62 +105,60 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn place_decision_deposit_not_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3245`
+		//  Measured:  `3354`
 		//  Estimated: `42428`
-		// Minimum execution time: 56_542_000 picoseconds.
-		Weight::from_parts(58_616_000, 0)
+		// Minimum execution time: 68_099_000 picoseconds.
+		Weight::from_parts(71_560_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(4))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
 	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
 	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
+	/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
+	/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:2 w:2)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn place_decision_deposit_passing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `438`
+		//  Measured:  `577`
 		//  Estimated: `83866`
-		// Minimum execution time: 51_218_000 picoseconds.
-		Weight::from_parts(53_148_000, 0)
+		// Minimum execution time: 64_357_000 picoseconds.
+		Weight::from_parts(66_081_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
-			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(5))
+			.saturating_add(T::DbWeight::get().reads(5))
+			.saturating_add(T::DbWeight::get().writes(4))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
 	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
 	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
+	/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
+	/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:2 w:2)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn place_decision_deposit_failing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `438`
+		//  Measured:  `577`
 		//  Estimated: `83866`
-		// Minimum execution time: 49_097_000 picoseconds.
-		Weight::from_parts(50_796_000, 0)
+		// Minimum execution time: 62_709_000 picoseconds.
+		Weight::from_parts(64_534_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
-			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(5))
+			.saturating_add(T::DbWeight::get().reads(5))
+			.saturating_add(T::DbWeight::get().writes(4))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
 	fn refund_decision_deposit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `279`
+		//  Measured:  `417`
 		//  Estimated: `4401`
-		// Minimum execution time: 23_720_000 picoseconds.
-		Weight::from_parts(24_327_000, 0)
+		// Minimum execution time: 31_296_000 picoseconds.
+		Weight::from_parts(32_221_000, 0)
 			.saturating_add(Weight::from_parts(0, 4401))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -174,10 +167,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
 	fn refund_submission_deposit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `269`
+		//  Measured:  `407`
 		//  Estimated: `4401`
-		// Minimum execution time: 24_089_000 picoseconds.
-		Weight::from_parts(24_556_000, 0)
+		// Minimum execution time: 31_209_000 picoseconds.
+		Weight::from_parts(32_168_000, 0)
 			.saturating_add(Weight::from_parts(0, 4401))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -186,17 +179,15 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:2 w:2)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn cancel() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `346`
+		//  Measured:  `485`
 		//  Estimated: `83866`
-		// Minimum execution time: 29_022_000 picoseconds.
-		Weight::from_parts(29_590_000, 0)
+		// Minimum execution time: 38_887_000 picoseconds.
+		Weight::from_parts(40_193_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
 			.saturating_add(T::DbWeight::get().reads(3))
-			.saturating_add(T::DbWeight::get().writes(4))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
@@ -204,17 +195,15 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	/// Storage: `Referenda::MetadataOf` (r:1 w:0)
 	/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn kill() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `587`
+		//  Measured:  `726`
 		//  Estimated: `83866`
-		// Minimum execution time: 81_920_000 picoseconds.
-		Weight::from_parts(84_492_000, 0)
+		// Minimum execution time: 106_054_000 picoseconds.
+		Weight::from_parts(108_318_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
 			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(4))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Referenda::TrackQueue` (r:1 w:0)
 	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
@@ -222,10 +211,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
 	fn one_fewer_deciding_queue_empty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `102`
+		//  Measured:  `240`
 		//  Estimated: `5477`
-		// Minimum execution time: 8_134_000 picoseconds.
-		Weight::from_parts(8_574_000, 0)
+		// Minimum execution time: 9_263_000 picoseconds.
+		Weight::from_parts(9_763_000, 0)
 			.saturating_add(Weight::from_parts(0, 5477))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -234,32 +223,36 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
+	/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
+	/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn one_fewer_deciding_failing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3115`
+		//  Measured:  `3254`
 		//  Estimated: `42428`
-		// Minimum execution time: 39_932_000 picoseconds.
-		Weight::from_parts(42_086_000, 0)
+		// Minimum execution time: 50_080_000 picoseconds.
+		Weight::from_parts(51_858_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
 	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
+	/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
+	/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn one_fewer_deciding_passing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3115`
+		//  Measured:  `3254`
 		//  Estimated: `42428`
-		// Minimum execution time: 42_727_000 picoseconds.
-		Weight::from_parts(44_280_000, 0)
+		// Minimum execution time: 53_889_000 picoseconds.
+		Weight::from_parts(55_959_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
@@ -268,10 +261,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
 	fn nudge_referendum_requeued_insertion() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2939`
+		//  Measured:  `3077`
 		//  Estimated: `5477`
-		// Minimum execution time: 20_918_000 picoseconds.
-		Weight::from_parts(22_180_000, 0)
+		// Minimum execution time: 23_266_000 picoseconds.
+		Weight::from_parts(24_624_000, 0)
 			.saturating_add(Weight::from_parts(0, 5477))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -282,10 +275,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
 	fn nudge_referendum_requeued_slide() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2939`
+		//  Measured:  `3077`
 		//  Estimated: `5477`
-		// Minimum execution time: 20_943_000 picoseconds.
-		Weight::from_parts(21_932_000, 0)
+		// Minimum execution time: 22_846_000 picoseconds.
+		Weight::from_parts(24_793_000, 0)
 			.saturating_add(Weight::from_parts(0, 5477))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -298,10 +291,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
 	fn nudge_referendum_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2943`
+		//  Measured:  `3081`
 		//  Estimated: `5477`
-		// Minimum execution time: 25_197_000 picoseconds.
-		Weight::from_parts(26_083_000, 0)
+		// Minimum execution time: 28_284_000 picoseconds.
+		Weight::from_parts(29_940_000, 0)
 			.saturating_add(Weight::from_parts(0, 5477))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -314,10 +307,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
 	fn nudge_referendum_not_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2963`
+		//  Measured:  `3101`
 		//  Estimated: `5477`
-		// Minimum execution time: 24_969_000 picoseconds.
-		Weight::from_parts(26_096_000, 0)
+		// Minimum execution time: 28_133_000 picoseconds.
+		Weight::from_parts(29_638_000, 0)
 			.saturating_add(Weight::from_parts(0, 5477))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -328,10 +321,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_no_deposit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `298`
+		//  Measured:  `437`
 		//  Estimated: `42428`
-		// Minimum execution time: 18_050_000 picoseconds.
-		Weight::from_parts(18_790_000, 0)
+		// Minimum execution time: 25_710_000 picoseconds.
+		Weight::from_parts(26_500_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -342,10 +335,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_preparing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `346`
+		//  Measured:  `485`
 		//  Estimated: `42428`
-		// Minimum execution time: 18_357_000 picoseconds.
-		Weight::from_parts(18_957_000, 0)
+		// Minimum execution time: 25_935_000 picoseconds.
+		Weight::from_parts(26_803_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -354,10 +347,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
 	fn nudge_referendum_timed_out() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `206`
+		//  Measured:  `344`
 		//  Estimated: `4401`
-		// Minimum execution time: 11_479_000 picoseconds.
-		Weight::from_parts(11_968_000, 0)
+		// Minimum execution time: 17_390_000 picoseconds.
+		Weight::from_parts(18_042_000, 0)
 			.saturating_add(Weight::from_parts(0, 4401))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -366,136 +359,150 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
 	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
 	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
+	/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
+	/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_begin_deciding_failing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `346`
+		//  Measured:  `485`
 		//  Estimated: `42428`
-		// Minimum execution time: 24_471_000 picoseconds.
-		Weight::from_parts(25_440_000, 0)
+		// Minimum execution time: 35_141_000 picoseconds.
+		Weight::from_parts(36_318_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
 	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
 	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
+	/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
+	/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_begin_deciding_passing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `346`
+		//  Measured:  `485`
 		//  Estimated: `42428`
-		// Minimum execution time: 26_580_000 picoseconds.
-		Weight::from_parts(27_570_000, 0)
+		// Minimum execution time: 37_815_000 picoseconds.
+		Weight::from_parts(39_243_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
+	/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
+	/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_begin_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `399`
+		//  Measured:  `538`
 		//  Estimated: `42428`
-		// Minimum execution time: 24_331_000 picoseconds.
-		Weight::from_parts(25_291_000, 0)
+		// Minimum execution time: 30_779_000 picoseconds.
+		Weight::from_parts(31_845_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
+	/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
+	/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_end_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `382`
+		//  Measured:  `521`
 		//  Estimated: `42428`
-		// Minimum execution time: 24_768_000 picoseconds.
-		Weight::from_parts(25_746_000, 0)
+		// Minimum execution time: 31_908_000 picoseconds.
+		Weight::from_parts(33_253_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
+	/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
+	/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_continue_not_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `399`
+		//  Measured:  `538`
 		//  Estimated: `42428`
-		// Minimum execution time: 23_171_000 picoseconds.
-		Weight::from_parts(24_161_000, 0)
+		// Minimum execution time: 28_951_000 picoseconds.
+		Weight::from_parts(30_004_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
+	/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
+	/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_continue_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `403`
+		//  Measured:  `542`
 		//  Estimated: `42428`
-		// Minimum execution time: 22_263_000 picoseconds.
-		Weight::from_parts(23_062_000, 0)
+		// Minimum execution time: 27_750_000 picoseconds.
+		Weight::from_parts(28_588_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
+	/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
+	/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:2 w:2)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Lookup` (r:1 w:1)
 	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
 	fn nudge_referendum_approved() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `403`
+		//  Measured:  `542`
 		//  Estimated: `83866`
-		// Minimum execution time: 33_710_000 picoseconds.
-		Weight::from_parts(34_871_000, 0)
+		// Minimum execution time: 43_950_000 picoseconds.
+		Weight::from_parts(46_164_000, 0)
 			.saturating_add(Weight::from_parts(0, 83866))
-			.saturating_add(T::DbWeight::get().reads(4))
+			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
+	/// Storage: `Balances::InactiveIssuance` (r:1 w:0)
+	/// Proof: `Balances::InactiveIssuance` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	fn nudge_referendum_rejected() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `399`
+		//  Measured:  `538`
 		//  Estimated: `42428`
-		// Minimum execution time: 24_260_000 picoseconds.
-		Weight::from_parts(25_104_000, 0)
+		// Minimum execution time: 31_050_000 picoseconds.
+		Weight::from_parts(32_169_000, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
 	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(936), added: 3411, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:0)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Referenda::MetadataOf` (r:0 w:1)
 	/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
 	fn set_some_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `422`
+		//  Measured:  `560`
 		//  Estimated: `4401`
-		// Minimum execution time: 19_821_000 picoseconds.
-		Weight::from_parts(20_641_000, 0)
+		// Minimum execution time: 21_193_000 picoseconds.
+		Weight::from_parts(22_116_000, 0)
 			.saturating_add(Weight::from_parts(0, 4401))
-			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
@@ -504,10 +511,10 @@ impl<T: frame_system::Config> pallet_referenda::WeightInfo for WeightInfo<T> {
 	/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
 	fn clear_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `283`
+		//  Measured:  `421`
 		//  Estimated: `4401`
-		// Minimum execution time: 13_411_000 picoseconds.
-		Weight::from_parts(14_070_000, 0)
+		// Minimum execution time: 18_065_000 picoseconds.
+		Weight::from_parts(18_781_000, 0)
 			.saturating_add(Weight::from_parts(0, 4401))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/polkadot/runtime/rococo/src/weights/pallet_scheduler.rs b/polkadot/runtime/rococo/src/weights/pallet_scheduler.rs
index 5f6b41d2b54..0f36dbd384d 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_scheduler.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_scheduler.rs
@@ -16,26 +16,24 @@
 
 //! Autogenerated weights for `pallet_scheduler`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2024-01-25, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-grjcggob-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// target/production/polkadot
 // benchmark
 // pallet
-// --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=pallet_scheduler
 // --extrinsic=*
-// --execution=wasm
 // --wasm-execution=compiled
+// --heap-pages=4096
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_scheduler
+// --chain=rococo-dev
 // --header=./polkadot/file_header.txt
 // --output=./polkadot/runtime/rococo/src/weights/
 
@@ -56,8 +54,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `68`
 		//  Estimated: `1489`
-		// Minimum execution time: 3_114_000 picoseconds.
-		Weight::from_parts(3_245_000, 0)
+		// Minimum execution time: 2_869_000 picoseconds.
+		Weight::from_parts(3_109_000, 0)
 			.saturating_add(Weight::from_parts(0, 1489))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -69,11 +67,11 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `115 + s * (177 ±0)`
 		//  Estimated: `42428`
-		// Minimum execution time: 3_430_000 picoseconds.
-		Weight::from_parts(6_250_920, 0)
+		// Minimum execution time: 3_326_000 picoseconds.
+		Weight::from_parts(5_818_563, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			// Standard Error: 1_350
-			.saturating_add(Weight::from_parts(333_245, 0).saturating_mul(s.into()))
+			// Standard Error: 1_261
+			.saturating_add(Weight::from_parts(336_446, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -81,8 +79,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_166_000 picoseconds.
-		Weight::from_parts(3_295_000, 0)
+		// Minimum execution time: 3_007_000 picoseconds.
+		Weight::from_parts(3_197_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Preimage::PreimageFor` (r:1 w:1)
@@ -96,11 +94,11 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `251 + s * (1 ±0)`
 		//  Estimated: `3716 + s * (1 ±0)`
-		// Minimum execution time: 17_072_000 picoseconds.
-		Weight::from_parts(17_393_000, 0)
+		// Minimum execution time: 16_590_000 picoseconds.
+		Weight::from_parts(16_869_000, 0)
 			.saturating_add(Weight::from_parts(0, 3716))
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_204, 0).saturating_mul(s.into()))
+			// Standard Error: 9
+			.saturating_add(Weight::from_parts(1_308, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(s.into()))
@@ -111,8 +109,8 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_566_000 picoseconds.
-		Weight::from_parts(4_775_000, 0)
+		// Minimum execution time: 4_320_000 picoseconds.
+		Weight::from_parts(4_594_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -120,24 +118,24 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_180_000 picoseconds.
-		Weight::from_parts(3_339_000, 0)
+		// Minimum execution time: 2_956_000 picoseconds.
+		Weight::from_parts(3_216_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	fn execute_dispatch_signed() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_656_000 picoseconds.
-		Weight::from_parts(1_829_000, 0)
+		// Minimum execution time: 1_824_000 picoseconds.
+		Weight::from_parts(1_929_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	fn execute_dispatch_unsigned() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_628_000 picoseconds.
-		Weight::from_parts(1_840_000, 0)
+		// Minimum execution time: 1_749_000 picoseconds.
+		Weight::from_parts(1_916_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
@@ -147,18 +145,16 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `115 + s * (177 ±0)`
 		//  Estimated: `42428`
-		// Minimum execution time: 9_523_000 picoseconds.
-		Weight::from_parts(12_482_434, 0)
+		// Minimum execution time: 9_086_000 picoseconds.
+		Weight::from_parts(11_733_696, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			// Standard Error: 1_663
-			.saturating_add(Weight::from_parts(370_122, 0).saturating_mul(s.into()))
+			// Standard Error: 1_362
+			.saturating_add(Weight::from_parts(375_266, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Lookup` (r:0 w:1)
 	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[1, 50]`.
@@ -166,13 +162,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `115 + s * (177 ±0)`
 		//  Estimated: `42428`
-		// Minimum execution time: 14_649_000 picoseconds.
-		Weight::from_parts(14_705_132, 0)
+		// Minimum execution time: 12_716_000 picoseconds.
+		Weight::from_parts(12_529_180, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			// Standard Error: 1_126
-			.saturating_add(Weight::from_parts(547_438, 0).saturating_mul(s.into()))
+			// Standard Error: 867
+			.saturating_add(Weight::from_parts(548_188, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(3))
+			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	/// Storage: `Scheduler::Lookup` (r:1 w:1)
 	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
@@ -183,11 +179,11 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `292 + s * (185 ±0)`
 		//  Estimated: `42428`
-		// Minimum execution time: 12_335_000 picoseconds.
-		Weight::from_parts(16_144_217, 0)
+		// Minimum execution time: 12_053_000 picoseconds.
+		Weight::from_parts(15_358_056, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			// Standard Error: 3_533
-			.saturating_add(Weight::from_parts(413_823, 0).saturating_mul(s.into()))
+			// Standard Error: 3_176
+			.saturating_add(Weight::from_parts(421_589, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
@@ -195,48 +191,49 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[1, 50]`.
 	fn cancel_named(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `318 + s * (185 ±0)`
 		//  Estimated: `42428`
-		// Minimum execution time: 16_906_000 picoseconds.
-		Weight::from_parts(17_846_662, 0)
+		// Minimum execution time: 14_803_000 picoseconds.
+		Weight::from_parts(15_805_714, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			// Standard Error: 2_687
-			.saturating_add(Weight::from_parts(613_356, 0).saturating_mul(s.into()))
+			// Standard Error: 2_597
+			.saturating_add(Weight::from_parts(611_053, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(3))
+			.saturating_add(T::DbWeight::get().writes(2))
 	}
+	/// Storage: `Scheduler::Retries` (r:1 w:2)
+	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: `Scheduler::Lookup` (r:0 w:1)
+	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[1, 50]`.
 	fn schedule_retry(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `155`
+		//  Measured:  `196`
 		//  Estimated: `42428`
-		// Minimum execution time: 8_988_000 picoseconds.
-		Weight::from_parts(9_527_838, 0)
+		// Minimum execution time: 13_156_000 picoseconds.
+		Weight::from_parts(13_801_287, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
-			// Standard Error: 523
-			.saturating_add(Weight::from_parts(25_453, 0).saturating_mul(s.into()))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(2))
+			// Standard Error: 568
+			.saturating_add(Weight::from_parts(35_441, 0).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().writes(4))
 	}
 	/// Storage: `Scheduler::Agenda` (r:1 w:0)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Retries` (r:0 w:1)
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// The range of component `s` is `[1, 50]`.
 	fn set_retry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `8965`
+		//  Measured:  `115 + s * (177 ±0)`
 		//  Estimated: `42428`
-		// Minimum execution time: 23_337_000 picoseconds.
-		Weight::from_parts(24_255_000, 0)
+		// Minimum execution time: 7_912_000 picoseconds.
+		Weight::from_parts(8_081_460, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -247,12 +244,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Retries` (r:0 w:1)
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// The range of component `s` is `[1, 50]`.
 	fn set_retry_named() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `9643`
+		//  Measured:  `324 + s * (185 ±0)`
 		//  Estimated: `42428`
-		// Minimum execution time: 30_704_000 picoseconds.
-		Weight::from_parts(31_646_000, 0)
+		// Minimum execution time: 10_673_000 picoseconds.
+		Weight::from_parts(12_212_185, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -261,12 +259,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Retries` (r:0 w:1)
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// The range of component `s` is `[1, 50]`.
 	fn cancel_retry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `8977`
+		//  Measured:  `115 + s * (177 ±0)`
 		//  Estimated: `42428`
-		// Minimum execution time: 22_279_000 picoseconds.
-		Weight::from_parts(23_106_000, 0)
+		// Minimum execution time: 7_912_000 picoseconds.
+		Weight::from_parts(8_081_460, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -277,12 +276,13 @@ impl<T: frame_system::Config> pallet_scheduler::WeightInfo for WeightInfo<T> {
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(38963), added: 41438, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Retries` (r:0 w:1)
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// The range of component `s` is `[1, 50]`.
 	fn cancel_retry_named() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `9655`
+		//  Measured:  `324 + s * (185 ±0)`
 		//  Estimated: `42428`
-		// Minimum execution time: 29_649_000 picoseconds.
-		Weight::from_parts(30_472_000, 0)
+		// Minimum execution time: 10_673_000 picoseconds.
+		Weight::from_parts(12_212_185, 0)
 			.saturating_add(Weight::from_parts(0, 42428))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/polkadot/runtime/rococo/src/weights/pallet_sudo.rs b/polkadot/runtime/rococo/src/weights/pallet_sudo.rs
index ecc31dc3fa9..694174954fc 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_sudo.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_sudo.rs
@@ -16,26 +16,24 @@
 
 //! Autogenerated weights for `pallet_sudo`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-11-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-yprdrvc7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// target/production/polkadot
 // benchmark
 // pallet
-// --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=pallet_sudo
 // --extrinsic=*
-// --execution=wasm
 // --wasm-execution=compiled
+// --heap-pages=4096
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_sudo
+// --chain=rococo-dev
 // --header=./polkadot/file_header.txt
 // --output=./polkadot/runtime/rococo/src/weights/
 
@@ -56,8 +54,8 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `132`
 		//  Estimated: `1517`
-		// Minimum execution time: 8_336_000 picoseconds.
-		Weight::from_parts(8_569_000, 0)
+		// Minimum execution time: 8_432_000 picoseconds.
+		Weight::from_parts(8_757_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -68,8 +66,8 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `132`
 		//  Estimated: `1517`
-		// Minimum execution time: 8_858_000 picoseconds.
-		Weight::from_parts(9_238_000, 0)
+		// Minimum execution time: 9_167_000 picoseconds.
+		Weight::from_parts(9_397_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -79,8 +77,8 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `132`
 		//  Estimated: `1517`
-		// Minimum execution time: 8_921_000 picoseconds.
-		Weight::from_parts(9_324_000, 0)
+		// Minimum execution time: 9_133_000 picoseconds.
+		Weight::from_parts(9_573_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 	}
@@ -90,21 +88,10 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `132`
 		//  Estimated: `1517`
-		// Minimum execution time: 7_398_000 picoseconds.
-		Weight::from_parts(7_869_000, 0)
+		// Minimum execution time: 7_374_000 picoseconds.
+		Weight::from_parts(7_702_000, 0)
 			.saturating_add(Weight::from_parts(0, 1517))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Sudo::Key` (r:1 w:0)
-	/// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	fn check_only_sudo_account() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `132`
-		//  Estimated: `1517`
-		// Minimum execution time: 3_146_000 picoseconds.
-		Weight::from_parts(3_314_000, 0)
-			.saturating_add(Weight::from_parts(0, 1517))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/pallet_timestamp.rs b/polkadot/runtime/rococo/src/weights/pallet_timestamp.rs
index 7d79621b9e6..1bb2e227ab7 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_timestamp.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_timestamp.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `pallet_timestamp`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=pallet_timestamp
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,26 +47,26 @@ use core::marker::PhantomData;
 /// Weight functions for `pallet_timestamp`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_timestamp::WeightInfo for WeightInfo<T> {
-	/// Storage: `Timestamp::Now` (r:1 w:1)
-	/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Babe::CurrentSlot` (r:1 w:0)
-	/// Proof: `Babe::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
+	/// Storage: Timestamp Now (r:1 w:1)
+	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Babe CurrentSlot (r:1 w:0)
+	/// Proof: Babe CurrentSlot (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
 	fn set() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `137`
+		//  Measured:  `311`
 		//  Estimated: `1493`
-		// Minimum execution time: 5_596_000 picoseconds.
-		Weight::from_parts(5_823_000, 0)
+		// Minimum execution time: 10_103_000 picoseconds.
+		Weight::from_parts(10_597_000, 0)
 			.saturating_add(Weight::from_parts(0, 1493))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	fn on_finalize() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `57`
+		//  Measured:  `94`
 		//  Estimated: `0`
-		// Minimum execution time: 2_777_000 picoseconds.
-		Weight::from_parts(2_900_000, 0)
+		// Minimum execution time: 4_718_000 picoseconds.
+		Weight::from_parts(4_839_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/pallet_transaction_payment.rs b/polkadot/runtime/rococo/src/weights/pallet_transaction_payment.rs
deleted file mode 100644
index 44dfab289fb..00000000000
--- a/polkadot/runtime/rococo/src/weights/pallet_transaction_payment.rs
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot 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.
-
-// Polkadot 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 Polkadot.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_transaction_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/production/polkadot
-// benchmark
-// pallet
-// --chain=rococo-dev
-// --steps=50
-// --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=pallet_transaction_payment
-// --extrinsic=*
-// --execution=wasm
-// --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_transaction_payment`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Authorship::Author` (r:1 w:0)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	fn charge_transaction_payment() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `252`
-		//  Estimated: `1737`
-		// Minimum execution time: 33_070_000 picoseconds.
-		Weight::from_parts(33_730_000, 0)
-			.saturating_add(Weight::from_parts(0, 1737))
-			.saturating_add(T::DbWeight::get().reads(3))
-	}
-}
diff --git a/polkadot/runtime/rococo/src/weights/pallet_treasury.rs b/polkadot/runtime/rococo/src/weights/pallet_treasury.rs
index acf09989afc..144e9d5b872 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_treasury.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_treasury.rs
@@ -16,28 +16,25 @@
 
 //! Autogenerated weights for `pallet_treasury`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-07-07, STEPS: `50`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `cob`, CPU: `<UNKNOWN>`
+//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// ./target/debug/polkadot
 // benchmark
 // pallet
 // --chain=rococo-dev
 // --steps=50
-// --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
+// --repeat=2
 // --pallet=pallet_treasury
 // --extrinsic=*
-// --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --heap-pages=4096
+// --output=./runtime/rococo/src/weights/
+// --header=./file_header.txt
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,168 +47,176 @@ use core::marker::PhantomData;
 /// Weight functions for `pallet_treasury`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_treasury::WeightInfo for WeightInfo<T> {
-	/// Storage: `Treasury::ProposalCount` (r:1 w:1)
-	/// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Proposals` (r:0 w:1)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
+	/// Storage: Treasury ProposalCount (r:1 w:1)
+	/// Proof: Treasury ProposalCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Treasury Approvals (r:1 w:1)
+	/// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
+	/// Storage: Treasury Proposals (r:0 w:1)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
 	fn spend_local() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `142`
+		//  Measured:  `42`
 		//  Estimated: `1887`
-		// Minimum execution time: 9_928_000 picoseconds.
-		Weight::from_parts(10_560_000, 0)
+		// Minimum execution time: 177_000_000 picoseconds.
+		Weight::from_parts(191_000_000, 0)
 			.saturating_add(Weight::from_parts(0, 1887))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `Treasury::ProposalCount` (r:1 w:1)
-	/// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Proposals` (r:0 w:1)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
+	/// Storage: Treasury ProposalCount (r:1 w:1)
+	/// Proof: Treasury ProposalCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Treasury Proposals (r:0 w:1)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
 	fn propose_spend() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `243`
+		//  Measured:  `143`
 		//  Estimated: `1489`
-		// Minimum execution time: 20_714_000 picoseconds.
-		Weight::from_parts(21_137_000, 0)
+		// Minimum execution time: 354_000_000 picoseconds.
+		Weight::from_parts(376_000_000, 0)
 			.saturating_add(Weight::from_parts(0, 1489))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Treasury::Proposals` (r:1 w:1)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Proposals (r:1 w:1)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn reject_proposal() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `401`
+		//  Measured:  `301`
 		//  Estimated: `3593`
-		// Minimum execution time: 31_665_000 picoseconds.
-		Weight::from_parts(32_442_000, 0)
+		// Minimum execution time: 547_000_000 picoseconds.
+		Weight::from_parts(550_000_000, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Treasury::Proposals` (r:1 w:0)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Proposals (r:1 w:0)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
+	/// Storage: Treasury Approvals (r:1 w:1)
+	/// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
 	/// The range of component `p` is `[0, 99]`.
 	fn approve_proposal(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `570 + p * (8 ±0)`
+		//  Measured:  `470 + p * (8 ±0)`
 		//  Estimated: `3573`
-		// Minimum execution time: 6_988_000 picoseconds.
-		Weight::from_parts(11_464_972, 0)
+		// Minimum execution time: 104_000_000 picoseconds.
+		Weight::from_parts(121_184_402, 0)
 			.saturating_add(Weight::from_parts(0, 3573))
-			// Standard Error: 1_722
-			.saturating_add(Weight::from_parts(84_536, 0).saturating_mul(p.into()))
+			// Standard Error: 42_854
+			.saturating_add(Weight::from_parts(153_112, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Approvals (r:1 w:1)
+	/// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
 	fn remove_approval() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `227`
+		//  Measured:  `127`
 		//  Estimated: `1887`
-		// Minimum execution time: 5_386_000 picoseconds.
-		Weight::from_parts(5_585_000, 0)
+		// Minimum execution time: 80_000_000 picoseconds.
+		Weight::from_parts(82_000_000, 0)
 			.saturating_add(Weight::from_parts(0, 1887))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Treasury::Deactivated` (r:1 w:1)
-	/// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Proposals` (r:99 w:99)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:199 w:199)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyApprovals` (r:1 w:1)
-	/// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Deactivated (r:1 w:1)
+	/// Proof: Treasury Deactivated (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: Balances InactiveIssuance (r:1 w:1)
+	/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: Treasury Approvals (r:1 w:1)
+	/// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
+	/// Storage: Treasury Proposals (r:99 w:99)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
+	/// Storage: System Account (r:199 w:199)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyApprovals (r:1 w:1)
+	/// Proof: Bounties BountyApprovals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
 	/// The range of component `p` is `[0, 99]`.
 	fn on_initialize_proposals(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `431 + p * (251 ±0)`
+		//  Measured:  `331 + p * (251 ±0)`
 		//  Estimated: `3593 + p * (5206 ±0)`
-		// Minimum execution time: 43_737_000 picoseconds.
-		Weight::from_parts(39_883_021, 0)
+		// Minimum execution time: 887_000_000 picoseconds.
+		Weight::from_parts(828_616_021, 0)
 			.saturating_add(Weight::from_parts(0, 3593))
-			// Standard Error: 12_917
-			.saturating_add(Weight::from_parts(31_796_205, 0).saturating_mul(p.into()))
-			.saturating_add(T::DbWeight::get().reads(4))
+			// Standard Error: 695_351
+			.saturating_add(Weight::from_parts(566_114_524, 0).saturating_mul(p.into()))
+			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(p.into())))
-			.saturating_add(T::DbWeight::get().writes(4))
+			.saturating_add(T::DbWeight::get().writes(5))
 			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(p.into())))
 			.saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into()))
 	}
-	/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:0)
-	/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(1238), added: 3713, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::SpendCount` (r:1 w:1)
-	/// Proof: `Treasury::SpendCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Spends` (r:0 w:1)
-	/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(1853), added: 4328, mode: `MaxEncodedLen`)
+	/// Storage: AssetRate ConversionRateToNative (r:1 w:0)
+	/// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(1237), added: 3712, mode: MaxEncodedLen)
+	/// Storage: Treasury SpendCount (r:1 w:1)
+	/// Proof: Treasury SpendCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Treasury Spends (r:0 w:1)
+	/// Proof: Treasury Spends (max_values: None, max_size: Some(1848), added: 4323, mode: MaxEncodedLen)
 	fn spend() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `215`
-		//  Estimated: `4703`
-		// Minimum execution time: 16_829_000 picoseconds.
-		Weight::from_parts(17_251_000, 0)
-			.saturating_add(Weight::from_parts(0, 4703))
+		//  Measured:  `114`
+		//  Estimated: `4702`
+		// Minimum execution time: 208_000_000 picoseconds.
+		Weight::from_parts(222_000_000, 0)
+			.saturating_add(Weight::from_parts(0, 4702))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Treasury::Spends` (r:1 w:1)
-	/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(1853), added: 4328, mode: `MaxEncodedLen`)
-	/// Storage: `XcmPallet::QueryCounter` (r:1 w:1)
-	/// Proof: `XcmPallet::QueryCounter` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
-	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `XcmPallet::Queries` (r:0 w:1)
-	/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Treasury Spends (r:1 w:1)
+	/// Proof: Treasury Spends (max_values: None, max_size: Some(1848), added: 4323, mode: MaxEncodedLen)
+	/// Storage: XcmPallet QueryCounter (r:1 w:1)
+	/// Proof Skipped: XcmPallet QueryCounter (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Dmp DeliveryFeeFactor (r:1 w:0)
+	/// Proof Skipped: Dmp DeliveryFeeFactor (max_values: None, max_size: None, mode: Measured)
+	/// Storage: XcmPallet SupportedVersion (r:1 w:0)
+	/// Proof Skipped: XcmPallet SupportedVersion (max_values: None, max_size: None, mode: Measured)
+	/// Storage: XcmPallet VersionDiscoveryQueue (r:1 w:1)
+	/// Proof Skipped: XcmPallet VersionDiscoveryQueue (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: XcmPallet SafeXcmVersion (r:1 w:0)
+	/// Proof Skipped: XcmPallet SafeXcmVersion (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Dmp DownwardMessageQueues (r:1 w:1)
+	/// Proof Skipped: Dmp DownwardMessageQueues (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Dmp DownwardMessageQueueHeads (r:1 w:1)
+	/// Proof Skipped: Dmp DownwardMessageQueueHeads (max_values: None, max_size: None, mode: Measured)
+	/// Storage: XcmPallet Queries (r:0 w:1)
+	/// Proof Skipped: XcmPallet Queries (max_values: None, max_size: None, mode: Measured)
 	fn payout() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `458`
-		//  Estimated: `5318`
-		// Minimum execution time: 41_554_000 picoseconds.
-		Weight::from_parts(42_451_000, 0)
-			.saturating_add(Weight::from_parts(0, 5318))
-			.saturating_add(T::DbWeight::get().reads(6))
-			.saturating_add(T::DbWeight::get().writes(5))
+		//  Measured:  `737`
+		//  Estimated: `5313`
+		// Minimum execution time: 551_000_000 picoseconds.
+		Weight::from_parts(569_000_000, 0)
+			.saturating_add(Weight::from_parts(0, 5313))
+			.saturating_add(T::DbWeight::get().reads(9))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
-	/// Storage: `Treasury::Spends` (r:1 w:1)
-	/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(1853), added: 4328, mode: `MaxEncodedLen`)
-	/// Storage: `XcmPallet::Queries` (r:1 w:1)
-	/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Treasury Spends (r:1 w:1)
+	/// Proof: Treasury Spends (max_values: None, max_size: Some(1848), added: 4323, mode: MaxEncodedLen)
+	/// Storage: XcmPallet Queries (r:1 w:1)
+	/// Proof Skipped: XcmPallet Queries (max_values: None, max_size: None, mode: Measured)
 	fn check_status() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `306`
-		//  Estimated: `5318`
-		// Minimum execution time: 22_546_000 picoseconds.
-		Weight::from_parts(23_151_000, 0)
-			.saturating_add(Weight::from_parts(0, 5318))
+		//  Measured:  `442`
+		//  Estimated: `5313`
+		// Minimum execution time: 245_000_000 picoseconds.
+		Weight::from_parts(281_000_000, 0)
+			.saturating_add(Weight::from_parts(0, 5313))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Treasury::Spends` (r:1 w:1)
-	/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(1853), added: 4328, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Spends (r:1 w:1)
+	/// Proof: Treasury Spends (max_values: None, max_size: Some(1848), added: 4323, mode: MaxEncodedLen)
 	fn void_spend() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `278`
-		//  Estimated: `5318`
-		// Minimum execution time: 12_169_000 picoseconds.
-		Weight::from_parts(12_484_000, 0)
-			.saturating_add(Weight::from_parts(0, 5318))
+		//  Measured:  `172`
+		//  Estimated: `5313`
+		// Minimum execution time: 147_000_000 picoseconds.
+		Weight::from_parts(160_000_000, 0)
+			.saturating_add(Weight::from_parts(0, 5313))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/polkadot/runtime/rococo/src/weights/pallet_utility.rs b/polkadot/runtime/rococo/src/weights/pallet_utility.rs
index 6f2a374247f..f50f60eaad7 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_utility.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_utility.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `pallet_utility`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=pallet_utility
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -55,18 +52,18 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_041_000 picoseconds.
-		Weight::from_parts(5_685_496, 0)
+		// Minimum execution time: 6_738_000 picoseconds.
+		Weight::from_parts(2_704_821, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 810
-			.saturating_add(Weight::from_parts(3_177_197, 0).saturating_mul(c.into()))
+			// Standard Error: 2_999
+			.saturating_add(Weight::from_parts(4_627_278, 0).saturating_mul(c.into()))
 	}
 	fn as_derivative() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_667_000 picoseconds.
-		Weight::from_parts(3_871_000, 0)
+		// Minimum execution time: 5_294_000 picoseconds.
+		Weight::from_parts(5_467_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `c` is `[0, 1000]`.
@@ -74,18 +71,18 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_116_000 picoseconds.
-		Weight::from_parts(6_453_932, 0)
+		// Minimum execution time: 6_828_000 picoseconds.
+		Weight::from_parts(4_650_678, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 825
-			.saturating_add(Weight::from_parts(3_366_112, 0).saturating_mul(c.into()))
+			// Standard Error: 2_789
+			.saturating_add(Weight::from_parts(4_885_004, 0).saturating_mul(c.into()))
 	}
 	fn dispatch_as() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_630_000 picoseconds.
-		Weight::from_parts(5_956_000, 0)
+		// Minimum execution time: 9_020_000 picoseconds.
+		Weight::from_parts(9_205_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// The range of component `c` is `[0, 1000]`.
@@ -93,10 +90,10 @@ impl<T: frame_system::Config> pallet_utility::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_165_000 picoseconds.
-		Weight::from_parts(5_442_561, 0)
+		// Minimum execution time: 6_852_000 picoseconds.
+		Weight::from_parts(20_703_134, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 460
-			.saturating_add(Weight::from_parts(3_173_577, 0).saturating_mul(c.into()))
+			// Standard Error: 3_924
+			.saturating_add(Weight::from_parts(4_604_529, 0).saturating_mul(c.into()))
 	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/pallet_vesting.rs b/polkadot/runtime/rococo/src/weights/pallet_vesting.rs
index c21ab087774..2596207d583 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_vesting.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_vesting.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `pallet_vesting`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=pallet_vesting
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,143 +47,143 @@ use core::marker::PhantomData;
 /// Weight functions for `pallet_vesting`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
-	/// Storage: `Vesting::Vesting` (r:1 w:1)
-	/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
+	/// Storage: Vesting Vesting (r:1 w:1)
+	/// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
 	/// The range of component `l` is `[0, 49]`.
 	/// The range of component `s` is `[1, 28]`.
 	fn vest_locked(l: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `277 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 29_288_000 picoseconds.
-		Weight::from_parts(29_095_507, 0)
+		// Minimum execution time: 32_820_000 picoseconds.
+		Weight::from_parts(31_640_992, 0)
 			.saturating_add(Weight::from_parts(0, 4764))
-			// Standard Error: 1_679
-			.saturating_add(Weight::from_parts(33_164, 0).saturating_mul(l.into()))
-			// Standard Error: 2_988
-			.saturating_add(Weight::from_parts(67_092, 0).saturating_mul(s.into()))
+			// Standard Error: 449
+			.saturating_add(Weight::from_parts(45_254, 0).saturating_mul(l.into()))
+			// Standard Error: 800
+			.saturating_add(Weight::from_parts(72_178, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Vesting::Vesting` (r:1 w:1)
-	/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
+	/// Storage: Vesting Vesting (r:1 w:1)
+	/// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
 	/// The range of component `l` is `[0, 49]`.
 	/// The range of component `s` is `[1, 28]`.
 	fn vest_unlocked(l: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `277 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 31_003_000 picoseconds.
-		Weight::from_parts(30_528_438, 0)
+		// Minimum execution time: 36_054_000 picoseconds.
+		Weight::from_parts(35_825_428, 0)
 			.saturating_add(Weight::from_parts(0, 4764))
-			// Standard Error: 1_586
-			.saturating_add(Weight::from_parts(35_429, 0).saturating_mul(l.into()))
-			// Standard Error: 2_823
-			.saturating_add(Weight::from_parts(76_505, 0).saturating_mul(s.into()))
+			// Standard Error: 749
+			.saturating_add(Weight::from_parts(31_738, 0).saturating_mul(l.into()))
+			// Standard Error: 1_333
+			.saturating_add(Weight::from_parts(40_580, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Vesting::Vesting` (r:1 w:1)
-	/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Vesting Vesting (r:1 w:1)
+	/// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `l` is `[0, 49]`.
 	/// The range of component `s` is `[1, 28]`.
 	fn vest_other_locked(l: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `380 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 31_269_000 picoseconds.
-		Weight::from_parts(30_661_898, 0)
+		// Minimum execution time: 35_440_000 picoseconds.
+		Weight::from_parts(34_652_647, 0)
 			.saturating_add(Weight::from_parts(0, 4764))
-			// Standard Error: 1_394
-			.saturating_add(Weight::from_parts(39_300, 0).saturating_mul(l.into()))
-			// Standard Error: 2_480
-			.saturating_add(Weight::from_parts(78_849, 0).saturating_mul(s.into()))
+			// Standard Error: 517
+			.saturating_add(Weight::from_parts(41_942, 0).saturating_mul(l.into()))
+			// Standard Error: 920
+			.saturating_add(Weight::from_parts(66_074, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `Vesting::Vesting` (r:1 w:1)
-	/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Vesting Vesting (r:1 w:1)
+	/// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `l` is `[0, 49]`.
 	/// The range of component `s` is `[1, 28]`.
 	fn vest_other_unlocked(l: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `380 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 33_040_000 picoseconds.
-		Weight::from_parts(32_469_674, 0)
+		// Minimum execution time: 38_880_000 picoseconds.
+		Weight::from_parts(39_625_819, 0)
 			.saturating_add(Weight::from_parts(0, 4764))
-			// Standard Error: 1_418
-			.saturating_add(Weight::from_parts(44_206, 0).saturating_mul(l.into()))
-			// Standard Error: 2_523
-			.saturating_add(Weight::from_parts(74_224, 0).saturating_mul(s.into()))
+			// Standard Error: 1_032
+			.saturating_add(Weight::from_parts(29_856, 0).saturating_mul(l.into()))
+			// Standard Error: 1_837
+			.saturating_add(Weight::from_parts(6_210, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `Vesting::Vesting` (r:1 w:1)
-	/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
+	/// Storage: Vesting Vesting (r:1 w:1)
+	/// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
 	/// The range of component `l` is `[0, 49]`.
 	/// The range of component `s` is `[0, 27]`.
 	fn vested_transfer(l: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `451 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 62_032_000 picoseconds.
-		Weight::from_parts(63_305_621, 0)
+		// Minimum execution time: 68_294_000 picoseconds.
+		Weight::from_parts(68_313_394, 0)
 			.saturating_add(Weight::from_parts(0, 4764))
-			// Standard Error: 2_277
-			.saturating_add(Weight::from_parts(42_767, 0).saturating_mul(l.into()))
-			// Standard Error: 4_051
-			.saturating_add(Weight::from_parts(65_487, 0).saturating_mul(s.into()))
+			// Standard Error: 983
+			.saturating_add(Weight::from_parts(48_156, 0).saturating_mul(l.into()))
+			// Standard Error: 1_750
+			.saturating_add(Weight::from_parts(87_719, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `Vesting::Vesting` (r:1 w:1)
-	/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
+	/// Storage: Vesting Vesting (r:1 w:1)
+	/// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen)
+	/// Storage: System Account (r:2 w:2)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
 	/// The range of component `l` is `[0, 49]`.
 	/// The range of component `s` is `[0, 27]`.
 	fn force_vested_transfer(l: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `554 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `6196`
-		// Minimum execution time: 63_303_000 picoseconds.
-		Weight::from_parts(65_180_847, 0)
+		// Minimum execution time: 70_529_000 picoseconds.
+		Weight::from_parts(70_619_962, 0)
 			.saturating_add(Weight::from_parts(0, 6196))
-			// Standard Error: 2_220
-			.saturating_add(Weight::from_parts(28_829, 0).saturating_mul(l.into()))
-			// Standard Error: 3_951
-			.saturating_add(Weight::from_parts(84_970, 0).saturating_mul(s.into()))
+			// Standard Error: 1_259
+			.saturating_add(Weight::from_parts(50_685, 0).saturating_mul(l.into()))
+			// Standard Error: 2_241
+			.saturating_add(Weight::from_parts(91_444, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
@@ -195,70 +192,59 @@ impl<T: frame_system::Config> pallet_vesting::WeightInfo for WeightInfo<T> {
 	/// Storage: `Balances::Locks` (r:1 w:1)
 	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
 	/// The range of component `l` is `[0, 49]`.
 	/// The range of component `s` is `[2, 28]`.
-	fn not_unlocking_merge_schedules(l: u32, s: u32, ) -> Weight {
+	fn force_remove_vesting_schedule(l: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `378 + l * (25 ±0) + s * (36 ±0)`
+		//  Measured:  `555 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 31_440_000 picoseconds.
-		Weight::from_parts(30_773_053, 0)
-			.saturating_add(Weight::from_parts(0, 4764))
-			// Standard Error: 1_474
-			.saturating_add(Weight::from_parts(43_019, 0).saturating_mul(l.into()))
-			// Standard Error: 2_723
-			.saturating_add(Weight::from_parts(73_360, 0).saturating_mul(s.into()))
-			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(3))
+		// Minimum execution time: 41_497_000 picoseconds.
+		Weight::from_parts(38_763_834, 4764)
+			// Standard Error: 2_030
+			.saturating_add(Weight::from_parts(99_580, 0).saturating_mul(l.into()))
+			// Standard Error: 3_750
+			.saturating_add(Weight::from_parts(132_188, 0).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(4_u64))
+			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Vesting::Vesting` (r:1 w:1)
-	/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// The range of component `l` is `[0, 49]`.
-	/// The range of component `s` is `[2, 28]`.
-	fn unlocking_merge_schedules(l: u32, s: u32, ) -> Weight {
+	fn not_unlocking_merge_schedules(l: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `378 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 34_221_000 picoseconds.
-		Weight::from_parts(33_201_125, 0)
+		// Minimum execution time: 36_428_000 picoseconds.
+		Weight::from_parts(35_604_430, 0)
 			.saturating_add(Weight::from_parts(0, 4764))
-			// Standard Error: 1_751
-			.saturating_add(Weight::from_parts(44_088, 0).saturating_mul(l.into()))
-			// Standard Error: 3_234
-			.saturating_add(Weight::from_parts(86_228, 0).saturating_mul(s.into()))
+			// Standard Error: 504
+			.saturating_add(Weight::from_parts(43_191, 0).saturating_mul(l.into()))
+			// Standard Error: 931
+			.saturating_add(Weight::from_parts(66_795, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `Vesting::Vesting` (r:1 w:1)
-	/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Vesting Vesting (r:1 w:1)
+	/// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `l` is `[0, 49]`.
 	/// The range of component `s` is `[2, 28]`.
-	fn force_remove_vesting_schedule(l: u32, s: u32, ) -> Weight {
+	fn unlocking_merge_schedules(l: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `451 + l * (25 ±0) + s * (36 ±0)`
+		//  Measured:  `378 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 35_553_000 picoseconds.
-		Weight::from_parts(34_974_083, 0)
+		// Minimum execution time: 40_696_000 picoseconds.
+		Weight::from_parts(39_741_284, 0)
 			.saturating_add(Weight::from_parts(0, 4764))
-			// Standard Error: 1_560
-			.saturating_add(Weight::from_parts(34_615, 0).saturating_mul(l.into()))
-			// Standard Error: 2_882
-			.saturating_add(Weight::from_parts(83_419, 0).saturating_mul(s.into()))
+			// Standard Error: 478
+			.saturating_add(Weight::from_parts(43_792, 0).saturating_mul(l.into()))
+			// Standard Error: 883
+			.saturating_add(Weight::from_parts(66_540, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
diff --git a/polkadot/runtime/rococo/src/weights/pallet_whitelist.rs b/polkadot/runtime/rococo/src/weights/pallet_whitelist.rs
index ec67268d144..7c307deec4c 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_whitelist.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_whitelist.rs
@@ -16,28 +16,26 @@
 
 //! Autogenerated weights for `pallet_whitelist`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-08-25, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-aahe6cbd-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// target/production/polkadot
 // benchmark
 // pallet
-// --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=pallet_whitelist
 // --extrinsic=*
-// --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/
+// --heap-pages=4096
+// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json
+// --pallet=pallet_whitelist
+// --chain=rococo-dev
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -52,75 +50,67 @@ pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> pallet_whitelist::WeightInfo for WeightInfo<T> {
 	/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
 	/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
+	/// Storage: `Preimage::StatusFor` (r:1 w:1)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	fn whitelist_call() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `223`
 		//  Estimated: `3556`
-		// Minimum execution time: 16_686_000 picoseconds.
-		Weight::from_parts(17_042_000, 0)
+		// Minimum execution time: 20_035_000 picoseconds.
+		Weight::from_parts(20_452_000, 0)
 			.saturating_add(Weight::from_parts(0, 3556))
-			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
 	/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
+	/// Storage: `Preimage::StatusFor` (r:1 w:1)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	fn remove_whitelisted_call() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `352`
 		//  Estimated: `3556`
-		// Minimum execution time: 18_250_000 picoseconds.
-		Weight::from_parts(19_026_000, 0)
+		// Minimum execution time: 20_247_000 picoseconds.
+		Weight::from_parts(20_808_000, 0)
 			.saturating_add(Weight::from_parts(0, 3556))
-			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
 	/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
 	/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::PreimageFor` (r:1 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `Measured`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
+	/// Storage: `Preimage::StatusFor` (r:1 w:1)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// The range of component `n` is `[1, 4194294]`.
 	fn dispatch_whitelisted_call(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `428 + n * (1 ±0)`
 		//  Estimated: `3892 + n * (1 ±0)`
-		// Minimum execution time: 28_741_000 picoseconds.
-		Weight::from_parts(29_024_000, 0)
+		// Minimum execution time: 32_633_000 picoseconds.
+		Weight::from_parts(32_855_000, 0)
 			.saturating_add(Weight::from_parts(0, 3892))
-			// Standard Error: 7
-			.saturating_add(Weight::from_parts(1_305, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(4))
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(1_223, 0).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
 	/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
 	/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
+	/// Storage: `Preimage::StatusFor` (r:1 w:1)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// The range of component `n` is `[1, 10000]`.
 	fn dispatch_whitelisted_call_with_preimage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `352`
 		//  Estimated: `3556`
-		// Minimum execution time: 21_670_000 picoseconds.
-		Weight::from_parts(22_561_364, 0)
+		// Minimum execution time: 23_833_000 picoseconds.
+		Weight::from_parts(24_698_994, 0)
 			.saturating_add(Weight::from_parts(0, 3556))
 			// Standard Error: 4
-			.saturating_add(Weight::from_parts(1_468, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(Weight::from_parts(1_454, 0).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/pallet_xcm.rs b/polkadot/runtime/rococo/src/weights/pallet_xcm.rs
index d5cf33515e6..5544ca44658 100644
--- a/polkadot/runtime/rococo/src/weights/pallet_xcm.rs
+++ b/polkadot/runtime/rococo/src/weights/pallet_xcm.rs
@@ -17,25 +17,23 @@
 //! Autogenerated weights for `pallet_xcm`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2024-02-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// target/production/polkadot
 // benchmark
 // pallet
-// --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=pallet_xcm
 // --extrinsic=*
-// --execution=wasm
 // --wasm-execution=compiled
+// --heap-pages=4096
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_xcm
+// --chain=rococo-dev
 // --header=./polkadot/file_header.txt
 // --output=./polkadot/runtime/rococo/src/weights/
 
@@ -62,8 +60,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `180`
 		//  Estimated: `3645`
-		// Minimum execution time: 25_521_000 picoseconds.
-		Weight::from_parts(25_922_000, 0)
+		// Minimum execution time: 25_043_000 picoseconds.
+		Weight::from_parts(25_682_000, 0)
 			.saturating_add(Weight::from_parts(0, 3645))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -82,8 +80,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `180`
 		//  Estimated: `3645`
-		// Minimum execution time: 112_185_000 picoseconds.
-		Weight::from_parts(115_991_000, 0)
+		// Minimum execution time: 107_570_000 picoseconds.
+		Weight::from_parts(109_878_000, 0)
 			.saturating_add(Weight::from_parts(0, 3645))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -102,8 +100,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `232`
 		//  Estimated: `3697`
-		// Minimum execution time: 108_693_000 picoseconds.
-		Weight::from_parts(111_853_000, 0)
+		// Minimum execution time: 106_341_000 picoseconds.
+		Weight::from_parts(109_135_000, 0)
 			.saturating_add(Weight::from_parts(0, 3697))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -122,8 +120,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `180`
 		//  Estimated: `3645`
-		// Minimum execution time: 113_040_000 picoseconds.
-		Weight::from_parts(115_635_000, 0)
+		// Minimum execution time: 108_372_000 picoseconds.
+		Weight::from_parts(112_890_000, 0)
 			.saturating_add(Weight::from_parts(0, 3645))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -132,8 +130,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_979_000 picoseconds.
-		Weight::from_parts(7_342_000, 0)
+		// Minimum execution time: 6_957_000 picoseconds.
+		Weight::from_parts(7_417_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `XcmPallet::SupportedVersion` (r:0 w:1)
@@ -142,8 +140,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 7_144_000 picoseconds.
-		Weight::from_parts(7_297_000, 0)
+		// Minimum execution time: 7_053_000 picoseconds.
+		Weight::from_parts(7_462_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -151,8 +149,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_886_000 picoseconds.
-		Weight::from_parts(1_995_000, 0)
+		// Minimum execution time: 1_918_000 picoseconds.
+		Weight::from_parts(2_037_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 	}
 	/// Storage: `XcmPallet::VersionNotifiers` (r:1 w:1)
@@ -173,8 +171,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `180`
 		//  Estimated: `3645`
-		// Minimum execution time: 31_238_000 picoseconds.
-		Weight::from_parts(31_955_000, 0)
+		// Minimum execution time: 30_417_000 picoseconds.
+		Weight::from_parts(31_191_000, 0)
 			.saturating_add(Weight::from_parts(0, 3645))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(5))
@@ -195,8 +193,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `360`
 		//  Estimated: `3825`
-		// Minimum execution time: 37_237_000 picoseconds.
-		Weight::from_parts(38_569_000, 0)
+		// Minimum execution time: 36_666_000 picoseconds.
+		Weight::from_parts(37_779_000, 0)
 			.saturating_add(Weight::from_parts(0, 3825))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -207,8 +205,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_884_000 picoseconds.
-		Weight::from_parts(2_028_000, 0)
+		// Minimum execution time: 1_869_000 picoseconds.
+		Weight::from_parts(2_003_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -218,8 +216,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `22`
 		//  Estimated: `13387`
-		// Minimum execution time: 16_048_000 picoseconds.
-		Weight::from_parts(16_617_000, 0)
+		// Minimum execution time: 16_188_000 picoseconds.
+		Weight::from_parts(16_435_000, 0)
 			.saturating_add(Weight::from_parts(0, 13387))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -230,8 +228,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `26`
 		//  Estimated: `13391`
-		// Minimum execution time: 16_073_000 picoseconds.
-		Weight::from_parts(16_672_000, 0)
+		// Minimum execution time: 16_431_000 picoseconds.
+		Weight::from_parts(16_935_000, 0)
 			.saturating_add(Weight::from_parts(0, 13391))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -242,8 +240,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `40`
 		//  Estimated: `15880`
-		// Minimum execution time: 18_422_000 picoseconds.
-		Weight::from_parts(18_900_000, 0)
+		// Minimum execution time: 18_460_000 picoseconds.
+		Weight::from_parts(18_885_000, 0)
 			.saturating_add(Weight::from_parts(0, 15880))
 			.saturating_add(T::DbWeight::get().reads(6))
 	}
@@ -261,8 +259,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `216`
 		//  Estimated: `6156`
-		// Minimum execution time: 30_373_000 picoseconds.
-		Weight::from_parts(30_972_000, 0)
+		// Minimum execution time: 29_623_000 picoseconds.
+		Weight::from_parts(30_661_000, 0)
 			.saturating_add(Weight::from_parts(0, 6156))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(3))
@@ -273,8 +271,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `69`
 		//  Estimated: `10959`
-		// Minimum execution time: 11_863_000 picoseconds.
-		Weight::from_parts(12_270_000, 0)
+		// Minimum execution time: 12_043_000 picoseconds.
+		Weight::from_parts(12_360_000, 0)
 			.saturating_add(Weight::from_parts(0, 10959))
 			.saturating_add(T::DbWeight::get().reads(4))
 	}
@@ -284,8 +282,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `33`
 		//  Estimated: `13398`
-		// Minimum execution time: 16_733_000 picoseconds.
-		Weight::from_parts(17_094_000, 0)
+		// Minimum execution time: 16_511_000 picoseconds.
+		Weight::from_parts(17_011_000, 0)
 			.saturating_add(Weight::from_parts(0, 13398))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -304,8 +302,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `216`
 		//  Estimated: `13581`
-		// Minimum execution time: 39_236_000 picoseconds.
-		Weight::from_parts(40_587_000, 0)
+		// Minimum execution time: 39_041_000 picoseconds.
+		Weight::from_parts(39_883_000, 0)
 			.saturating_add(Weight::from_parts(0, 13581))
 			.saturating_add(T::DbWeight::get().reads(9))
 			.saturating_add(T::DbWeight::get().writes(4))
@@ -318,8 +316,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `1485`
-		// Minimum execution time: 2_145_000 picoseconds.
-		Weight::from_parts(2_255_000, 0)
+		// Minimum execution time: 2_030_000 picoseconds.
+		Weight::from_parts(2_150_000, 0)
 			.saturating_add(Weight::from_parts(0, 1485))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(2))
@@ -330,8 +328,8 @@ impl<T: frame_system::Config> pallet_xcm::WeightInfo for WeightInfo<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `7576`
 		//  Estimated: `11041`
-		// Minimum execution time: 22_518_000 picoseconds.
-		Weight::from_parts(22_926_000, 0)
+		// Minimum execution time: 22_615_000 picoseconds.
+		Weight::from_parts(23_008_000, 0)
 			.saturating_add(Weight::from_parts(0, 11041))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/polkadot/runtime/rococo/src/weights/pallet_xcm_benchmarks_fungible.rs b/polkadot/runtime/rococo/src/weights/pallet_xcm_benchmarks_fungible.rs
deleted file mode 100644
index dc5e5d8ca4b..00000000000
--- a/polkadot/runtime/rococo/src/weights/pallet_xcm_benchmarks_fungible.rs
+++ /dev/null
@@ -1,191 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot 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.
-
-// Polkadot 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 Polkadot.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_xcm_benchmarks::fungible`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/production/polkadot
-// benchmark
-// pallet
-// --chain=rococo-dev
-// --steps=50
-// --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=pallet_xcm_benchmarks::fungible
-// --extrinsic=*
-// --execution=wasm
-// --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/pallet_xcm_benchmarks_fungible.rs
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_xcm_benchmarks::fungible`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_xcm_benchmarks::fungible::WeightInfo for WeightInfo<T> {
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn withdraw_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `101`
-		//  Estimated: `3593`
-		// Minimum execution time: 27_223_000 picoseconds.
-		Weight::from_parts(27_947_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn transfer_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `101`
-		//  Estimated: `6196`
-		// Minimum execution time: 36_502_000 picoseconds.
-		Weight::from_parts(37_023_000, 0)
-			.saturating_add(Weight::from_parts(0, 6196))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(2))
-	}
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
-	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn transfer_reserve_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `281`
-		//  Estimated: `6196`
-		// Minimum execution time: 85_152_000 picoseconds.
-		Weight::from_parts(86_442_000, 0)
-			.saturating_add(Weight::from_parts(0, 6196))
-			.saturating_add(T::DbWeight::get().reads(6))
-			.saturating_add(T::DbWeight::get().writes(4))
-	}
-	/// Storage: `Benchmark::Override` (r:0 w:0)
-	/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn reserve_asset_deposited() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 18_446_744_073_709_551_000 picoseconds.
-		Weight::from_parts(18_446_744_073_709_551_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
-	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn initiate_reserve_withdraw() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `281`
-		//  Estimated: `3746`
-		// Minimum execution time: 56_571_000 picoseconds.
-		Weight::from_parts(58_163_000, 0)
-			.saturating_add(Weight::from_parts(0, 3746))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(3))
-	}
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn receive_teleported_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `103`
-		//  Estimated: `3593`
-		// Minimum execution time: 27_411_000 picoseconds.
-		Weight::from_parts(27_953_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn deposit_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `3593`
-		// Minimum execution time: 20_776_000 picoseconds.
-		Weight::from_parts(21_145_000, 0)
-			.saturating_add(Weight::from_parts(0, 3593))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
-	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn deposit_reserve_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `180`
-		//  Estimated: `3645`
-		// Minimum execution time: 51_738_000 picoseconds.
-		Weight::from_parts(53_251_000, 0)
-			.saturating_add(Weight::from_parts(0, 3645))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(3))
-	}
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
-	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn initiate_teleport() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `180`
-		//  Estimated: `3645`
-		// Minimum execution time: 39_333_000 picoseconds.
-		Weight::from_parts(40_515_000, 0)
-			.saturating_add(Weight::from_parts(0, 3645))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(3))
-	}
-}
diff --git a/polkadot/runtime/rococo/src/weights/pallet_xcm_benchmarks_generic.rs b/polkadot/runtime/rococo/src/weights/pallet_xcm_benchmarks_generic.rs
deleted file mode 100644
index b62f36172ba..00000000000
--- a/polkadot/runtime/rococo/src/weights/pallet_xcm_benchmarks_generic.rs
+++ /dev/null
@@ -1,347 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot 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.
-
-// Polkadot 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 Polkadot.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_xcm_benchmarks::generic`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/production/polkadot
-// benchmark
-// pallet
-// --chain=rococo-dev
-// --steps=50
-// --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=pallet_xcm_benchmarks::generic
-// --extrinsic=*
-// --execution=wasm
-// --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/pallet_xcm_benchmarks_generic.rs
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_xcm_benchmarks::generic`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_xcm_benchmarks::generic::WeightInfo for WeightInfo<T> {
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
-	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn report_holding() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `281`
-		//  Estimated: `3746`
-		// Minimum execution time: 55_210_000 picoseconds.
-		Weight::from_parts(56_613_000, 0)
-			.saturating_add(Weight::from_parts(0, 3746))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(3))
-	}
-	fn buy_execution() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_246_000 picoseconds.
-		Weight::from_parts(1_339_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `XcmPallet::Queries` (r:1 w:0)
-	/// Proof: `XcmPallet::Queries` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn query_response() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `3465`
-		// Minimum execution time: 5_377_000 picoseconds.
-		Weight::from_parts(5_549_000, 0)
-			.saturating_add(Weight::from_parts(0, 3465))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	fn transact() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 7_008_000 picoseconds.
-		Weight::from_parts(7_361_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn refund_surplus() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_700_000 picoseconds.
-		Weight::from_parts(1_848_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn set_error_handler() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_198_000 picoseconds.
-		Weight::from_parts(1_265_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn set_appendix() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_197_000 picoseconds.
-		Weight::from_parts(1_267_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn clear_error() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_193_000 picoseconds.
-		Weight::from_parts(1_258_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn descend_origin() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_268_000 picoseconds.
-		Weight::from_parts(1_342_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn clear_origin() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_173_000 picoseconds.
-		Weight::from_parts(1_248_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
-	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn report_error() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `281`
-		//  Estimated: `3746`
-		// Minimum execution time: 53_715_000 picoseconds.
-		Weight::from_parts(54_860_000, 0)
-			.saturating_add(Weight::from_parts(0, 3746))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(3))
-	}
-	/// Storage: `XcmPallet::AssetTraps` (r:1 w:1)
-	/// Proof: `XcmPallet::AssetTraps` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn claim_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `23`
-		//  Estimated: `3488`
-		// Minimum execution time: 8_621_000 picoseconds.
-		Weight::from_parts(8_903_000, 0)
-			.saturating_add(Weight::from_parts(0, 3488))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-	fn trap() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_211_000 picoseconds.
-		Weight::from_parts(1_281_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `XcmPallet::VersionNotifyTargets` (r:1 w:1)
-	/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
-	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn subscribe_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `180`
-		//  Estimated: `3645`
-		// Minimum execution time: 26_448_000 picoseconds.
-		Weight::from_parts(27_057_000, 0)
-			.saturating_add(Weight::from_parts(0, 3645))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(3))
-	}
-	/// Storage: `XcmPallet::VersionNotifyTargets` (r:0 w:1)
-	/// Proof: `XcmPallet::VersionNotifyTargets` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn unsubscribe_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 3_498_000 picoseconds.
-		Weight::from_parts(3_614_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-	fn burn_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_575_000 picoseconds.
-		Weight::from_parts(1_698_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn expect_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_334_000 picoseconds.
-		Weight::from_parts(1_435_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn expect_origin() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_244_000 picoseconds.
-		Weight::from_parts(1_337_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn expect_error() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_244_000 picoseconds.
-		Weight::from_parts(1_331_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn expect_transact_status() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_407_000 picoseconds.
-		Weight::from_parts(1_522_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
-	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn query_pallet() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `281`
-		//  Estimated: `3746`
-		// Minimum execution time: 62_963_000 picoseconds.
-		Weight::from_parts(64_556_000, 0)
-			.saturating_add(Weight::from_parts(0, 3746))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(3))
-	}
-	fn expect_pallet() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 8_458_000 picoseconds.
-		Weight::from_parts(8_741_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:0)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `XcmPallet::SupportedVersion` (r:1 w:0)
-	/// Proof: `XcmPallet::SupportedVersion` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn report_transact_status() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `281`
-		//  Estimated: `3746`
-		// Minimum execution time: 54_068_000 picoseconds.
-		Weight::from_parts(55_665_000, 0)
-			.saturating_add(Weight::from_parts(0, 3746))
-			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(3))
-	}
-	fn clear_transact_status() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_290_000 picoseconds.
-		Weight::from_parts(1_348_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn set_topic() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_189_000 picoseconds.
-		Weight::from_parts(1_268_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn clear_topic() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_197_000 picoseconds.
-		Weight::from_parts(1_276_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn set_fees_mode() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_197_000 picoseconds.
-		Weight::from_parts(1_253_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn unpaid_execution() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 1_250_000 picoseconds.
-		Weight::from_parts(1_354_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-}
diff --git a/polkadot/runtime/rococo/src/weights/runtime_common_assigned_slots.rs b/polkadot/runtime/rococo/src/weights/runtime_common_assigned_slots.rs
index f41a5d4ebf8..a6beeded428 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_common_assigned_slots.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_common_assigned_slots.rs
@@ -16,28 +16,26 @@
 
 //! Autogenerated weights for `runtime_common::assigned_slots`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-08-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `runner-ynta1nyy-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// target/production/polkadot
 // benchmark
 // pallet
-// --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=runtime_common::assigned_slots
 // --extrinsic=*
-// --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_common_assigned_slots.rs
+// --heap-pages=4096
+// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json
+// --pallet=runtime_common::assigned_slots
+// --chain=rococo-dev
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,7 +48,7 @@ use core::marker::PhantomData;
 /// Weight functions for `runtime_common::assigned_slots`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> runtime_common::assigned_slots::WeightInfo for WeightInfo<T> {
-	/// Storage: `Registrar::Paras` (r:1 w:0)
+	/// Storage: `Registrar::Paras` (r:1 w:1)
 	/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
 	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -70,15 +68,15 @@ impl<T: frame_system::Config> runtime_common::assigned_slots::WeightInfo for Wei
 	/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn assign_perm_parachain_slot() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `730`
-		//  Estimated: `4195`
-		// Minimum execution time: 71_337_000 picoseconds.
-		Weight::from_parts(80_807_000, 0)
-			.saturating_add(Weight::from_parts(0, 4195))
+		//  Measured:  `673`
+		//  Estimated: `4138`
+		// Minimum execution time: 84_646_000 picoseconds.
+		Weight::from_parts(91_791_000, 0)
+			.saturating_add(Weight::from_parts(0, 4138))
 			.saturating_add(T::DbWeight::get().reads(9))
-			.saturating_add(T::DbWeight::get().writes(5))
+			.saturating_add(T::DbWeight::get().writes(6))
 	}
-	/// Storage: `Registrar::Paras` (r:1 w:0)
+	/// Storage: `Registrar::Paras` (r:1 w:1)
 	/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
 	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -100,13 +98,13 @@ impl<T: frame_system::Config> runtime_common::assigned_slots::WeightInfo for Wei
 	/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn assign_temp_parachain_slot() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `730`
-		//  Estimated: `4195`
-		// Minimum execution time: 60_188_000 picoseconds.
-		Weight::from_parts(63_932_000, 0)
-			.saturating_add(Weight::from_parts(0, 4195))
+		//  Measured:  `673`
+		//  Estimated: `4138`
+		// Minimum execution time: 68_091_000 picoseconds.
+		Weight::from_parts(77_310_000, 0)
+			.saturating_add(Weight::from_parts(0, 4138))
 			.saturating_add(T::DbWeight::get().reads(10))
-			.saturating_add(T::DbWeight::get().writes(6))
+			.saturating_add(T::DbWeight::get().writes(7))
 	}
 	/// Storage: `AssignedSlots::PermanentSlots` (r:1 w:0)
 	/// Proof: `AssignedSlots::PermanentSlots` (`max_values`: None, `max_size`: Some(20), added: 2495, mode: `MaxEncodedLen`)
@@ -120,11 +118,11 @@ impl<T: frame_system::Config> runtime_common::assigned_slots::WeightInfo for Wei
 	/// Proof: `AssignedSlots::TemporarySlotCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	fn unassign_parachain_slot() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `856`
-		//  Estimated: `4321`
-		// Minimum execution time: 35_764_000 picoseconds.
-		Weight::from_parts(38_355_000, 0)
-			.saturating_add(Weight::from_parts(0, 4321))
+		//  Measured:  `823`
+		//  Estimated: `4288`
+		// Minimum execution time: 38_081_000 picoseconds.
+		Weight::from_parts(40_987_000, 0)
+			.saturating_add(Weight::from_parts(0, 4288))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
@@ -134,8 +132,8 @@ impl<T: frame_system::Config> runtime_common::assigned_slots::WeightInfo for Wei
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_634_000 picoseconds.
-		Weight::from_parts(4_852_000, 0)
+		// Minimum execution time: 7_182_000 picoseconds.
+		Weight::from_parts(7_437_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
@@ -145,8 +143,8 @@ impl<T: frame_system::Config> runtime_common::assigned_slots::WeightInfo for Wei
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_563_000 picoseconds.
-		Weight::from_parts(4_829_000, 0)
+		// Minimum execution time: 7_153_000 picoseconds.
+		Weight::from_parts(7_456_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/polkadot/runtime/rococo/src/weights/runtime_common_auctions.rs b/polkadot/runtime/rococo/src/weights/runtime_common_auctions.rs
index 2b756802289..3cd7c7a47e9 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_common_auctions.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_common_auctions.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `runtime_common::auctions`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=runtime_common::auctions
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_common_auctions.rs
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/runtime_common_auctions.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,90 +47,92 @@ use core::marker::PhantomData;
 /// Weight functions for `runtime_common::auctions`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> runtime_common::auctions::WeightInfo for WeightInfo<T> {
-	/// Storage: `Auctions::AuctionInfo` (r:1 w:1)
-	/// Proof: `Auctions::AuctionInfo` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Auctions::AuctionCounter` (r:1 w:1)
-	/// Proof: `Auctions::AuctionCounter` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+	/// Storage: Auctions AuctionInfo (r:1 w:1)
+	/// Proof: Auctions AuctionInfo (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Auctions AuctionCounter (r:1 w:1)
+	/// Proof: Auctions AuctionCounter (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn new_auction() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `4`
 		//  Estimated: `1493`
-		// Minimum execution time: 7_307_000 picoseconds.
-		Weight::from_parts(7_680_000, 0)
+		// Minimum execution time: 12_805_000 picoseconds.
+		Weight::from_parts(13_153_000, 0)
 			.saturating_add(Weight::from_parts(0, 1493))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Auctions::AuctionCounter` (r:1 w:0)
-	/// Proof: `Auctions::AuctionCounter` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Auctions::AuctionInfo` (r:1 w:0)
-	/// Proof: `Auctions::AuctionInfo` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Slots::Leases` (r:1 w:0)
-	/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Auctions::Winning` (r:1 w:1)
-	/// Proof: `Auctions::Winning` (`max_values`: None, `max_size`: Some(1920), added: 4395, mode: `MaxEncodedLen`)
-	/// Storage: `Auctions::ReservedAmounts` (r:2 w:2)
-	/// Proof: `Auctions::ReservedAmounts` (`max_values`: None, `max_size`: Some(60), added: 2535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Paras ParaLifecycles (r:1 w:0)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Auctions AuctionCounter (r:1 w:0)
+	/// Proof: Auctions AuctionCounter (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Auctions AuctionInfo (r:1 w:0)
+	/// Proof: Auctions AuctionInfo (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Slots Leases (r:1 w:0)
+	/// Proof Skipped: Slots Leases (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Auctions Winning (r:1 w:1)
+	/// Proof: Auctions Winning (max_values: None, max_size: Some(1920), added: 4395, mode: MaxEncodedLen)
+	/// Storage: Auctions ReservedAmounts (r:2 w:2)
+	/// Proof: Auctions ReservedAmounts (max_values: None, max_size: Some(60), added: 2535, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn bid() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `761`
+		//  Measured:  `728`
 		//  Estimated: `6060`
-		// Minimum execution time: 75_448_000 picoseconds.
-		Weight::from_parts(78_716_000, 0)
+		// Minimum execution time: 77_380_000 picoseconds.
+		Weight::from_parts(80_503_000, 0)
 			.saturating_add(Weight::from_parts(0, 6060))
 			.saturating_add(T::DbWeight::get().reads(8))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
-	/// Storage: `Auctions::AuctionInfo` (r:1 w:1)
-	/// Proof: `Auctions::AuctionInfo` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Babe::NextRandomness` (r:1 w:0)
-	/// Proof: `Babe::NextRandomness` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `Babe::EpochStart` (r:1 w:0)
-	/// Proof: `Babe::EpochStart` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Auctions::AuctionCounter` (r:1 w:0)
-	/// Proof: `Auctions::AuctionCounter` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Auctions::Winning` (r:3600 w:3600)
-	/// Proof: `Auctions::Winning` (`max_values`: None, `max_size`: Some(1920), added: 4395, mode: `MaxEncodedLen`)
-	/// Storage: `Auctions::ReservedAmounts` (r:37 w:36)
-	/// Proof: `Auctions::ReservedAmounts` (`max_values`: None, `max_size`: Some(60), added: 2535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:36 w:36)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Slots::Leases` (r:2 w:2)
-	/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ActionsQueue` (r:1 w:1)
-	/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Auctions AuctionInfo (r:1 w:1)
+	/// Proof: Auctions AuctionInfo (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Babe NextRandomness (r:1 w:0)
+	/// Proof: Babe NextRandomness (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: Babe EpochStart (r:1 w:0)
+	/// Proof: Babe EpochStart (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Auctions AuctionCounter (r:1 w:0)
+	/// Proof: Auctions AuctionCounter (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Auctions Winning (r:3600 w:3600)
+	/// Proof: Auctions Winning (max_values: None, max_size: Some(1920), added: 4395, mode: MaxEncodedLen)
+	/// Storage: Auctions ReservedAmounts (r:37 w:36)
+	/// Proof: Auctions ReservedAmounts (max_values: None, max_size: Some(60), added: 2535, mode: MaxEncodedLen)
+	/// Storage: System Account (r:36 w:36)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Slots Leases (r:2 w:2)
+	/// Proof Skipped: Slots Leases (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras ParaLifecycles (r:1 w:1)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras ActionsQueue (r:1 w:1)
+	/// Proof Skipped: Paras ActionsQueue (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Registrar Paras (r:1 w:1)
+	/// Proof Skipped: Registrar Paras (max_values: None, max_size: None, mode: Measured)
 	fn on_initialize() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `6947017`
+		//  Measured:  `6947789`
 		//  Estimated: `15822990`
-		// Minimum execution time: 7_120_207_000 picoseconds.
-		Weight::from_parts(7_273_496_000, 0)
+		// Minimum execution time: 6_311_055_000 picoseconds.
+		Weight::from_parts(6_409_142_000, 0)
 			.saturating_add(Weight::from_parts(0, 15822990))
-			.saturating_add(T::DbWeight::get().reads(3682))
-			.saturating_add(T::DbWeight::get().writes(3677))
+			.saturating_add(T::DbWeight::get().reads(3683))
+			.saturating_add(T::DbWeight::get().writes(3678))
 	}
-	/// Storage: `Auctions::ReservedAmounts` (r:37 w:36)
-	/// Proof: `Auctions::ReservedAmounts` (`max_values`: None, `max_size`: Some(60), added: 2535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:36 w:36)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Auctions::Winning` (r:3600 w:3600)
-	/// Proof: `Auctions::Winning` (`max_values`: None, `max_size`: Some(1920), added: 4395, mode: `MaxEncodedLen`)
-	/// Storage: `Auctions::AuctionInfo` (r:0 w:1)
-	/// Proof: `Auctions::AuctionInfo` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
+	/// Storage: Auctions ReservedAmounts (r:37 w:36)
+	/// Proof: Auctions ReservedAmounts (max_values: None, max_size: Some(60), added: 2535, mode: MaxEncodedLen)
+	/// Storage: System Account (r:36 w:36)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Auctions Winning (r:3600 w:3600)
+	/// Proof: Auctions Winning (max_values: None, max_size: Some(1920), added: 4395, mode: MaxEncodedLen)
+	/// Storage: Auctions AuctionInfo (r:0 w:1)
+	/// Proof: Auctions AuctionInfo (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
 	fn cancel_auction() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `177732`
 		//  Estimated: `15822990`
-		// Minimum execution time: 5_536_281_000 picoseconds.
-		Weight::from_parts(5_675_163_000, 0)
+		// Minimum execution time: 4_849_561_000 picoseconds.
+		Weight::from_parts(4_955_226_000, 0)
 			.saturating_add(Weight::from_parts(0, 15822990))
 			.saturating_add(T::DbWeight::get().reads(3673))
 			.saturating_add(T::DbWeight::get().writes(3673))
diff --git a/polkadot/runtime/rococo/src/weights/runtime_common_claims.rs b/polkadot/runtime/rococo/src/weights/runtime_common_claims.rs
index de2bb71933b..52e0dd24afa 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_common_claims.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_common_claims.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `runtime_common::claims`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=runtime_common::claims
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_common_claims.rs
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/runtime_common_claims.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,133 +47,120 @@ use core::marker::PhantomData;
 /// Weight functions for `runtime_common::claims`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> runtime_common::claims::WeightInfo for WeightInfo<T> {
-	/// Storage: `Claims::Claims` (r:1 w:1)
-	/// Proof: `Claims::Claims` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Signing` (r:1 w:1)
-	/// Proof: `Claims::Signing` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Total` (r:1 w:1)
-	/// Proof: `Claims::Total` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Vesting` (r:1 w:1)
-	/// Proof: `Claims::Vesting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Vesting::Vesting` (r:1 w:1)
-	/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
+	/// Storage: Claims Claims (r:1 w:1)
+	/// Proof Skipped: Claims Claims (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Claims Signing (r:1 w:1)
+	/// Proof Skipped: Claims Signing (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Claims Total (r:1 w:1)
+	/// Proof Skipped: Claims Total (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Claims Vesting (r:1 w:1)
+	/// Proof Skipped: Claims Vesting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Vesting Vesting (r:1 w:1)
+	/// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:0)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
 	fn claim() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `558`
 		//  Estimated: `4764`
-		// Minimum execution time: 181_028_000 picoseconds.
-		Weight::from_parts(194_590_000, 0)
+		// Minimum execution time: 144_931_000 picoseconds.
+		Weight::from_parts(156_550_000, 0)
 			.saturating_add(Weight::from_parts(0, 4764))
 			.saturating_add(T::DbWeight::get().reads(8))
 			.saturating_add(T::DbWeight::get().writes(6))
 	}
-	/// Storage: `Claims::Total` (r:1 w:1)
-	/// Proof: `Claims::Total` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Vesting` (r:0 w:1)
-	/// Proof: `Claims::Vesting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Claims` (r:0 w:1)
-	/// Proof: `Claims::Claims` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Signing` (r:0 w:1)
-	/// Proof: `Claims::Signing` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Claims Total (r:1 w:1)
+	/// Proof Skipped: Claims Total (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Claims Vesting (r:0 w:1)
+	/// Proof Skipped: Claims Vesting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Claims Claims (r:0 w:1)
+	/// Proof Skipped: Claims Claims (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Claims Signing (r:0 w:1)
+	/// Proof Skipped: Claims Signing (max_values: None, max_size: None, mode: Measured)
 	fn mint_claim() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `216`
 		//  Estimated: `1701`
-		// Minimum execution time: 11_224_000 picoseconds.
-		Weight::from_parts(13_342_000, 0)
+		// Minimum execution time: 11_300_000 picoseconds.
+		Weight::from_parts(11_642_000, 0)
 			.saturating_add(Weight::from_parts(0, 1701))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
-	/// Storage: `Claims::Claims` (r:1 w:1)
-	/// Proof: `Claims::Claims` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Signing` (r:1 w:1)
-	/// Proof: `Claims::Signing` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Total` (r:1 w:1)
-	/// Proof: `Claims::Total` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Vesting` (r:1 w:1)
-	/// Proof: `Claims::Vesting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Vesting::Vesting` (r:1 w:1)
-	/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
+	/// Storage: Claims Claims (r:1 w:1)
+	/// Proof Skipped: Claims Claims (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Claims Signing (r:1 w:1)
+	/// Proof Skipped: Claims Signing (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Claims Total (r:1 w:1)
+	/// Proof Skipped: Claims Total (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Claims Vesting (r:1 w:1)
+	/// Proof Skipped: Claims Vesting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Vesting Vesting (r:1 w:1)
+	/// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:0)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
 	fn claim_attest() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `558`
 		//  Estimated: `4764`
-		// Minimum execution time: 187_964_000 picoseconds.
-		Weight::from_parts(202_553_000, 0)
+		// Minimum execution time: 149_112_000 picoseconds.
+		Weight::from_parts(153_872_000, 0)
 			.saturating_add(Weight::from_parts(0, 4764))
 			.saturating_add(T::DbWeight::get().reads(8))
 			.saturating_add(T::DbWeight::get().writes(6))
 	}
-	/// Storage: `Claims::Preclaims` (r:1 w:1)
-	/// Proof: `Claims::Preclaims` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Signing` (r:1 w:1)
-	/// Proof: `Claims::Signing` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Claims` (r:1 w:1)
-	/// Proof: `Claims::Claims` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Total` (r:1 w:1)
-	/// Proof: `Claims::Total` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Vesting` (r:1 w:1)
-	/// Proof: `Claims::Vesting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Vesting::Vesting` (r:1 w:1)
-	/// Proof: `Vesting::Vesting` (`max_values`: None, `max_size`: Some(1057), added: 3532, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
+	/// Storage: Claims Preclaims (r:1 w:1)
+	/// Proof Skipped: Claims Preclaims (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Claims Signing (r:1 w:1)
+	/// Proof Skipped: Claims Signing (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Claims Claims (r:1 w:1)
+	/// Proof Skipped: Claims Claims (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Claims Total (r:1 w:1)
+	/// Proof Skipped: Claims Total (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Claims Vesting (r:1 w:1)
+	/// Proof Skipped: Claims Vesting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Vesting Vesting (r:1 w:1)
+	/// Proof: Vesting Vesting (max_values: None, max_size: Some(1057), added: 3532, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:0)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
 	fn attest() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `632`
 		//  Estimated: `4764`
-		// Minimum execution time: 78_210_000 picoseconds.
-		Weight::from_parts(84_581_000, 0)
+		// Minimum execution time: 69_619_000 picoseconds.
+		Weight::from_parts(79_242_000, 0)
 			.saturating_add(Weight::from_parts(0, 4764))
 			.saturating_add(T::DbWeight::get().reads(9))
 			.saturating_add(T::DbWeight::get().writes(7))
 	}
-	/// Storage: `Claims::Claims` (r:1 w:2)
-	/// Proof: `Claims::Claims` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Vesting` (r:1 w:2)
-	/// Proof: `Claims::Vesting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Signing` (r:1 w:2)
-	/// Proof: `Claims::Signing` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Preclaims` (r:1 w:1)
-	/// Proof: `Claims::Preclaims` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Claims Claims (r:1 w:2)
+	/// Proof Skipped: Claims Claims (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Claims Vesting (r:1 w:2)
+	/// Proof Skipped: Claims Vesting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Claims Signing (r:1 w:2)
+	/// Proof Skipped: Claims Signing (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Claims Preclaims (r:1 w:1)
+	/// Proof Skipped: Claims Preclaims (max_values: None, max_size: None, mode: Measured)
 	fn move_claim() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `440`
 		//  Estimated: `3905`
-		// Minimum execution time: 33_940_000 picoseconds.
-		Weight::from_parts(48_438_000, 0)
+		// Minimum execution time: 22_066_000 picoseconds.
+		Weight::from_parts(22_483_000, 0)
 			.saturating_add(Weight::from_parts(0, 3905))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(7))
 	}
-	/// Storage: `Claims::Preclaims` (r:1 w:0)
-	/// Proof: `Claims::Preclaims` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Claims::Signing` (r:1 w:0)
-	/// Proof: `Claims::Signing` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	fn prevalidate_attests() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `296`
-		//  Estimated: `3761`
-		// Minimum execution time: 9_025_000 picoseconds.
-		Weight::from_parts(10_563_000, 0)
-			.saturating_add(Weight::from_parts(0, 3761))
-			.saturating_add(T::DbWeight::get().reads(2))
-	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/runtime_common_coretime.rs b/polkadot/runtime/rococo/src/weights/runtime_common_coretime.rs
deleted file mode 100644
index d068f07e759..00000000000
--- a/polkadot/runtime/rococo/src/weights/runtime_common_coretime.rs
+++ /dev/null
@@ -1,86 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot 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.
-
-// Polkadot 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 Polkadot.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `runtime_common::coretime`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/production/polkadot
-// benchmark
-// pallet
-// --chain=rococo-dev
-// --steps=50
-// --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=runtime_common::coretime
-// --extrinsic=*
-// --execution=wasm
-// --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_common_coretime.rs
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `runtime_common::coretime`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> runtime_common::coretime::WeightInfo for WeightInfo<T> {
-	/// Storage: `Configuration::PendingConfigs` (r:1 w:1)
-	/// Proof: `Configuration::PendingConfigs` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Configuration::BypassConsistencyCheck` (r:1 w:0)
-	/// Proof: `Configuration::BypassConsistencyCheck` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	fn request_core_count() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `151`
-		//  Estimated: `1636`
-		// Minimum execution time: 7_543_000 picoseconds.
-		Weight::from_parts(7_745_000, 0)
-			.saturating_add(Weight::from_parts(0, 1636))
-			.saturating_add(T::DbWeight::get().reads(3))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-	/// Storage: `CoretimeAssignmentProvider::CoreDescriptors` (r:1 w:1)
-	/// Proof: `CoretimeAssignmentProvider::CoreDescriptors` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `CoretimeAssignmentProvider::CoreSchedules` (r:0 w:1)
-	/// Proof: `CoretimeAssignmentProvider::CoreSchedules` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `s` is `[1, 100]`.
-	fn assign_core(s: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `180`
-		//  Estimated: `3645`
-		// Minimum execution time: 9_367_000 picoseconds.
-		Weight::from_parts(9_932_305, 0)
-			.saturating_add(Weight::from_parts(0, 3645))
-			// Standard Error: 231
-			.saturating_add(Weight::from_parts(12_947, 0).saturating_mul(s.into()))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(2))
-	}
-}
diff --git a/polkadot/runtime/rococo/src/weights/runtime_common_crowdloan.rs b/polkadot/runtime/rococo/src/weights/runtime_common_crowdloan.rs
index 8ebab3d551e..0e7420cba2e 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_common_crowdloan.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_common_crowdloan.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `runtime_common::crowdloan`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=runtime_common::crowdloan
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_common_crowdloan.rs
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/runtime_common_crowdloan.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,168 +47,172 @@ use core::marker::PhantomData;
 /// Weight functions for `runtime_common::crowdloan`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> runtime_common::crowdloan::WeightInfo for WeightInfo<T> {
-	/// Storage: `Crowdloan::Funds` (r:1 w:1)
-	/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Registrar::Paras` (r:1 w:0)
-	/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Crowdloan::NextFundIndex` (r:1 w:1)
-	/// Proof: `Crowdloan::NextFundIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Crowdloan Funds (r:1 w:1)
+	/// Proof Skipped: Crowdloan Funds (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Registrar Paras (r:1 w:1)
+	/// Proof Skipped: Registrar Paras (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras ParaLifecycles (r:1 w:0)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Crowdloan NextFundIndex (r:1 w:1)
+	/// Proof Skipped: Crowdloan NextFundIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn create() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `438`
 		//  Estimated: `3903`
-		// Minimum execution time: 46_095_000 picoseconds.
-		Weight::from_parts(48_111_000, 0)
+		// Minimum execution time: 50_399_000 picoseconds.
+		Weight::from_parts(51_641_000, 0)
 			.saturating_add(Weight::from_parts(0, 3903))
 			.saturating_add(T::DbWeight::get().reads(5))
-			.saturating_add(T::DbWeight::get().writes(3))
+			.saturating_add(T::DbWeight::get().writes(4))
 	}
-	/// Storage: `Crowdloan::Funds` (r:1 w:1)
-	/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Slots::Leases` (r:1 w:0)
-	/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Auctions::AuctionInfo` (r:1 w:0)
-	/// Proof: `Auctions::AuctionInfo` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Crowdloan::EndingsCount` (r:1 w:0)
-	/// Proof: `Crowdloan::EndingsCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Crowdloan::NewRaise` (r:1 w:1)
-	/// Proof: `Crowdloan::NewRaise` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: UNKNOWN KEY `0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291` (r:1 w:1)
-	/// Proof: UNKNOWN KEY `0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291` (r:1 w:1)
+	/// Storage: Crowdloan Funds (r:1 w:1)
+	/// Proof Skipped: Crowdloan Funds (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Slots Leases (r:1 w:0)
+	/// Proof Skipped: Slots Leases (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Auctions AuctionInfo (r:1 w:0)
+	/// Proof: Auctions AuctionInfo (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Balances InactiveIssuance (r:1 w:1)
+	/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: Crowdloan EndingsCount (r:1 w:0)
+	/// Proof Skipped: Crowdloan EndingsCount (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Crowdloan NewRaise (r:1 w:1)
+	/// Proof Skipped: Crowdloan NewRaise (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: unknown `0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291` (r:1 w:1)
+	/// Proof Skipped: unknown `0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291` (r:1 w:1)
 	fn contribute() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `563`
-		//  Estimated: `4028`
-		// Minimum execution time: 133_059_000 picoseconds.
-		Weight::from_parts(136_515_000, 0)
-			.saturating_add(Weight::from_parts(0, 4028))
-			.saturating_add(T::DbWeight::get().reads(7))
-			.saturating_add(T::DbWeight::get().writes(4))
+		//  Measured:  `530`
+		//  Estimated: `3995`
+		// Minimum execution time: 128_898_000 picoseconds.
+		Weight::from_parts(130_277_000, 0)
+			.saturating_add(Weight::from_parts(0, 3995))
+			.saturating_add(T::DbWeight::get().reads(8))
+			.saturating_add(T::DbWeight::get().writes(5))
 	}
-	/// Storage: `Crowdloan::Funds` (r:1 w:1)
-	/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: UNKNOWN KEY `0xc85982571aa615c788ef9b2c16f54f25773fd439e8ee1ed2aa3ae43d48e880f0` (r:1 w:1)
-	/// Proof: UNKNOWN KEY `0xc85982571aa615c788ef9b2c16f54f25773fd439e8ee1ed2aa3ae43d48e880f0` (r:1 w:1)
+	/// Storage: Crowdloan Funds (r:1 w:1)
+	/// Proof Skipped: Crowdloan Funds (max_values: None, max_size: None, mode: Measured)
+	/// Storage: System Account (r:2 w:2)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Balances InactiveIssuance (r:1 w:1)
+	/// Proof: Balances InactiveIssuance (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: unknown `0xc85982571aa615c788ef9b2c16f54f25773fd439e8ee1ed2aa3ae43d48e880f0` (r:1 w:1)
+	/// Proof Skipped: unknown `0xc85982571aa615c788ef9b2c16f54f25773fd439e8ee1ed2aa3ae43d48e880f0` (r:1 w:1)
 	fn withdraw() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `687`
+		//  Measured:  `689`
 		//  Estimated: `6196`
-		// Minimum execution time: 71_733_000 picoseconds.
-		Weight::from_parts(74_034_000, 0)
+		// Minimum execution time: 69_543_000 picoseconds.
+		Weight::from_parts(71_522_000, 0)
 			.saturating_add(Weight::from_parts(0, 6196))
-			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(4))
+			.saturating_add(T::DbWeight::get().reads(5))
+			.saturating_add(T::DbWeight::get().writes(5))
 	}
-	/// Storage: `Skipped::Metadata` (r:0 w:0)
-	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Skipped Metadata (r:0 w:0)
+	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `k` is `[0, 1000]`.
 	fn refund(k: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `125 + k * (189 ±0)`
-		//  Estimated: `138 + k * (189 ±0)`
-		// Minimum execution time: 46_016_000 picoseconds.
-		Weight::from_parts(48_260_000, 0)
-			.saturating_add(Weight::from_parts(0, 138))
-			// Standard Error: 21_140
-			.saturating_add(Weight::from_parts(39_141_925, 0).saturating_mul(k.into()))
-			.saturating_add(T::DbWeight::get().reads(3))
+		//  Measured:  `127 + k * (189 ±0)`
+		//  Estimated: `140 + k * (189 ±0)`
+		// Minimum execution time: 50_735_000 picoseconds.
+		Weight::from_parts(52_282_000, 0)
+			.saturating_add(Weight::from_parts(0, 140))
+			// Standard Error: 21_607
+			.saturating_add(Weight::from_parts(38_955_985, 0).saturating_mul(k.into()))
+			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(k.into())))
-			.saturating_add(T::DbWeight::get().writes(2))
+			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(k.into())))
 			.saturating_add(Weight::from_parts(0, 189).saturating_mul(k.into()))
 	}
-	/// Storage: `Crowdloan::Funds` (r:1 w:1)
-	/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Crowdloan Funds (r:1 w:1)
+	/// Proof Skipped: Crowdloan Funds (max_values: None, max_size: None, mode: Measured)
+	/// Storage: System Account (r:2 w:2)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn dissolve() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `514`
+		//  Measured:  `515`
 		//  Estimated: `6196`
-		// Minimum execution time: 44_724_000 picoseconds.
-		Weight::from_parts(47_931_000, 0)
+		// Minimum execution time: 43_100_000 picoseconds.
+		Weight::from_parts(44_272_000, 0)
 			.saturating_add(Weight::from_parts(0, 6196))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `Crowdloan::Funds` (r:1 w:1)
-	/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Crowdloan Funds (r:1 w:1)
+	/// Proof Skipped: Crowdloan Funds (max_values: None, max_size: None, mode: Measured)
 	fn edit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `234`
-		//  Estimated: `3699`
-		// Minimum execution time: 19_512_000 picoseconds.
-		Weight::from_parts(21_129_000, 0)
-			.saturating_add(Weight::from_parts(0, 3699))
+		//  Measured:  `235`
+		//  Estimated: `3700`
+		// Minimum execution time: 18_702_000 picoseconds.
+		Weight::from_parts(19_408_000, 0)
+			.saturating_add(Weight::from_parts(0, 3700))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Crowdloan::Funds` (r:1 w:0)
-	/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: UNKNOWN KEY `0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291` (r:1 w:1)
-	/// Proof: UNKNOWN KEY `0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291` (r:1 w:1)
+	/// Storage: Crowdloan Funds (r:1 w:0)
+	/// Proof Skipped: Crowdloan Funds (max_values: None, max_size: None, mode: Measured)
+	/// Storage: unknown `0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291` (r:1 w:1)
+	/// Proof Skipped: unknown `0xd861ea1ebf4800d4b89f4ff787ad79ee96d9a708c85b57da7eb8f9ddeda61291` (r:1 w:1)
 	fn add_memo() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `412`
 		//  Estimated: `3877`
-		// Minimum execution time: 33_529_000 picoseconds.
-		Weight::from_parts(37_082_000, 0)
+		// Minimum execution time: 25_568_000 picoseconds.
+		Weight::from_parts(26_203_000, 0)
 			.saturating_add(Weight::from_parts(0, 3877))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Crowdloan::Funds` (r:1 w:0)
-	/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Crowdloan::NewRaise` (r:1 w:1)
-	/// Proof: `Crowdloan::NewRaise` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Crowdloan Funds (r:1 w:0)
+	/// Proof Skipped: Crowdloan Funds (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Crowdloan NewRaise (r:1 w:1)
+	/// Proof Skipped: Crowdloan NewRaise (max_values: Some(1), max_size: None, mode: Measured)
 	fn poke() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `238`
-		//  Estimated: `3703`
-		// Minimum execution time: 23_153_000 picoseconds.
-		Weight::from_parts(24_181_000, 0)
-			.saturating_add(Weight::from_parts(0, 3703))
+		//  Measured:  `239`
+		//  Estimated: `3704`
+		// Minimum execution time: 17_832_000 picoseconds.
+		Weight::from_parts(18_769_000, 0)
+			.saturating_add(Weight::from_parts(0, 3704))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Auctions::AuctionInfo` (r:1 w:0)
-	/// Proof: `Auctions::AuctionInfo` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Crowdloan::EndingsCount` (r:1 w:1)
-	/// Proof: `Crowdloan::EndingsCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Crowdloan::NewRaise` (r:1 w:1)
-	/// Proof: `Crowdloan::NewRaise` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Crowdloan::Funds` (r:100 w:0)
-	/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Auctions::AuctionCounter` (r:1 w:0)
-	/// Proof: `Auctions::AuctionCounter` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Paras::ParaLifecycles` (r:100 w:0)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Slots::Leases` (r:100 w:0)
-	/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Auctions::Winning` (r:1 w:1)
-	/// Proof: `Auctions::Winning` (`max_values`: None, `max_size`: Some(1920), added: 4395, mode: `MaxEncodedLen`)
-	/// Storage: `Auctions::ReservedAmounts` (r:100 w:100)
-	/// Proof: `Auctions::ReservedAmounts` (`max_values`: None, `max_size`: Some(60), added: 2535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:100 w:100)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Auctions AuctionInfo (r:1 w:0)
+	/// Proof: Auctions AuctionInfo (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Crowdloan EndingsCount (r:1 w:1)
+	/// Proof Skipped: Crowdloan EndingsCount (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Crowdloan NewRaise (r:1 w:1)
+	/// Proof Skipped: Crowdloan NewRaise (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Crowdloan Funds (r:100 w:0)
+	/// Proof Skipped: Crowdloan Funds (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Auctions AuctionCounter (r:1 w:0)
+	/// Proof: Auctions AuctionCounter (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Paras ParaLifecycles (r:100 w:0)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Slots Leases (r:100 w:0)
+	/// Proof Skipped: Slots Leases (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Auctions Winning (r:1 w:1)
+	/// Proof: Auctions Winning (max_values: None, max_size: Some(1920), added: 4395, mode: MaxEncodedLen)
+	/// Storage: Auctions ReservedAmounts (r:100 w:100)
+	/// Proof: Auctions ReservedAmounts (max_values: None, max_size: Some(60), added: 2535, mode: MaxEncodedLen)
+	/// Storage: System Account (r:100 w:100)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `n` is `[2, 100]`.
 	fn on_initialize(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `229 + n * (356 ±0)`
+		//  Measured:  `197 + n * (356 ±0)`
 		//  Estimated: `5385 + n * (2832 ±0)`
-		// Minimum execution time: 120_164_000 picoseconds.
-		Weight::from_parts(3_390_119, 0)
+		// Minimum execution time: 128_319_000 picoseconds.
+		Weight::from_parts(130_877_000, 0)
 			.saturating_add(Weight::from_parts(0, 5385))
-			// Standard Error: 41_727
-			.saturating_add(Weight::from_parts(54_453_016, 0).saturating_mul(n.into()))
+			// Standard Error: 61_381
+			.saturating_add(Weight::from_parts(60_209_202, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes(3))
diff --git a/polkadot/runtime/rococo/src/weights/runtime_common_identity_migrator.rs b/polkadot/runtime/rococo/src/weights/runtime_common_identity_migrator.rs
index 9b0cb98e6c0..cec357453b6 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_common_identity_migrator.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_common_identity_migrator.rs
@@ -1,43 +1,36 @@
 // Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
+// SPDX-License-Identifier: Apache-2.0
 
-// Polkadot 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.
-
-// Polkadot 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 Polkadot.  If not, see <http://www.gnu.org/licenses/>.
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// 	http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
 
 //! Autogenerated weights for `runtime_common::identity_migrator`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-11-07, STEPS: `2`, REPEAT: `1`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `sbtb`, CPU: `13th Gen Intel(R) Core(TM) i7-1365U`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// ./target/release/polkadot
 // benchmark
 // pallet
 // --chain=rococo-dev
-// --steps=50
-// --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
+// --steps=2
+// --repeat=1
 // --pallet=runtime_common::identity_migrator
 // --extrinsic=*
-// --execution=wasm
-// --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_common_identity_migrator.rs
+// --output=./migrator-release.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -51,7 +44,7 @@ use core::marker::PhantomData;
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> runtime_common::identity_migrator::WeightInfo for WeightInfo<T> {
 	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::SubsOf` (r:1 w:1)
 	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
 	/// Storage: `System::Account` (r:2 w:2)
@@ -70,34 +63,34 @@ impl<T: frame_system::Config> runtime_common::identity_migrator::WeightInfo for
 	/// The range of component `s` is `[0, 100]`.
 	fn reap_identity(r: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `7457 + r * (5 ±0) + s * (32 ±0)`
-		//  Estimated: `11037 + r * (7 ±0) + s * (32 ±0)`
-		// Minimum execution time: 157_343_000 picoseconds.
-		Weight::from_parts(159_289_236, 0)
-			.saturating_add(Weight::from_parts(0, 11037))
-			// Standard Error: 16_439
-			.saturating_add(Weight::from_parts(224_293, 0).saturating_mul(r.into()))
-			// Standard Error: 3_367
-			.saturating_add(Weight::from_parts(1_383_637, 0).saturating_mul(s.into()))
+		//  Measured:  `7292 + r * (8 ±0) + s * (32 ±0)`
+		//  Estimated: `11003 + r * (8 ±0) + s * (33 ±0)`
+		// Minimum execution time: 163_756_000 picoseconds.
+		Weight::from_parts(158_982_500, 0)
+			.saturating_add(Weight::from_parts(0, 11003))
+			// Standard Error: 1_143_629
+			.saturating_add(Weight::from_parts(238_675, 0).saturating_mul(r.into()))
+			// Standard Error: 228_725
+			.saturating_add(Weight::from_parts(1_529_645, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(8))
-			.saturating_add(T::DbWeight::get().writes(6))
+			.saturating_add(T::DbWeight::get().writes(5))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
-			.saturating_add(Weight::from_parts(0, 7).saturating_mul(r.into()))
-			.saturating_add(Weight::from_parts(0, 32).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(0, 8).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 33).saturating_mul(s.into()))
 	}
 	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7538), added: 10013, mode: `MaxEncodedLen`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::SubsOf` (r:1 w:1)
 	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
 	fn poke_deposit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `7242`
-		//  Estimated: `11037`
-		// Minimum execution time: 114_384_000 picoseconds.
-		Weight::from_parts(115_741_000, 0)
-			.saturating_add(Weight::from_parts(0, 11037))
+		//  Measured:  `7229`
+		//  Estimated: `11003`
+		// Minimum execution time: 137_570_000 picoseconds.
+		Weight::from_parts(137_570_000, 0)
+			.saturating_add(Weight::from_parts(0, 11003))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
diff --git a/polkadot/runtime/rococo/src/weights/runtime_common_paras_registrar.rs b/polkadot/runtime/rococo/src/weights/runtime_common_paras_registrar.rs
index e066106e134..0a56562a1a9 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_common_paras_registrar.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_common_paras_registrar.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `runtime_common::paras_registrar`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=runtime_common::paras_registrar
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_common_paras_registrar.rs
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/runtime_common_paras_registrar.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,169 +47,175 @@ use core::marker::PhantomData;
 /// Weight functions for `runtime_common::paras_registrar`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> runtime_common::paras_registrar::WeightInfo for WeightInfo<T> {
-	/// Storage: `Registrar::NextFreeParaId` (r:1 w:1)
-	/// Proof: `Registrar::NextFreeParaId` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Registrar::Paras` (r:1 w:1)
-	/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Registrar NextFreeParaId (r:1 w:1)
+	/// Proof Skipped: Registrar NextFreeParaId (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Registrar Paras (r:1 w:1)
+	/// Proof Skipped: Registrar Paras (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras ParaLifecycles (r:1 w:0)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
 	fn reserve() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `96`
-		//  Estimated: `3561`
-		// Minimum execution time: 24_109_000 picoseconds.
-		Weight::from_parts(24_922_000, 0)
-			.saturating_add(Weight::from_parts(0, 3561))
+		//  Measured:  `97`
+		//  Estimated: `3562`
+		// Minimum execution time: 29_948_000 picoseconds.
+		Weight::from_parts(30_433_000, 0)
+			.saturating_add(Weight::from_parts(0, 3562))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Registrar::Paras` (r:1 w:1)
-	/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CodeByHash` (r:1 w:1)
-	/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CodeByHashRefs` (r:1 w:1)
-	/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CurrentCodeHash` (r:0 w:1)
-	/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::UpcomingParasGenesis` (r:0 w:1)
-	/// Proof: `Paras::UpcomingParasGenesis` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Registrar Paras (r:1 w:1)
+	/// Proof Skipped: Registrar Paras (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras ParaLifecycles (r:1 w:1)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteMap (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteMap (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras CodeByHash (r:1 w:1)
+	/// Proof Skipped: Paras CodeByHash (max_values: None, max_size: None, mode: Measured)
+	/// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
+	/// Proof Skipped: ParasShared ActiveValidatorKeys (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteList (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras CodeByHashRefs (r:1 w:1)
+	/// Proof Skipped: Paras CodeByHashRefs (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras CurrentCodeHash (r:0 w:1)
+	/// Proof Skipped: Paras CurrentCodeHash (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras UpcomingParasGenesis (r:0 w:1)
+	/// Proof Skipped: Paras UpcomingParasGenesis (max_values: None, max_size: None, mode: Measured)
 	fn register() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `352`
-		//  Estimated: `3817`
-		// Minimum execution time: 7_207_580_000 picoseconds.
-		Weight::from_parts(7_298_567_000, 0)
-			.saturating_add(Weight::from_parts(0, 3817))
-			.saturating_add(T::DbWeight::get().reads(7))
+		//  Measured:  `616`
+		//  Estimated: `4081`
+		// Minimum execution time: 6_332_113_000 picoseconds.
+		Weight::from_parts(6_407_158_000, 0)
+			.saturating_add(Weight::from_parts(0, 4081))
+			.saturating_add(T::DbWeight::get().reads(8))
 			.saturating_add(T::DbWeight::get().writes(8))
 	}
-	/// Storage: `Registrar::Paras` (r:1 w:1)
-	/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CodeByHash` (r:1 w:1)
-	/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CodeByHashRefs` (r:1 w:1)
-	/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CurrentCodeHash` (r:0 w:1)
-	/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::UpcomingParasGenesis` (r:0 w:1)
-	/// Proof: `Paras::UpcomingParasGenesis` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Registrar Paras (r:1 w:1)
+	/// Proof Skipped: Registrar Paras (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras ParaLifecycles (r:1 w:1)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteMap (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteMap (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras CodeByHash (r:1 w:1)
+	/// Proof Skipped: Paras CodeByHash (max_values: None, max_size: None, mode: Measured)
+	/// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
+	/// Proof Skipped: ParasShared ActiveValidatorKeys (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteList (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras CodeByHashRefs (r:1 w:1)
+	/// Proof Skipped: Paras CodeByHashRefs (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras CurrentCodeHash (r:0 w:1)
+	/// Proof Skipped: Paras CurrentCodeHash (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras UpcomingParasGenesis (r:0 w:1)
+	/// Proof Skipped: Paras UpcomingParasGenesis (max_values: None, max_size: None, mode: Measured)
 	fn force_register() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `269`
-		//  Estimated: `3734`
-		// Minimum execution time: 7_196_460_000 picoseconds.
-		Weight::from_parts(7_385_729_000, 0)
-			.saturating_add(Weight::from_parts(0, 3734))
-			.saturating_add(T::DbWeight::get().reads(7))
+		//  Measured:  `533`
+		//  Estimated: `3998`
+		// Minimum execution time: 6_245_403_000 picoseconds.
+		Weight::from_parts(6_289_575_000, 0)
+			.saturating_add(Weight::from_parts(0, 3998))
+			.saturating_add(T::DbWeight::get().reads(8))
 			.saturating_add(T::DbWeight::get().writes(8))
 	}
-	/// Storage: `Registrar::Paras` (r:1 w:1)
-	/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::FutureCodeHash` (r:1 w:0)
-	/// Proof: `Paras::FutureCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ActionsQueue` (r:1 w:1)
-	/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
-	/// Storage: `Registrar::PendingSwap` (r:0 w:1)
-	/// Proof: `Registrar::PendingSwap` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Registrar Paras (r:1 w:1)
+	/// Proof Skipped: Registrar Paras (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras ParaLifecycles (r:1 w:1)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras FutureCodeHash (r:1 w:0)
+	/// Proof Skipped: Paras FutureCodeHash (max_values: None, max_size: None, mode: Measured)
+	/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras ActionsQueue (r:1 w:1)
+	/// Proof Skipped: Paras ActionsQueue (max_values: None, max_size: None, mode: Measured)
+	/// Storage: MessageQueue BookStateFor (r:1 w:0)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(55), added: 2530, mode: MaxEncodedLen)
+	/// Storage: Registrar PendingSwap (r:0 w:1)
+	/// Proof Skipped: Registrar PendingSwap (max_values: None, max_size: None, mode: Measured)
 	fn deregister() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `499`
-		//  Estimated: `3964`
-		// Minimum execution time: 54_761_000 picoseconds.
-		Weight::from_parts(57_931_000, 0)
-			.saturating_add(Weight::from_parts(0, 3964))
+		//  Measured:  `476`
+		//  Estimated: `3941`
+		// Minimum execution time: 49_822_000 picoseconds.
+		Weight::from_parts(50_604_000, 0)
+			.saturating_add(Weight::from_parts(0, 3941))
 			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
-	/// Storage: `Registrar::Paras` (r:1 w:0)
-	/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ParaLifecycles` (r:2 w:2)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Registrar::PendingSwap` (r:1 w:1)
-	/// Proof: `Registrar::PendingSwap` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ActionsQueue` (r:1 w:1)
-	/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Crowdloan::Funds` (r:2 w:2)
-	/// Proof: `Crowdloan::Funds` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Slots::Leases` (r:2 w:2)
-	/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Registrar Paras (r:1 w:0)
+	/// Proof Skipped: Registrar Paras (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras ParaLifecycles (r:2 w:2)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Registrar PendingSwap (r:1 w:1)
+	/// Proof Skipped: Registrar PendingSwap (max_values: None, max_size: None, mode: Measured)
+	/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras ActionsQueue (r:1 w:1)
+	/// Proof Skipped: Paras ActionsQueue (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Crowdloan Funds (r:2 w:2)
+	/// Proof Skipped: Crowdloan Funds (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Slots Leases (r:2 w:2)
+	/// Proof Skipped: Slots Leases (max_values: None, max_size: None, mode: Measured)
 	fn swap() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `837`
-		//  Estimated: `6777`
-		// Minimum execution time: 59_564_000 picoseconds.
-		Weight::from_parts(62_910_000, 0)
-			.saturating_add(Weight::from_parts(0, 6777))
+		//  Measured:  `780`
+		//  Estimated: `6720`
+		// Minimum execution time: 55_166_000 picoseconds.
+		Weight::from_parts(56_913_000, 0)
+			.saturating_add(Weight::from_parts(0, 6720))
 			.saturating_add(T::DbWeight::get().reads(10))
 			.saturating_add(T::DbWeight::get().writes(8))
 	}
-	/// Storage: `Paras::FutureCodeHash` (r:1 w:1)
-	/// Proof: `Paras::FutureCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::UpgradeRestrictionSignal` (r:1 w:1)
-	/// Proof: `Paras::UpgradeRestrictionSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CurrentCodeHash` (r:1 w:0)
-	/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::UpgradeCooldowns` (r:1 w:1)
-	/// Proof: `Paras::UpgradeCooldowns` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CodeByHash` (r:1 w:1)
-	/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CodeByHashRefs` (r:1 w:1)
-	/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `b` is `[9, 3145728]`.
+	/// Storage: Paras FutureCodeHash (r:1 w:1)
+	/// Proof Skipped: Paras FutureCodeHash (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras UpgradeRestrictionSignal (r:1 w:1)
+	/// Proof Skipped: Paras UpgradeRestrictionSignal (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras CurrentCodeHash (r:1 w:0)
+	/// Proof Skipped: Paras CurrentCodeHash (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras UpgradeCooldowns (r:1 w:1)
+	/// Proof Skipped: Paras UpgradeCooldowns (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteMap (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteMap (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras CodeByHash (r:1 w:1)
+	/// Proof Skipped: Paras CodeByHash (max_values: None, max_size: None, mode: Measured)
+	/// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
+	/// Proof Skipped: ParasShared ActiveValidatorKeys (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteList (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras CodeByHashRefs (r:1 w:1)
+	/// Proof Skipped: Paras CodeByHashRefs (max_values: None, max_size: None, mode: Measured)
+	/// The range of component `b` is `[1, 3145728]`.
 	fn schedule_code_upgrade(b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `201`
-		//  Estimated: `3666`
-		// Minimum execution time: 33_106_000 picoseconds.
-		Weight::from_parts(33_526_000, 0)
-			.saturating_add(Weight::from_parts(0, 3666))
-			// Standard Error: 2
-			.saturating_add(Weight::from_parts(2_334, 0).saturating_mul(b.into()))
-			.saturating_add(T::DbWeight::get().reads(9))
+		//  Measured:  `464`
+		//  Estimated: `3929`
+		// Minimum execution time: 43_650_000 picoseconds.
+		Weight::from_parts(43_918_000, 0)
+			.saturating_add(Weight::from_parts(0, 3929))
+			// Standard Error: 6
+			.saturating_add(Weight::from_parts(2_041, 0).saturating_mul(b.into()))
+			.saturating_add(T::DbWeight::get().reads(10))
 			.saturating_add(T::DbWeight::get().writes(7))
 	}
-	/// Storage: `Paras::Heads` (r:0 w:1)
-	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Paras Heads (r:0 w:1)
+	/// Proof Skipped: Paras Heads (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `b` is `[1, 1048576]`.
 	fn set_current_head(b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_992_000 picoseconds.
-		Weight::from_parts(12_059_689, 0)
+		// Minimum execution time: 8_666_000 picoseconds.
+		Weight::from_parts(8_893_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(959, 0).saturating_mul(b.into()))
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(855, 0).saturating_mul(b.into()))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/runtime_common_slots.rs b/polkadot/runtime/rococo/src/weights/runtime_common_slots.rs
index dd10dbbf1f1..23ab1ed3ee0 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_common_slots.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_common_slots.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `runtime_common::slots`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=runtime_common::slots
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_common_slots.rs
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/runtime_common_slots.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,82 +47,86 @@ use core::marker::PhantomData;
 /// Weight functions for `runtime_common::slots`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> runtime_common::slots::WeightInfo for WeightInfo<T> {
-	/// Storage: `Slots::Leases` (r:1 w:1)
-	/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Slots Leases (r:1 w:1)
+	/// Proof Skipped: Slots Leases (max_values: None, max_size: None, mode: Measured)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn force_lease() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `320`
-		//  Estimated: `3785`
-		// Minimum execution time: 26_570_000 picoseconds.
-		Weight::from_parts(27_619_000, 0)
-			.saturating_add(Weight::from_parts(0, 3785))
+		//  Measured:  `287`
+		//  Estimated: `3752`
+		// Minimum execution time: 29_932_000 picoseconds.
+		Weight::from_parts(30_334_000, 0)
+			.saturating_add(Weight::from_parts(0, 3752))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `Paras::Parachains` (r:1 w:0)
-	/// Proof: `Paras::Parachains` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Slots::Leases` (r:101 w:100)
-	/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ParaLifecycles` (r:200 w:200)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ActionsQueue` (r:1 w:1)
-	/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Paras Parachains (r:1 w:0)
+	/// Proof Skipped: Paras Parachains (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Slots Leases (r:101 w:100)
+	/// Proof Skipped: Slots Leases (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras ParaLifecycles (r:200 w:200)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras ActionsQueue (r:1 w:1)
+	/// Proof Skipped: Paras ActionsQueue (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Registrar Paras (r:100 w:100)
+	/// Proof Skipped: Registrar Paras (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `c` is `[0, 100]`.
 	/// The range of component `t` is `[0, 100]`.
 	fn manage_lease_period_start(c: u32, t: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `594 + c * (20 ±0) + t * (234 ±0)`
-		//  Estimated: `4065 + c * (2496 ±0) + t * (2709 ±0)`
-		// Minimum execution time: 729_793_000 picoseconds.
-		Weight::from_parts(740_820_000, 0)
-			.saturating_add(Weight::from_parts(0, 4065))
-			// Standard Error: 88_206
-			.saturating_add(Weight::from_parts(2_793_142, 0).saturating_mul(c.into()))
-			// Standard Error: 88_206
-			.saturating_add(Weight::from_parts(8_933_065, 0).saturating_mul(t.into()))
+		//  Measured:  `26 + c * (47 ±0) + t * (308 ±0)`
+		//  Estimated: `2800 + c * (2526 ±0) + t * (2789 ±0)`
+		// Minimum execution time: 634_547_000 picoseconds.
+		Weight::from_parts(643_045_000, 0)
+			.saturating_add(Weight::from_parts(0, 2800))
+			// Standard Error: 81_521
+			.saturating_add(Weight::from_parts(2_705_219, 0).saturating_mul(c.into()))
+			// Standard Error: 81_521
+			.saturating_add(Weight::from_parts(11_464_132, 0).saturating_mul(t.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(c.into())))
-			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(t.into())))
+			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(t.into())))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(c.into())))
-			.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(t.into())))
-			.saturating_add(Weight::from_parts(0, 2496).saturating_mul(c.into()))
-			.saturating_add(Weight::from_parts(0, 2709).saturating_mul(t.into()))
+			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(t.into())))
+			.saturating_add(Weight::from_parts(0, 2526).saturating_mul(c.into()))
+			.saturating_add(Weight::from_parts(0, 2789).saturating_mul(t.into()))
 	}
-	/// Storage: `Slots::Leases` (r:1 w:1)
-	/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:8 w:8)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Slots Leases (r:1 w:1)
+	/// Proof Skipped: Slots Leases (max_values: None, max_size: None, mode: Measured)
+	/// Storage: System Account (r:8 w:8)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn clear_all_leases() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2792`
+		//  Measured:  `2759`
 		//  Estimated: `21814`
-		// Minimum execution time: 123_888_000 picoseconds.
-		Weight::from_parts(131_245_000, 0)
+		// Minimum execution time: 129_756_000 picoseconds.
+		Weight::from_parts(131_810_000, 0)
 			.saturating_add(Weight::from_parts(0, 21814))
 			.saturating_add(T::DbWeight::get().reads(9))
 			.saturating_add(T::DbWeight::get().writes(9))
 	}
-	/// Storage: `Slots::Leases` (r:1 w:0)
-	/// Proof: `Slots::Leases` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ParaLifecycles` (r:1 w:1)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ActionsQueue` (r:1 w:1)
-	/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Slots Leases (r:1 w:0)
+	/// Proof Skipped: Slots Leases (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras ParaLifecycles (r:1 w:1)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras ActionsQueue (r:1 w:1)
+	/// Proof Skipped: Paras ActionsQueue (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Registrar Paras (r:1 w:1)
+	/// Proof Skipped: Registrar Paras (max_values: None, max_size: None, mode: Measured)
 	fn trigger_onboard() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `612`
-		//  Estimated: `4077`
-		// Minimum execution time: 27_341_000 picoseconds.
-		Weight::from_parts(28_697_000, 0)
-			.saturating_add(Weight::from_parts(0, 4077))
-			.saturating_add(T::DbWeight::get().reads(4))
-			.saturating_add(T::DbWeight::get().writes(2))
+		//  Measured:  `707`
+		//  Estimated: `4172`
+		// Minimum execution time: 29_527_000 picoseconds.
+		Weight::from_parts(30_055_000, 0)
+			.saturating_add(Weight::from_parts(0, 4172))
+			.saturating_add(T::DbWeight::get().reads(5))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 }
diff --git a/polkadot/runtime/rococo/src/weights/runtime_parachains_assigner_on_demand.rs b/polkadot/runtime/rococo/src/weights/runtime_parachains_assigner_on_demand.rs
index 653e1009f31..ac0f05301b4 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_parachains_assigner_on_demand.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_parachains_assigner_on_demand.rs
@@ -16,28 +16,26 @@
 
 //! Autogenerated weights for `runtime_parachains::assigner_on_demand`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-08-11, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-fljshgub-project-163-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// target/production/polkadot
 // benchmark
 // pallet
-// --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=runtime_parachains::assigner_on_demand
 // --extrinsic=*
-// --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_parachains_assigner_on_demand.rs
+// --heap-pages=4096
+// --json-file=/builds/parity/mirrors/polkadot/.git/.artifacts/bench.json
+// --pallet=runtime_parachains::assigner_on_demand
+// --chain=rococo-dev
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -59,13 +57,13 @@ impl<T: frame_system::Config> runtime_parachains::assigner_on_demand::WeightInfo
 	/// The range of component `s` is `[1, 9999]`.
 	fn place_order_keep_alive(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `363 + s * (4 ±0)`
-		//  Estimated: `3828 + s * (4 ±0)`
-		// Minimum execution time: 25_298_000 picoseconds.
-		Weight::from_parts(21_486_098, 0)
-			.saturating_add(Weight::from_parts(0, 3828))
-			// Standard Error: 136
-			.saturating_add(Weight::from_parts(13_943, 0).saturating_mul(s.into()))
+		//  Measured:  `297 + s * (4 ±0)`
+		//  Estimated: `3762 + s * (4 ±0)`
+		// Minimum execution time: 33_522_000 picoseconds.
+		Weight::from_parts(35_436_835, 0)
+			.saturating_add(Weight::from_parts(0, 3762))
+			// Standard Error: 129
+			.saturating_add(Weight::from_parts(14_041, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(Weight::from_parts(0, 4).saturating_mul(s.into()))
@@ -79,13 +77,13 @@ impl<T: frame_system::Config> runtime_parachains::assigner_on_demand::WeightInfo
 	/// The range of component `s` is `[1, 9999]`.
 	fn place_order_allow_death(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `363 + s * (4 ±0)`
-		//  Estimated: `3828 + s * (4 ±0)`
-		// Minimum execution time: 25_421_000 picoseconds.
-		Weight::from_parts(21_828_043, 0)
-			.saturating_add(Weight::from_parts(0, 3828))
-			// Standard Error: 133
-			.saturating_add(Weight::from_parts(13_831, 0).saturating_mul(s.into()))
+		//  Measured:  `297 + s * (4 ±0)`
+		//  Estimated: `3762 + s * (4 ±0)`
+		// Minimum execution time: 33_488_000 picoseconds.
+		Weight::from_parts(34_848_934, 0)
+			.saturating_add(Weight::from_parts(0, 3762))
+			// Standard Error: 143
+			.saturating_add(Weight::from_parts(14_215, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(Weight::from_parts(0, 4).saturating_mul(s.into()))
diff --git a/polkadot/runtime/rococo/src/weights/runtime_parachains_configuration.rs b/polkadot/runtime/rococo/src/weights/runtime_parachains_configuration.rs
index caad090ae15..ca0575cb1b6 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_parachains_configuration.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_parachains_configuration.rs
@@ -17,27 +17,25 @@
 //! Autogenerated weights for `runtime_parachains::configuration`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2024-02-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/polkadot
+// target/production/polkadot
 // benchmark
 // pallet
-// --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --pallet=runtime_parachains::configuration
 // --extrinsic=*
-// --execution=wasm
 // --wasm-execution=compiled
+// --heap-pages=4096
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=runtime_parachains::configuration
+// --chain=rococo-dev
 // --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_parachains_configuration.rs
+// --output=./polkadot/runtime/rococo/src/weights/
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -60,8 +58,8 @@ impl<T: frame_system::Config> runtime_parachains::configuration::WeightInfo for
 		// Proof Size summary in bytes:
 		//  Measured:  `151`
 		//  Estimated: `1636`
-		// Minimum execution time: 7_689_000 picoseconds.
-		Weight::from_parts(8_089_000, 0)
+		// Minimum execution time: 7_789_000 picoseconds.
+		Weight::from_parts(8_269_000, 0)
 			.saturating_add(Weight::from_parts(0, 1636))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -76,8 +74,8 @@ impl<T: frame_system::Config> runtime_parachains::configuration::WeightInfo for
 		// Proof Size summary in bytes:
 		//  Measured:  `151`
 		//  Estimated: `1636`
-		// Minimum execution time: 7_735_000 picoseconds.
-		Weight::from_parts(8_150_000, 0)
+		// Minimum execution time: 7_851_000 picoseconds.
+		Weight::from_parts(8_152_000, 0)
 			.saturating_add(Weight::from_parts(0, 1636))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -92,8 +90,8 @@ impl<T: frame_system::Config> runtime_parachains::configuration::WeightInfo for
 		// Proof Size summary in bytes:
 		//  Measured:  `151`
 		//  Estimated: `1636`
-		// Minimum execution time: 7_902_000 picoseconds.
-		Weight::from_parts(8_196_000, 0)
+		// Minimum execution time: 7_960_000 picoseconds.
+		Weight::from_parts(8_276_000, 0)
 			.saturating_add(Weight::from_parts(0, 1636))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -118,8 +116,8 @@ impl<T: frame_system::Config> runtime_parachains::configuration::WeightInfo for
 		// Proof Size summary in bytes:
 		//  Measured:  `151`
 		//  Estimated: `1636`
-		// Minimum execution time: 7_634_000 picoseconds.
-		Weight::from_parts(7_983_000, 0)
+		// Minimum execution time: 7_912_000 picoseconds.
+		Weight::from_parts(8_164_000, 0)
 			.saturating_add(Weight::from_parts(0, 1636))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -134,8 +132,8 @@ impl<T: frame_system::Config> runtime_parachains::configuration::WeightInfo for
 		// Proof Size summary in bytes:
 		//  Measured:  `151`
 		//  Estimated: `1636`
-		// Minimum execution time: 9_580_000 picoseconds.
-		Weight::from_parts(9_989_000, 0)
+		// Minimum execution time: 9_782_000 picoseconds.
+		Weight::from_parts(10_373_000, 0)
 			.saturating_add(Weight::from_parts(0, 1636))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -150,8 +148,8 @@ impl<T: frame_system::Config> runtime_parachains::configuration::WeightInfo for
 		// Proof Size summary in bytes:
 		//  Measured:  `151`
 		//  Estimated: `1636`
-		// Minimum execution time: 7_787_000 picoseconds.
-		Weight::from_parts(8_008_000, 0)
+		// Minimum execution time: 7_870_000 picoseconds.
+		Weight::from_parts(8_274_000, 0)
 			.saturating_add(Weight::from_parts(0, 1636))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -166,8 +164,8 @@ impl<T: frame_system::Config> runtime_parachains::configuration::WeightInfo for
 		// Proof Size summary in bytes:
 		//  Measured:  `151`
 		//  Estimated: `1636`
-		// Minimum execution time: 9_557_000 picoseconds.
-		Weight::from_parts(9_994_000, 0)
+		// Minimum execution time: 9_960_000 picoseconds.
+		Weight::from_parts(10_514_000, 0)
 			.saturating_add(Weight::from_parts(0, 1636))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
@@ -182,8 +180,8 @@ impl<T: frame_system::Config> runtime_parachains::configuration::WeightInfo for
 		// Proof Size summary in bytes:
 		//  Measured:  `151`
 		//  Estimated: `1636`
-		// Minimum execution time: 7_775_000 picoseconds.
-		Weight::from_parts(7_989_000, 0)
+		// Minimum execution time: 7_913_000 picoseconds.
+		Weight::from_parts(8_338_000, 0)
 			.saturating_add(Weight::from_parts(0, 1636))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
diff --git a/polkadot/runtime/rococo/src/weights/runtime_parachains_disputes.rs b/polkadot/runtime/rococo/src/weights/runtime_parachains_disputes.rs
index cf1aa36e10e..63a8c3addc7 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_parachains_disputes.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_parachains_disputes.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `runtime_parachains::disputes`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=runtime_parachains::disputes
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_parachains_disputes.rs
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/runtime_parachains_disputes.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,14 +47,14 @@ use core::marker::PhantomData;
 /// Weight functions for `runtime_parachains::disputes`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> runtime_parachains::disputes::WeightInfo for WeightInfo<T> {
-	/// Storage: `ParasDisputes::Frozen` (r:0 w:1)
-	/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: ParasDisputes Frozen (r:0 w:1)
+	/// Proof Skipped: ParasDisputes Frozen (max_values: Some(1), max_size: None, mode: Measured)
 	fn force_unfreeze() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 1_855_000 picoseconds.
-		Weight::from_parts(2_015_000, 0)
+		// Minimum execution time: 2_937_000 picoseconds.
+		Weight::from_parts(3_082_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/polkadot/runtime/rococo/src/weights/runtime_parachains_hrmp.rs b/polkadot/runtime/rococo/src/weights/runtime_parachains_hrmp.rs
index a3b912491e5..417820e6627 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_parachains_hrmp.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_parachains_hrmp.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `runtime_parachains::hrmp`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=runtime_parachains::hrmp
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_parachains_hrmp.rs
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/runtime_parachains_hrmp.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,97 +47,105 @@ use core::marker::PhantomData;
 /// Weight functions for `runtime_parachains::hrmp`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> runtime_parachains::hrmp::WeightInfo for WeightInfo<T> {
-	/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpChannels` (r:1 w:0)
-	/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:1 w:0)
-	/// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Paras ParaLifecycles (r:2 w:0)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpOpenChannelRequests (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequests (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpChannels (r:1 w:0)
+	/// Proof Skipped: Hrmp HrmpChannels (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpEgressChannelsIndex (r:1 w:0)
+	/// Proof Skipped: Hrmp HrmpEgressChannelsIndex (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpOpenChannelRequestCount (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequestCount (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpOpenChannelRequestsList (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequestsList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Dmp DownwardMessageQueues (r:1 w:1)
+	/// Proof Skipped: Dmp DownwardMessageQueues (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Dmp DownwardMessageQueueHeads (r:1 w:1)
+	/// Proof Skipped: Dmp DownwardMessageQueueHeads (max_values: None, max_size: None, mode: Measured)
 	fn hrmp_init_open_channel() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `488`
-		//  Estimated: `3953`
-		// Minimum execution time: 34_911_000 picoseconds.
-		Weight::from_parts(35_762_000, 0)
-			.saturating_add(Weight::from_parts(0, 3953))
-			.saturating_add(T::DbWeight::get().reads(8))
+		//  Measured:  `704`
+		//  Estimated: `6644`
+		// Minimum execution time: 41_564_000 picoseconds.
+		Weight::from_parts(42_048_000, 0)
+			.saturating_add(Weight::from_parts(0, 6644))
+			.saturating_add(T::DbWeight::get().reads(10))
 			.saturating_add(T::DbWeight::get().writes(5))
 	}
-	/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:1 w:0)
-	/// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpAcceptedChannelRequestCount` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Hrmp HrmpOpenChannelRequests (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequests (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras ParaLifecycles (r:1 w:0)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpIngressChannelsIndex (r:1 w:0)
+	/// Proof Skipped: Hrmp HrmpIngressChannelsIndex (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpAcceptedChannelRequestCount (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpAcceptedChannelRequestCount (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Dmp DownwardMessageQueues (r:1 w:1)
+	/// Proof Skipped: Dmp DownwardMessageQueues (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Dmp DownwardMessageQueueHeads (r:1 w:1)
+	/// Proof Skipped: Dmp DownwardMessageQueueHeads (max_values: None, max_size: None, mode: Measured)
 	fn hrmp_accept_open_channel() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `478`
-		//  Estimated: `3943`
-		// Minimum execution time: 31_483_000 picoseconds.
-		Weight::from_parts(32_230_000, 0)
-			.saturating_add(Weight::from_parts(0, 3943))
-			.saturating_add(T::DbWeight::get().reads(5))
+		//  Measured:  `936`
+		//  Estimated: `4401`
+		// Minimum execution time: 43_570_000 picoseconds.
+		Weight::from_parts(44_089_000, 0)
+			.saturating_add(Weight::from_parts(0, 4401))
+			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
-	/// Storage: `Hrmp::HrmpChannels` (r:1 w:0)
-	/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpCloseChannelRequests` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpCloseChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpCloseChannelRequestsList` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpCloseChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Hrmp HrmpChannels (r:1 w:0)
+	/// Proof Skipped: Hrmp HrmpChannels (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpCloseChannelRequests (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpCloseChannelRequests (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpCloseChannelRequestsList (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpCloseChannelRequestsList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Dmp DownwardMessageQueues (r:1 w:1)
+	/// Proof Skipped: Dmp DownwardMessageQueues (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Dmp DownwardMessageQueueHeads (r:1 w:1)
+	/// Proof Skipped: Dmp DownwardMessageQueueHeads (max_values: None, max_size: None, mode: Measured)
 	fn hrmp_close_channel() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `591`
-		//  Estimated: `4056`
-		// Minimum execution time: 32_153_000 picoseconds.
-		Weight::from_parts(32_982_000, 0)
-			.saturating_add(Weight::from_parts(0, 4056))
-			.saturating_add(T::DbWeight::get().reads(5))
+		//  Measured:  `807`
+		//  Estimated: `4272`
+		// Minimum execution time: 36_594_000 picoseconds.
+		Weight::from_parts(37_090_000, 0)
+			.saturating_add(Weight::from_parts(0, 4272))
+			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(4))
 	}
-	/// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:128 w:128)
-	/// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:128 w:128)
-	/// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpChannels` (r:254 w:254)
-	/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpAcceptedChannelRequestCount` (r:0 w:1)
-	/// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpChannelContents` (r:0 w:254)
-	/// Proof: `Hrmp::HrmpChannelContents` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:0 w:1)
-	/// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Hrmp HrmpIngressChannelsIndex (r:128 w:128)
+	/// Proof Skipped: Hrmp HrmpIngressChannelsIndex (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpEgressChannelsIndex (r:128 w:128)
+	/// Proof Skipped: Hrmp HrmpEgressChannelsIndex (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpChannels (r:254 w:254)
+	/// Proof Skipped: Hrmp HrmpChannels (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpAcceptedChannelRequestCount (r:0 w:1)
+	/// Proof Skipped: Hrmp HrmpAcceptedChannelRequestCount (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpChannelContents (r:0 w:254)
+	/// Proof Skipped: Hrmp HrmpChannelContents (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpOpenChannelRequestCount (r:0 w:1)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequestCount (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `i` is `[0, 127]`.
 	/// The range of component `e` is `[0, 127]`.
 	fn force_clean_hrmp(i: u32, e: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `297 + e * (100 ±0) + i * (100 ±0)`
-		//  Estimated: `3759 + e * (2575 ±0) + i * (2575 ±0)`
-		// Minimum execution time: 1_240_769_000 picoseconds.
-		Weight::from_parts(1_249_285_000, 0)
-			.saturating_add(Weight::from_parts(0, 3759))
-			// Standard Error: 112_346
-			.saturating_add(Weight::from_parts(3_449_114, 0).saturating_mul(i.into()))
-			// Standard Error: 112_346
-			.saturating_add(Weight::from_parts(3_569_184, 0).saturating_mul(e.into()))
+		//  Measured:  `264 + e * (100 ±0) + i * (100 ±0)`
+		//  Estimated: `3726 + e * (2575 ±0) + i * (2575 ±0)`
+		// Minimum execution time: 1_085_140_000 picoseconds.
+		Weight::from_parts(1_100_901_000, 0)
+			.saturating_add(Weight::from_parts(0, 3726))
+			// Standard Error: 98_982
+			.saturating_add(Weight::from_parts(3_229_112, 0).saturating_mul(i.into()))
+			// Standard Error: 98_982
+			.saturating_add(Weight::from_parts(3_210_944, 0).saturating_mul(e.into()))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(e.into())))
@@ -150,139 +155,139 @@ impl<T: frame_system::Config> runtime_parachains::hrmp::WeightInfo for WeightInf
 			.saturating_add(Weight::from_parts(0, 2575).saturating_mul(e.into()))
 			.saturating_add(Weight::from_parts(0, 2575).saturating_mul(i.into()))
 	}
-	/// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:128 w:128)
-	/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ParaLifecycles` (r:256 w:0)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:128 w:128)
-	/// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:128 w:128)
-	/// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:128 w:128)
-	/// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpAcceptedChannelRequestCount` (r:128 w:128)
-	/// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpChannels` (r:0 w:128)
-	/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpOpenChannelRequestsList (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequestsList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpOpenChannelRequests (r:128 w:128)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequests (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras ParaLifecycles (r:256 w:0)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpIngressChannelsIndex (r:128 w:128)
+	/// Proof Skipped: Hrmp HrmpIngressChannelsIndex (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpEgressChannelsIndex (r:128 w:128)
+	/// Proof Skipped: Hrmp HrmpEgressChannelsIndex (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpOpenChannelRequestCount (r:128 w:128)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequestCount (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpAcceptedChannelRequestCount (r:128 w:128)
+	/// Proof Skipped: Hrmp HrmpAcceptedChannelRequestCount (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpChannels (r:0 w:128)
+	/// Proof Skipped: Hrmp HrmpChannels (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `c` is `[0, 128]`.
 	fn force_process_hrmp_open(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `525 + c * (136 ±0)`
-		//  Estimated: `1980 + c * (5086 ±0)`
-		// Minimum execution time: 6_026_000 picoseconds.
-		Weight::from_parts(6_257_000, 0)
-			.saturating_add(Weight::from_parts(0, 1980))
-			// Standard Error: 9_732
-			.saturating_add(Weight::from_parts(21_049_890, 0).saturating_mul(c.into()))
-			.saturating_add(T::DbWeight::get().reads(1))
+		//  Measured:  `779 + c * (136 ±0)`
+		//  Estimated: `2234 + c * (5086 ±0)`
+		// Minimum execution time: 10_497_000 picoseconds.
+		Weight::from_parts(6_987_455, 0)
+			.saturating_add(Weight::from_parts(0, 2234))
+			// Standard Error: 18_540
+			.saturating_add(Weight::from_parts(18_788_534, 0).saturating_mul(c.into()))
+			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(c.into())))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(T::DbWeight::get().writes((6_u64).saturating_mul(c.into())))
 			.saturating_add(Weight::from_parts(0, 5086).saturating_mul(c.into()))
 	}
-	/// Storage: `Hrmp::HrmpCloseChannelRequestsList` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpCloseChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpChannels` (r:128 w:128)
-	/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:128 w:128)
-	/// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:128 w:128)
-	/// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpCloseChannelRequests` (r:0 w:128)
-	/// Proof: `Hrmp::HrmpCloseChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpChannelContents` (r:0 w:128)
-	/// Proof: `Hrmp::HrmpChannelContents` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Hrmp HrmpCloseChannelRequestsList (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpCloseChannelRequestsList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpChannels (r:128 w:128)
+	/// Proof Skipped: Hrmp HrmpChannels (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpEgressChannelsIndex (r:128 w:128)
+	/// Proof Skipped: Hrmp HrmpEgressChannelsIndex (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpIngressChannelsIndex (r:128 w:128)
+	/// Proof Skipped: Hrmp HrmpIngressChannelsIndex (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpCloseChannelRequests (r:0 w:128)
+	/// Proof Skipped: Hrmp HrmpCloseChannelRequests (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpChannelContents (r:0 w:128)
+	/// Proof Skipped: Hrmp HrmpChannelContents (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `c` is `[0, 128]`.
 	fn force_process_hrmp_close(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `368 + c * (124 ±0)`
-		//  Estimated: `1828 + c * (2600 ±0)`
-		// Minimum execution time: 4_991_000 picoseconds.
-		Weight::from_parts(984_758, 0)
-			.saturating_add(Weight::from_parts(0, 1828))
-			// Standard Error: 11_918
-			.saturating_add(Weight::from_parts(13_018_813, 0).saturating_mul(c.into()))
+		//  Measured:  `335 + c * (124 ±0)`
+		//  Estimated: `1795 + c * (2600 ±0)`
+		// Minimum execution time: 6_575_000 picoseconds.
+		Weight::from_parts(1_228_642, 0)
+			.saturating_add(Weight::from_parts(0, 1795))
+			// Standard Error: 14_826
+			.saturating_add(Weight::from_parts(11_604_038, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(c.into())))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(c.into())))
 			.saturating_add(Weight::from_parts(0, 2600).saturating_mul(c.into()))
 	}
-	/// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Hrmp HrmpOpenChannelRequestsList (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequestsList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpOpenChannelRequests (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequests (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpOpenChannelRequestCount (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequestCount (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `c` is `[0, 128]`.
 	fn hrmp_cancel_open_request(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1059 + c * (13 ±0)`
-		//  Estimated: `4328 + c * (15 ±0)`
-		// Minimum execution time: 17_299_000 picoseconds.
-		Weight::from_parts(27_621_478, 0)
-			.saturating_add(Weight::from_parts(0, 4328))
-			// Standard Error: 2_527
-			.saturating_add(Weight::from_parts(121_149, 0).saturating_mul(c.into()))
+		//  Measured:  `1026 + c * (13 ±0)`
+		//  Estimated: `4295 + c * (15 ±0)`
+		// Minimum execution time: 22_301_000 picoseconds.
+		Weight::from_parts(26_131_473, 0)
+			.saturating_add(Weight::from_parts(0, 4295))
+			// Standard Error: 830
+			.saturating_add(Weight::from_parts(49_448, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(Weight::from_parts(0, 15).saturating_mul(c.into()))
 	}
-	/// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:128 w:128)
-	/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Hrmp HrmpOpenChannelRequestsList (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequestsList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpOpenChannelRequests (r:128 w:128)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequests (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `c` is `[0, 128]`.
 	fn clean_open_channel_requests(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `276 + c * (63 ±0)`
-		//  Estimated: `1755 + c * (2538 ±0)`
-		// Minimum execution time: 3_764_000 picoseconds.
-		Weight::from_parts(5_935_301, 0)
-			.saturating_add(Weight::from_parts(0, 1755))
-			// Standard Error: 3_761
-			.saturating_add(Weight::from_parts(3_290_277, 0).saturating_mul(c.into()))
+		//  Measured:  `243 + c * (63 ±0)`
+		//  Estimated: `1722 + c * (2538 ±0)`
+		// Minimum execution time: 5_234_000 picoseconds.
+		Weight::from_parts(7_350_270, 0)
+			.saturating_add(Weight::from_parts(0, 1722))
+			// Standard Error: 3_105
+			.saturating_add(Weight::from_parts(2_981_935, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(c.into())))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(c.into())))
 			.saturating_add(Weight::from_parts(0, 2538).saturating_mul(c.into()))
 	}
-	/// Storage: `Hrmp::HrmpOpenChannelRequests` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpOpenChannelRequests` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpOpenChannelRequestsList` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpOpenChannelRequestsList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpOpenChannelRequestCount` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpOpenChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpChannels` (r:1 w:0)
-	/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpEgressChannelsIndex` (r:1 w:0)
-	/// Proof: `Hrmp::HrmpEgressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:2 w:2)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueueHeads` (r:2 w:2)
-	/// Proof: `Dmp::DownwardMessageQueueHeads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpIngressChannelsIndex` (r:1 w:0)
-	/// Proof: `Hrmp::HrmpIngressChannelsIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpAcceptedChannelRequestCount` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `c` is `[0, 1]`.
-	fn force_open_hrmp_channel(c: u32, ) -> Weight {
+	/// Storage: Paras ParaLifecycles (r:2 w:0)
+	/// Proof Skipped: Paras ParaLifecycles (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpOpenChannelRequests (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequests (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpChannels (r:1 w:0)
+	/// Proof Skipped: Hrmp HrmpChannels (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpEgressChannelsIndex (r:1 w:0)
+	/// Proof Skipped: Hrmp HrmpEgressChannelsIndex (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpOpenChannelRequestCount (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequestCount (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpOpenChannelRequestsList (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpOpenChannelRequestsList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Dmp DownwardMessageQueues (r:2 w:2)
+	/// Proof Skipped: Dmp DownwardMessageQueues (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Dmp DownwardMessageQueueHeads (r:2 w:2)
+	/// Proof Skipped: Dmp DownwardMessageQueueHeads (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpIngressChannelsIndex (r:1 w:0)
+	/// Proof Skipped: Hrmp HrmpIngressChannelsIndex (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Hrmp HrmpAcceptedChannelRequestCount (r:1 w:1)
+	/// Proof Skipped: Hrmp HrmpAcceptedChannelRequestCount (max_values: None, max_size: None, mode: Measured)
+	fn force_open_hrmp_channel(_c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `488 + c * (235 ±0)`
-		//  Estimated: `6428 + c * (235 ±0)`
-		// Minimum execution time: 49_506_000 picoseconds.
-		Weight::from_parts(51_253_075, 0)
-			.saturating_add(Weight::from_parts(0, 6428))
-			// Standard Error: 144_082
-			.saturating_add(Weight::from_parts(12_862_224, 0).saturating_mul(c.into()))
-			.saturating_add(T::DbWeight::get().reads(12))
+		//  Measured:  `704`
+		//  Estimated: `6644`
+		// Minimum execution time: 55_611_000 picoseconds.
+		Weight::from_parts(56_488_000, 0)
+			.saturating_add(Weight::from_parts(0, 6644))
+			.saturating_add(T::DbWeight::get().reads(14))
 			.saturating_add(T::DbWeight::get().writes(8))
-			.saturating_add(Weight::from_parts(0, 235).saturating_mul(c.into()))
 	}
 	/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
 	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
@@ -306,11 +311,11 @@ impl<T: frame_system::Config> runtime_parachains::hrmp::WeightInfo for WeightInf
 	/// Proof: `Hrmp::HrmpAcceptedChannelRequestCount` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn establish_system_channel() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `488`
-		//  Estimated: `6428`
-		// Minimum execution time: 50_016_000 picoseconds.
-		Weight::from_parts(50_933_000, 0)
-			.saturating_add(Weight::from_parts(0, 6428))
+		//  Measured:  `417`
+		//  Estimated: `6357`
+		// Minimum execution time: 629_674_000 picoseconds.
+		Weight::from_parts(640_174_000, 0)
+			.saturating_add(Weight::from_parts(0, 6357))
 			.saturating_add(T::DbWeight::get().reads(12))
 			.saturating_add(T::DbWeight::get().writes(8))
 	}
@@ -318,11 +323,11 @@ impl<T: frame_system::Config> runtime_parachains::hrmp::WeightInfo for WeightInf
 	/// Proof: `Hrmp::HrmpChannels` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	fn poke_channel_deposits() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `296`
-		//  Estimated: `3761`
-		// Minimum execution time: 12_280_000 picoseconds.
-		Weight::from_parts(12_863_000, 0)
-			.saturating_add(Weight::from_parts(0, 3761))
+		//  Measured:  `263`
+		//  Estimated: `3728`
+		// Minimum execution time: 173_371_000 picoseconds.
+		Weight::from_parts(175_860_000, 0)
+			.saturating_add(Weight::from_parts(0, 3728))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/polkadot/runtime/rococo/src/weights/runtime_parachains_inclusion.rs b/polkadot/runtime/rococo/src/weights/runtime_parachains_inclusion.rs
index b9ec7565bd5..a121ad774ce 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_parachains_inclusion.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_parachains_inclusion.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `runtime_parachains::inclusion`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=runtime_parachains::inclusion
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_parachains_inclusion.rs
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/runtime_parachains_inclusion.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,25 +47,27 @@ use core::marker::PhantomData;
 /// Weight functions for `runtime_parachains::inclusion`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> runtime_parachains::inclusion::WeightInfo for WeightInfo<T> {
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::Pages` (r:1 w:999)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(32818), added: 35293, mode: `MaxEncodedLen`)
-	/// Storage: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
-	/// Storage: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
+	/// Storage: MessageQueue BookStateFor (r:1 w:1)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(55), added: 2530, mode: MaxEncodedLen)
+	/// Storage: MessageQueue Pages (r:1 w:999)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(32818), added: 35293, mode: MaxEncodedLen)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: unknown `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
+	/// Proof Skipped: unknown `0x3a72656c61795f64697370617463685f71756575655f72656d61696e696e675f` (r:0 w:1)
+	/// Storage: unknown `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
+	/// Proof Skipped: unknown `0xf5207f03cfdce586301014700e2c2593fad157e461d71fd4c1f936839a5f1f3e` (r:0 w:1)
 	/// The range of component `i` is `[1, 1000]`.
 	fn receive_upward_messages(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `32993`
+		//  Measured:  `33280`
 		//  Estimated: `36283`
-		// Minimum execution time: 72_675_000 picoseconds.
-		Weight::from_parts(73_290_000, 0)
+		// Minimum execution time: 71_094_000 picoseconds.
+		Weight::from_parts(71_436_000, 0)
 			.saturating_add(Weight::from_parts(0, 36283))
-			// Standard Error: 16_067
-			.saturating_add(Weight::from_parts(57_735_739, 0).saturating_mul(i.into()))
-			.saturating_add(T::DbWeight::get().reads(2))
+			// Standard Error: 22_149
+			.saturating_add(Weight::from_parts(51_495_472, 0).saturating_mul(i.into()))
+			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(3))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
diff --git a/polkadot/runtime/rococo/src/weights/runtime_parachains_initializer.rs b/polkadot/runtime/rococo/src/weights/runtime_parachains_initializer.rs
index e8c554610c9..5c627507dfb 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_parachains_initializer.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_parachains_initializer.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `runtime_parachains::initializer`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=runtime_parachains::initializer
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_parachains_initializer.rs
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/runtime_parachains_initializer.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,18 +47,18 @@ use core::marker::PhantomData;
 /// Weight functions for `runtime_parachains::initializer`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> runtime_parachains::initializer::WeightInfo for WeightInfo<T> {
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: System Digest (r:1 w:1)
+	/// Proof Skipped: System Digest (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `d` is `[0, 65536]`.
 	fn force_approve(d: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + d * (11 ±0)`
 		//  Estimated: `1480 + d * (11 ±0)`
-		// Minimum execution time: 2_634_000 picoseconds.
-		Weight::from_parts(2_728_000, 0)
+		// Minimum execution time: 3_771_000 picoseconds.
+		Weight::from_parts(6_491_437, 0)
 			.saturating_add(Weight::from_parts(0, 1480))
-			// Standard Error: 19
-			.saturating_add(Weight::from_parts(2_499, 0).saturating_mul(d.into()))
+			// Standard Error: 9
+			.saturating_add(Weight::from_parts(1_356, 0).saturating_mul(d.into()))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 			.saturating_add(Weight::from_parts(0, 11).saturating_mul(d.into()))
diff --git a/polkadot/runtime/rococo/src/weights/runtime_parachains_paras.rs b/polkadot/runtime/rococo/src/weights/runtime_parachains_paras.rs
index af26bfc9ae9..dfd95006dc7 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_parachains_paras.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_parachains_paras.rs
@@ -16,11 +16,11 @@
 
 //! Autogenerated weights for `runtime_parachains::paras`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-05-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! HOSTNAME: `bm5`, CPU: `Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 1024
 
 // Executed Command:
 // ./target/production/polkadot
@@ -29,15 +29,12 @@
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=runtime_parachains::paras
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_parachains_paras.rs
+// --header=./file_header.txt
+// --output=./runtime/rococo/src/weights/runtime_parachains_paras.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -50,248 +47,247 @@ use core::marker::PhantomData;
 /// Weight functions for `runtime_parachains::paras`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> runtime_parachains::paras::WeightInfo for WeightInfo<T> {
-	/// Storage: `Paras::CurrentCodeHash` (r:1 w:1)
-	/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CodeByHashRefs` (r:1 w:1)
-	/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PastCodeMeta` (r:1 w:1)
-	/// Proof: `Paras::PastCodeMeta` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PastCodePruning` (r:1 w:1)
-	/// Proof: `Paras::PastCodePruning` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PastCodeHash` (r:0 w:1)
-	/// Proof: `Paras::PastCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CodeByHash` (r:0 w:1)
-	/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Paras CurrentCodeHash (r:1 w:1)
+	/// Proof Skipped: Paras CurrentCodeHash (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras CodeByHashRefs (r:1 w:1)
+	/// Proof Skipped: Paras CodeByHashRefs (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras PastCodeMeta (r:1 w:1)
+	/// Proof Skipped: Paras PastCodeMeta (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras PastCodePruning (r:1 w:1)
+	/// Proof Skipped: Paras PastCodePruning (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PastCodeHash (r:0 w:1)
+	/// Proof Skipped: Paras PastCodeHash (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras CodeByHash (r:0 w:1)
+	/// Proof Skipped: Paras CodeByHash (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `c` is `[1, 3145728]`.
 	fn force_set_current_code(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `8309`
 		//  Estimated: `11774`
-		// Minimum execution time: 27_488_000 picoseconds.
-		Weight::from_parts(27_810_000, 0)
+		// Minimum execution time: 31_941_000 picoseconds.
+		Weight::from_parts(32_139_000, 0)
 			.saturating_add(Weight::from_parts(0, 11774))
-			// Standard Error: 8
-			.saturating_add(Weight::from_parts(2_189, 0).saturating_mul(c.into()))
+			// Standard Error: 5
+			.saturating_add(Weight::from_parts(2_011, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(4))
 			.saturating_add(T::DbWeight::get().writes(6))
 	}
-	/// Storage: `Paras::Heads` (r:0 w:1)
-	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Paras Heads (r:0 w:1)
+	/// Proof Skipped: Paras Heads (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `s` is `[1, 1048576]`.
 	fn force_set_current_head(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_793_000 picoseconds.
-		Weight::from_parts(7_987_606, 0)
+		// Minimum execution time: 8_275_000 picoseconds.
+		Weight::from_parts(8_321_000, 0)
 			.saturating_add(Weight::from_parts(0, 0))
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(971, 0).saturating_mul(s.into()))
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(858, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Paras::MostRecentContext` (r:0 w:1)
-	/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	// Storage: Paras Heads (r:0 w:1)
 	fn force_set_most_recent_context() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 2_733_000 picoseconds.
-		Weight::from_parts(2_954_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-			.saturating_add(T::DbWeight::get().writes(1))
+		Weight::from_parts(10_155_000, 0)
+			// Standard Error: 0
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
-	/// Storage: `Paras::FutureCodeHash` (r:1 w:1)
-	/// Proof: `Paras::FutureCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CurrentCodeHash` (r:1 w:0)
-	/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::UpgradeCooldowns` (r:1 w:1)
-	/// Proof: `Paras::UpgradeCooldowns` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CodeByHash` (r:1 w:1)
-	/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CodeByHashRefs` (r:1 w:1)
-	/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::UpgradeRestrictionSignal` (r:0 w:1)
-	/// Proof: `Paras::UpgradeRestrictionSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras FutureCodeHash (r:1 w:1)
+	/// Proof Skipped: Paras FutureCodeHash (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras CurrentCodeHash (r:1 w:0)
+	/// Proof Skipped: Paras CurrentCodeHash (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras UpgradeCooldowns (r:1 w:1)
+	/// Proof Skipped: Paras UpgradeCooldowns (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteMap (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteMap (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras CodeByHash (r:1 w:1)
+	/// Proof Skipped: Paras CodeByHash (max_values: None, max_size: None, mode: Measured)
+	/// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
+	/// Proof Skipped: ParasShared ActiveValidatorKeys (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteList (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras CodeByHashRefs (r:1 w:1)
+	/// Proof Skipped: Paras CodeByHashRefs (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras UpgradeRestrictionSignal (r:0 w:1)
+	/// Proof Skipped: Paras UpgradeRestrictionSignal (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `c` is `[1, 3145728]`.
 	fn force_schedule_code_upgrade(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `8452`
-		//  Estimated: `11917`
-		// Minimum execution time: 6_072_000 picoseconds.
-		Weight::from_parts(6_128_000, 0)
-			.saturating_add(Weight::from_parts(0, 11917))
-			// Standard Error: 2
-			.saturating_add(Weight::from_parts(2_334, 0).saturating_mul(c.into()))
-			.saturating_add(T::DbWeight::get().reads(7))
-			.saturating_add(T::DbWeight::get().writes(6))
+		//  Measured:  `8715`
+		//  Estimated: `12180`
+		// Minimum execution time: 49_923_000 picoseconds.
+		Weight::from_parts(50_688_000, 0)
+			.saturating_add(Weight::from_parts(0, 12180))
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(1_976, 0).saturating_mul(c.into()))
+			.saturating_add(T::DbWeight::get().reads(9))
+			.saturating_add(T::DbWeight::get().writes(7))
 	}
-	/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
-	/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Registrar::Paras` (r:1 w:0)
-	/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::Heads` (r:0 w:1)
-	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
-	/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::MostRecentContext` (r:0 w:1)
-	/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Paras FutureCodeUpgrades (r:1 w:0)
+	/// Proof Skipped: Paras FutureCodeUpgrades (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras Heads (r:0 w:1)
+	/// Proof Skipped: Paras Heads (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras UpgradeGoAheadSignal (r:0 w:1)
+	/// Proof Skipped: Paras UpgradeGoAheadSignal (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `s` is `[1, 1048576]`.
 	fn force_note_new_head(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `163`
-		//  Estimated: `3628`
-		// Minimum execution time: 15_166_000 picoseconds.
-		Weight::from_parts(21_398_053, 0)
-			.saturating_add(Weight::from_parts(0, 3628))
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(976, 0).saturating_mul(s.into()))
-			.saturating_add(T::DbWeight::get().reads(2))
-			.saturating_add(T::DbWeight::get().writes(3))
+		//  Measured:  `95`
+		//  Estimated: `3560`
+		// Minimum execution time: 14_408_000 picoseconds.
+		Weight::from_parts(14_647_000, 0)
+			.saturating_add(Weight::from_parts(0, 3560))
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(858, 0).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(2))
 	}
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ActionsQueue` (r:1 w:1)
-	/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras ActionsQueue (r:1 w:1)
+	/// Proof Skipped: Paras ActionsQueue (max_values: None, max_size: None, mode: Measured)
 	fn force_queue_action() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `4312`
-		//  Estimated: `7777`
-		// Minimum execution time: 16_345_000 picoseconds.
-		Weight::from_parts(16_712_000, 0)
-			.saturating_add(Weight::from_parts(0, 7777))
+		//  Measured:  `4288`
+		//  Estimated: `7753`
+		// Minimum execution time: 20_009_000 picoseconds.
+		Weight::from_parts(20_518_000, 0)
+			.saturating_add(Weight::from_parts(0, 7753))
 			.saturating_add(T::DbWeight::get().reads(2))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ActionsQueue` (r:1 w:1)
-	/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Paras PvfActiveVoteMap (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteMap (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteList (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras ActionsQueue (r:1 w:1)
+	/// Proof Skipped: Paras ActionsQueue (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `c` is `[1, 3145728]`.
 	fn add_trusted_validation_code(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `683`
-		//  Estimated: `4148`
-		// Minimum execution time: 78_076_000 picoseconds.
-		Weight::from_parts(123_193_814, 0)
-			.saturating_add(Weight::from_parts(0, 4148))
-			// Standard Error: 5
-			.saturating_add(Weight::from_parts(1_770, 0).saturating_mul(c.into()))
-			.saturating_add(T::DbWeight::get().reads(4))
+		//  Measured:  `946`
+		//  Estimated: `4411`
+		// Minimum execution time: 80_626_000 picoseconds.
+		Weight::from_parts(52_721_755, 0)
+			.saturating_add(Weight::from_parts(0, 4411))
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(1_443, 0).saturating_mul(c.into()))
+			.saturating_add(T::DbWeight::get().reads(5))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `Paras::CodeByHashRefs` (r:1 w:0)
-	/// Proof: `Paras::CodeByHashRefs` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CodeByHash` (r:0 w:1)
-	/// Proof: `Paras::CodeByHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Paras CodeByHashRefs (r:1 w:0)
+	/// Proof Skipped: Paras CodeByHashRefs (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras CodeByHash (r:0 w:1)
+	/// Proof Skipped: Paras CodeByHash (max_values: None, max_size: None, mode: Measured)
 	fn poke_unused_validation_code() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `28`
 		//  Estimated: `3493`
-		// Minimum execution time: 5_184_000 picoseconds.
-		Weight::from_parts(5_430_000, 0)
+		// Minimum execution time: 6_692_000 picoseconds.
+		Weight::from_parts(7_009_000, 0)
 			.saturating_add(Weight::from_parts(0, 3493))
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
+	/// Proof Skipped: ParasShared ActiveValidatorKeys (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteMap (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteMap (max_values: None, max_size: None, mode: Measured)
 	fn include_pvf_check_statement() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `26706`
-		//  Estimated: `30171`
-		// Minimum execution time: 102_995_000 picoseconds.
-		Weight::from_parts(108_977_000, 0)
-			.saturating_add(Weight::from_parts(0, 30171))
+		//  Measured:  `26682`
+		//  Estimated: `30147`
+		// Minimum execution time: 87_994_000 picoseconds.
+		Weight::from_parts(89_933_000, 0)
+			.saturating_add(Weight::from_parts(0, 30147))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::UpcomingUpgrades` (r:1 w:1)
-	/// Proof: `Paras::UpcomingUpgrades` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::FutureCodeUpgrades` (r:0 w:100)
-	/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
+	/// Proof Skipped: ParasShared ActiveValidatorKeys (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteMap (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteMap (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteList (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras UpcomingUpgrades (r:1 w:1)
+	/// Proof Skipped: Paras UpcomingUpgrades (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: System Digest (r:1 w:1)
+	/// Proof Skipped: System Digest (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras FutureCodeUpgrades (r:0 w:100)
+	/// Proof Skipped: Paras FutureCodeUpgrades (max_values: None, max_size: None, mode: Measured)
 	fn include_pvf_check_statement_finalize_upgrade_accept() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `27360`
-		//  Estimated: `30825`
-		// Minimum execution time: 709_433_000 picoseconds.
-		Weight::from_parts(725_074_000, 0)
-			.saturating_add(Weight::from_parts(0, 30825))
-			.saturating_add(T::DbWeight::get().reads(6))
+		//  Measured:  `27523`
+		//  Estimated: `30988`
+		// Minimum execution time: 783_222_000 picoseconds.
+		Weight::from_parts(794_959_000, 0)
+			.saturating_add(Weight::from_parts(0, 30988))
+			.saturating_add(T::DbWeight::get().reads(7))
 			.saturating_add(T::DbWeight::get().writes(104))
 	}
-	/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
+	/// Proof Skipped: ParasShared ActiveValidatorKeys (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteMap (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteMap (max_values: None, max_size: None, mode: Measured)
 	fn include_pvf_check_statement_finalize_upgrade_reject() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `27338`
-		//  Estimated: `30803`
-		// Minimum execution time: 98_973_000 picoseconds.
-		Weight::from_parts(104_715_000, 0)
-			.saturating_add(Weight::from_parts(0, 30803))
+		//  Measured:  `27214`
+		//  Estimated: `30679`
+		// Minimum execution time: 87_424_000 picoseconds.
+		Weight::from_parts(88_737_000, 0)
+			.saturating_add(Weight::from_parts(0, 30679))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteList` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteList` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ActionsQueue` (r:1 w:1)
-	/// Proof: `Paras::ActionsQueue` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
+	/// Proof Skipped: ParasShared ActiveValidatorKeys (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteMap (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteMap (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteList (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteList (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Configuration ActiveConfig (r:1 w:0)
+	/// Proof Skipped: Configuration ActiveConfig (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras ActionsQueue (r:1 w:1)
+	/// Proof Skipped: Paras ActionsQueue (max_values: None, max_size: None, mode: Measured)
 	fn include_pvf_check_statement_finalize_onboarding_accept() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `26728`
-		//  Estimated: `30193`
-		// Minimum execution time: 550_958_000 picoseconds.
-		Weight::from_parts(564_497_000, 0)
-			.saturating_add(Weight::from_parts(0, 30193))
-			.saturating_add(T::DbWeight::get().reads(5))
+		//  Measured:  `26991`
+		//  Estimated: `30456`
+		// Minimum execution time: 612_485_000 picoseconds.
+		Weight::from_parts(621_670_000, 0)
+			.saturating_add(Weight::from_parts(0, 30456))
+			.saturating_add(T::DbWeight::get().reads(6))
 			.saturating_add(T::DbWeight::get().writes(3))
 	}
-	/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::PvfActiveVoteMap` (r:1 w:1)
-	/// Proof: `Paras::PvfActiveVoteMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
+	/// Proof Skipped: ParasShared ActiveValidatorKeys (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	/// Proof Skipped: ParasShared CurrentSessionIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Paras PvfActiveVoteMap (r:1 w:1)
+	/// Proof Skipped: Paras PvfActiveVoteMap (max_values: None, max_size: None, mode: Measured)
 	fn include_pvf_check_statement_finalize_onboarding_reject() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `26706`
-		//  Estimated: `30171`
-		// Minimum execution time: 97_088_000 picoseconds.
-		Weight::from_parts(103_617_000, 0)
-			.saturating_add(Weight::from_parts(0, 30171))
+		//  Measured:  `26682`
+		//  Estimated: `30147`
+		// Minimum execution time: 86_673_000 picoseconds.
+		Weight::from_parts(87_424_000, 0)
+			.saturating_add(Weight::from_parts(0, 30147))
 			.saturating_add(T::DbWeight::get().reads(3))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
diff --git a/polkadot/runtime/rococo/src/weights/runtime_parachains_paras_inherent.rs b/polkadot/runtime/rococo/src/weights/runtime_parachains_paras_inherent.rs
index 374927f8470..a102d1903b2 100644
--- a/polkadot/runtime/rococo/src/weights/runtime_parachains_paras_inherent.rs
+++ b/polkadot/runtime/rococo/src/weights/runtime_parachains_paras_inherent.rs
@@ -13,334 +13,161 @@
 
 // You should have received a copy of the GNU General Public License
 // along with Polkadot.  If not, see <http://www.gnu.org/licenses/>.
-
 //! Autogenerated weights for `runtime_parachains::paras_inherent`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-02-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("rococo-dev")`, DB CACHE: 1024
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2021-11-20, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("rococo-dev"), DB CACHE: 128
 
 // Executed Command:
-// ./target/production/polkadot
+// target/release/polkadot
 // benchmark
-// pallet
 // --chain=rococo-dev
 // --steps=50
 // --repeat=20
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --pallet=runtime_parachains::paras_inherent
 // --extrinsic=*
 // --execution=wasm
 // --wasm-execution=compiled
-// --header=./polkadot/file_header.txt
-// --output=./polkadot/runtime/rococo/src/weights/runtime_parachains_paras_inherent.rs
+// --heap-pages=4096
+// --output=./runtime/rococo/src/weights/runtime_parachains_paras_inherent.rs
+// --header=./file_header.txt
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
 #![allow(unused_imports)]
-#![allow(missing_docs)]
 
 use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
+use sp_std::marker::PhantomData;
 
 /// Weight functions for `runtime_parachains::paras_inherent`.
 pub struct WeightInfo<T>(PhantomData<T>);
 impl<T: frame_system::Config> runtime_parachains::paras_inherent::WeightInfo for WeightInfo<T> {
-	/// Storage: `ParaInherent::Included` (r:1 w:1)
-	/// Proof: `ParaInherent::Included` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::ParentHash` (r:1 w:0)
-	/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `ParasShared::AllowedRelayParents` (r:1 w:1)
-	/// Proof: `ParasShared::AllowedRelayParents` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::AvailabilityCores` (r:1 w:1)
-	/// Proof: `ParaScheduler::AvailabilityCores` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Babe::AuthorVrfRandomness` (r:1 w:0)
-	/// Proof: `Babe::AuthorVrfRandomness` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
-	/// Storage: `ParaSessionInfo::Sessions` (r:1 w:0)
-	/// Proof: `ParaSessionInfo::Sessions` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasDisputes::Disputes` (r:1 w:1)
-	/// Proof: `ParasDisputes::Disputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasDisputes::BackersOnDisputes` (r:1 w:1)
-	/// Proof: `ParasDisputes::BackersOnDisputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasDisputes::Included` (r:1 w:1)
-	/// Proof: `ParasDisputes::Included` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaInherent::OnChainVotes` (r:1 w:1)
-	/// Proof: `ParaInherent::OnChainVotes` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasDisputes::Frozen` (r:1 w:0)
-	/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaInclusion::PendingAvailability` (r:2 w:1)
-	/// Proof: `ParaInclusion::PendingAvailability` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaInclusion::PendingAvailabilityCommitments` (r:1 w:1)
-	/// Proof: `ParaInclusion::PendingAvailabilityCommitments` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:1)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpChannelDigests` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpChannelDigests` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
-	/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Registrar::Paras` (r:1 w:0)
-	/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::SessionStartBlock` (r:1 w:0)
-	/// Proof: `ParaScheduler::SessionStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::ValidatorGroups` (r:1 w:0)
-	/// Proof: `ParaScheduler::ValidatorGroups` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::ClaimQueue` (r:1 w:1)
-	/// Proof: `ParaScheduler::ClaimQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `CoretimeAssignmentProvider::CoreDescriptors` (r:1 w:1)
-	/// Proof: `CoretimeAssignmentProvider::CoreDescriptors` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::ActiveValidatorIndices` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Session::DisabledValidators` (r:1 w:0)
-	/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpWatermarks` (r:0 w:1)
-	/// Proof: `Hrmp::HrmpWatermarks` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::Heads` (r:0 w:1)
-	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
-	/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::MostRecentContext` (r:0 w:1)
-	/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `v` is `[10, 200]`.
+	// Storage: ParaInherent Included (r:1 w:1)
+	// Storage: System ParentHash (r:1 w:0)
+	// Storage: ParaScheduler AvailabilityCores (r:1 w:1)
+	// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	// Storage: Configuration ActiveConfig (r:1 w:0)
+	// Storage: ParaSessionInfo Sessions (r:1 w:0)
+	// Storage: ParasDisputes Disputes (r:1 w:1)
+	// Storage: ParasDisputes Included (r:1 w:1)
+	// Storage: ParasDisputes SpamSlots (r:1 w:1)
+	// Storage: ParasDisputes Frozen (r:1 w:0)
+	// Storage: ParaInclusion PendingAvailability (r:2 w:1)
+	// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
+	// Storage: Paras Parachains (r:1 w:0)
+	// Storage: ParaInclusion PendingAvailabilityCommitments (r:1 w:1)
+	// Storage: Dmp DownwardMessageQueues (r:1 w:1)
+	// Storage: Hrmp HrmpChannelDigests (r:1 w:1)
+	// Storage: Paras FutureCodeUpgrades (r:1 w:0)
+	// Storage: ParaScheduler SessionStartBlock (r:1 w:0)
+	// Storage: ParaScheduler ParathreadQueue (r:1 w:1)
+	// Storage: ParaScheduler Scheduled (r:1 w:1)
+	// Storage: ParaScheduler ValidatorGroups (r:1 w:0)
+	// Storage: Ump NeedsDispatch (r:1 w:1)
+	// Storage: Ump NextDispatchRoundStartWith (r:1 w:1)
+	// Storage: ParaInherent OnChainVotes (r:0 w:1)
+	// Storage: Hrmp HrmpWatermarks (r:0 w:1)
+	// Storage: Paras Heads (r:0 w:1)
 	fn enter_variable_disputes(v: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `67819`
-		//  Estimated: `73759 + v * (23 ±0)`
-		// Minimum execution time: 874_229_000 picoseconds.
-		Weight::from_parts(486_359_072, 0)
-			.saturating_add(Weight::from_parts(0, 73759))
-			// Standard Error: 19_197
-			.saturating_add(Weight::from_parts(41_842_161, 0).saturating_mul(v.into()))
-			.saturating_add(T::DbWeight::get().reads(26))
-			.saturating_add(T::DbWeight::get().writes(16))
-			.saturating_add(Weight::from_parts(0, 23).saturating_mul(v.into()))
+		Weight::from_parts(352_590_000 as u64, 0)
+			// Standard Error: 13_000
+			.saturating_add(Weight::from_parts(49_254_000 as u64, 0).saturating_mul(v as u64))
+			.saturating_add(T::DbWeight::get().reads(24 as u64))
+			.saturating_add(T::DbWeight::get().writes(16 as u64))
 	}
-	/// Storage: `ParaInherent::Included` (r:1 w:1)
-	/// Proof: `ParaInherent::Included` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::ParentHash` (r:1 w:0)
-	/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `ParasShared::AllowedRelayParents` (r:1 w:1)
-	/// Proof: `ParasShared::AllowedRelayParents` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::AvailabilityCores` (r:1 w:1)
-	/// Proof: `ParaScheduler::AvailabilityCores` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Babe::AuthorVrfRandomness` (r:1 w:0)
-	/// Proof: `Babe::AuthorVrfRandomness` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
-	/// Storage: `ParaInherent::OnChainVotes` (r:1 w:1)
-	/// Proof: `ParaInherent::OnChainVotes` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasDisputes::Frozen` (r:1 w:0)
-	/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaInclusion::PendingAvailability` (r:2 w:1)
-	/// Proof: `ParaInclusion::PendingAvailability` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaInclusion::PendingAvailabilityCommitments` (r:1 w:1)
-	/// Proof: `ParaInclusion::PendingAvailabilityCommitments` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:1)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpChannelDigests` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpChannelDigests` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
-	/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Registrar::Paras` (r:1 w:0)
-	/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasDisputes::Disputes` (r:1 w:0)
-	/// Proof: `ParasDisputes::Disputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::SessionStartBlock` (r:1 w:0)
-	/// Proof: `ParaScheduler::SessionStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::ValidatorGroups` (r:1 w:0)
-	/// Proof: `ParaScheduler::ValidatorGroups` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::ClaimQueue` (r:1 w:1)
-	/// Proof: `ParaScheduler::ClaimQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `CoretimeAssignmentProvider::CoreDescriptors` (r:1 w:1)
-	/// Proof: `CoretimeAssignmentProvider::CoreDescriptors` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::ActiveValidatorIndices` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Session::DisabledValidators` (r:1 w:0)
-	/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaInclusion::AvailabilityBitfields` (r:0 w:1)
-	/// Proof: `ParaInclusion::AvailabilityBitfields` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasDisputes::Included` (r:0 w:1)
-	/// Proof: `ParasDisputes::Included` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpWatermarks` (r:0 w:1)
-	/// Proof: `Hrmp::HrmpWatermarks` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::Heads` (r:0 w:1)
-	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
-	/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::MostRecentContext` (r:0 w:1)
-	/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	// Storage: ParaInherent Included (r:1 w:1)
+	// Storage: System ParentHash (r:1 w:0)
+	// Storage: ParaScheduler AvailabilityCores (r:1 w:1)
+	// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	// Storage: Configuration ActiveConfig (r:1 w:0)
+	// Storage: ParasDisputes Frozen (r:1 w:0)
+	// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
+	// Storage: Paras Parachains (r:1 w:0)
+	// Storage: ParaInclusion PendingAvailability (r:2 w:1)
+	// Storage: ParaInclusion PendingAvailabilityCommitments (r:1 w:1)
+	// Storage: Dmp DownwardMessageQueues (r:1 w:1)
+	// Storage: Hrmp HrmpChannelDigests (r:1 w:1)
+	// Storage: Paras FutureCodeUpgrades (r:1 w:0)
+	// Storage: ParasDisputes Disputes (r:1 w:0)
+	// Storage: ParaScheduler SessionStartBlock (r:1 w:0)
+	// Storage: ParaScheduler ParathreadQueue (r:1 w:1)
+	// Storage: ParaScheduler Scheduled (r:1 w:1)
+	// Storage: ParaScheduler ValidatorGroups (r:1 w:0)
+	// Storage: Ump NeedsDispatch (r:1 w:1)
+	// Storage: Ump NextDispatchRoundStartWith (r:1 w:1)
+	// Storage: ParaInclusion AvailabilityBitfields (r:0 w:1)
+	// Storage: ParaInherent OnChainVotes (r:0 w:1)
+	// Storage: ParasDisputes Included (r:0 w:1)
+	// Storage: Hrmp HrmpWatermarks (r:0 w:1)
+	// Storage: Paras Heads (r:0 w:1)
 	fn enter_bitfields() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `42791`
-		//  Estimated: `48731`
-		// Minimum execution time: 428_757_000 picoseconds.
-		Weight::from_parts(449_681_000, 0)
-			.saturating_add(Weight::from_parts(0, 48731))
-			.saturating_add(T::DbWeight::get().reads(24))
-			.saturating_add(T::DbWeight::get().writes(17))
+		Weight::from_parts(299_878_000 as u64, 0)
+			.saturating_add(T::DbWeight::get().reads(21 as u64))
+			.saturating_add(T::DbWeight::get().writes(15 as u64))
 	}
-	/// Storage: `ParaInherent::Included` (r:1 w:1)
-	/// Proof: `ParaInherent::Included` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::ParentHash` (r:1 w:0)
-	/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `ParasShared::AllowedRelayParents` (r:1 w:1)
-	/// Proof: `ParasShared::AllowedRelayParents` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::AvailabilityCores` (r:1 w:1)
-	/// Proof: `ParaScheduler::AvailabilityCores` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Babe::AuthorVrfRandomness` (r:1 w:0)
-	/// Proof: `Babe::AuthorVrfRandomness` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
-	/// Storage: `ParaInherent::OnChainVotes` (r:1 w:1)
-	/// Proof: `ParaInherent::OnChainVotes` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasDisputes::Frozen` (r:1 w:0)
-	/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaInclusion::PendingAvailability` (r:2 w:1)
-	/// Proof: `ParaInclusion::PendingAvailability` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaInclusion::PendingAvailabilityCommitments` (r:1 w:1)
-	/// Proof: `ParaInclusion::PendingAvailabilityCommitments` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:1)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpChannelDigests` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpChannelDigests` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
-	/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Registrar::Paras` (r:1 w:0)
-	/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasDisputes::Disputes` (r:1 w:0)
-	/// Proof: `ParasDisputes::Disputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::SessionStartBlock` (r:1 w:0)
-	/// Proof: `ParaScheduler::SessionStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::ValidatorGroups` (r:1 w:0)
-	/// Proof: `ParaScheduler::ValidatorGroups` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::ClaimQueue` (r:1 w:1)
-	/// Proof: `ParaScheduler::ClaimQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `CoretimeAssignmentProvider::CoreDescriptors` (r:1 w:1)
-	/// Proof: `CoretimeAssignmentProvider::CoreDescriptors` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CurrentCodeHash` (r:1 w:0)
-	/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
-	/// Storage: `ParasShared::ActiveValidatorIndices` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Session::DisabledValidators` (r:1 w:0)
-	/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasDisputes::Included` (r:0 w:1)
-	/// Proof: `ParasDisputes::Included` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpWatermarks` (r:0 w:1)
-	/// Proof: `Hrmp::HrmpWatermarks` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::Heads` (r:0 w:1)
-	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
-	/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::MostRecentContext` (r:0 w:1)
-	/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// The range of component `v` is `[101, 200]`.
-	fn enter_backed_candidates_variable(v: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `42863`
-		//  Estimated: `48803`
-		// Minimum execution time: 1_276_079_000 picoseconds.
-		Weight::from_parts(1_313_585_212, 0)
-			.saturating_add(Weight::from_parts(0, 48803))
-			// Standard Error: 18_279
-			.saturating_add(Weight::from_parts(43_528, 0).saturating_mul(v.into()))
-			.saturating_add(T::DbWeight::get().reads(27))
-			.saturating_add(T::DbWeight::get().writes(16))
+	// Storage: ParaInherent Included (r:1 w:1)
+	// Storage: System ParentHash (r:1 w:0)
+	// Storage: ParaScheduler AvailabilityCores (r:1 w:1)
+	// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	// Storage: Configuration ActiveConfig (r:1 w:0)
+	// Storage: ParasDisputes Frozen (r:1 w:0)
+	// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
+	// Storage: Paras Parachains (r:1 w:0)
+	// Storage: ParaInclusion PendingAvailability (r:2 w:1)
+	// Storage: ParaInclusion PendingAvailabilityCommitments (r:1 w:1)
+	// Storage: Dmp DownwardMessageQueues (r:1 w:1)
+	// Storage: Hrmp HrmpChannelDigests (r:1 w:1)
+	// Storage: Paras FutureCodeUpgrades (r:1 w:0)
+	// Storage: ParasDisputes Disputes (r:2 w:0)
+	// Storage: ParaScheduler SessionStartBlock (r:1 w:0)
+	// Storage: ParaScheduler ParathreadQueue (r:1 w:1)
+	// Storage: ParaScheduler Scheduled (r:1 w:1)
+	// Storage: ParaScheduler ValidatorGroups (r:1 w:0)
+	// Storage: Paras PastCodeMeta (r:1 w:0)
+	// Storage: Paras CurrentCodeHash (r:1 w:0)
+	// Storage: Ump RelayDispatchQueueSize (r:1 w:0)
+	// Storage: Ump NeedsDispatch (r:1 w:1)
+	// Storage: Ump NextDispatchRoundStartWith (r:1 w:1)
+	// Storage: ParaInherent OnChainVotes (r:0 w:1)
+	// Storage: ParasDisputes Included (r:0 w:1)
+	// Storage: Hrmp HrmpWatermarks (r:0 w:1)
+	// Storage: Paras Heads (r:0 w:1)
+	fn enter_backed_candidates_variable(_v: u32) -> Weight {
+		Weight::from_parts(442_472_000 as u64, 0)
+			.saturating_add(T::DbWeight::get().reads(25 as u64))
+			.saturating_add(T::DbWeight::get().writes(14 as u64))
 	}
-	/// Storage: `ParaInherent::Included` (r:1 w:1)
-	/// Proof: `ParaInherent::Included` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::ParentHash` (r:1 w:0)
-	/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `ParasShared::AllowedRelayParents` (r:1 w:1)
-	/// Proof: `ParasShared::AllowedRelayParents` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::CurrentSessionIndex` (r:1 w:0)
-	/// Proof: `ParasShared::CurrentSessionIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::AvailabilityCores` (r:1 w:1)
-	/// Proof: `ParaScheduler::AvailabilityCores` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasShared::ActiveValidatorKeys` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorKeys` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Babe::AuthorVrfRandomness` (r:1 w:0)
-	/// Proof: `Babe::AuthorVrfRandomness` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
-	/// Storage: `ParaInherent::OnChainVotes` (r:1 w:1)
-	/// Proof: `ParaInherent::OnChainVotes` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasDisputes::Frozen` (r:1 w:0)
-	/// Proof: `ParasDisputes::Frozen` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaInclusion::PendingAvailability` (r:2 w:1)
-	/// Proof: `ParaInclusion::PendingAvailability` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaInclusion::PendingAvailabilityCommitments` (r:1 w:1)
-	/// Proof: `ParaInclusion::PendingAvailabilityCommitments` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DownwardMessageQueues` (r:1 w:1)
-	/// Proof: `Dmp::DownwardMessageQueues` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Dmp::DeliveryFeeFactor` (r:1 w:1)
-	/// Proof: `Dmp::DeliveryFeeFactor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpChannelDigests` (r:1 w:1)
-	/// Proof: `Hrmp::HrmpChannelDigests` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::FutureCodeUpgrades` (r:1 w:0)
-	/// Proof: `Paras::FutureCodeUpgrades` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Registrar::Paras` (r:1 w:0)
-	/// Proof: `Registrar::Paras` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasDisputes::Disputes` (r:1 w:0)
-	/// Proof: `ParasDisputes::Disputes` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::SessionStartBlock` (r:1 w:0)
-	/// Proof: `ParaScheduler::SessionStartBlock` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::ValidatorGroups` (r:1 w:0)
-	/// Proof: `ParaScheduler::ValidatorGroups` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParaScheduler::ClaimQueue` (r:1 w:1)
-	/// Proof: `ParaScheduler::ClaimQueue` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `CoretimeAssignmentProvider::CoreDescriptors` (r:1 w:1)
-	/// Proof: `CoretimeAssignmentProvider::CoreDescriptors` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::CurrentCodeHash` (r:1 w:0)
-	/// Proof: `Paras::CurrentCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::FutureCodeHash` (r:1 w:0)
-	/// Proof: `Paras::FutureCodeHash` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::UpgradeRestrictionSignal` (r:1 w:0)
-	/// Proof: `Paras::UpgradeRestrictionSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::ParaLifecycles` (r:1 w:0)
-	/// Proof: `Paras::ParaLifecycles` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(55), added: 2530, mode: `MaxEncodedLen`)
-	/// Storage: `ParasShared::ActiveValidatorIndices` (r:1 w:0)
-	/// Proof: `ParasShared::ActiveValidatorIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Session::DisabledValidators` (r:1 w:0)
-	/// Proof: `Session::DisabledValidators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ParasDisputes::Included` (r:0 w:1)
-	/// Proof: `ParasDisputes::Included` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Hrmp::HrmpWatermarks` (r:0 w:1)
-	/// Proof: `Hrmp::HrmpWatermarks` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::Heads` (r:0 w:1)
-	/// Proof: `Paras::Heads` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::UpgradeGoAheadSignal` (r:0 w:1)
-	/// Proof: `Paras::UpgradeGoAheadSignal` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Paras::MostRecentContext` (r:0 w:1)
-	/// Proof: `Paras::MostRecentContext` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	// Storage: ParaInherent Included (r:1 w:1)
+	// Storage: System ParentHash (r:1 w:0)
+	// Storage: ParaScheduler AvailabilityCores (r:1 w:1)
+	// Storage: ParasShared CurrentSessionIndex (r:1 w:0)
+	// Storage: Configuration ActiveConfig (r:1 w:0)
+	// Storage: ParasDisputes Frozen (r:1 w:0)
+	// Storage: ParasShared ActiveValidatorKeys (r:1 w:0)
+	// Storage: Paras Parachains (r:1 w:0)
+	// Storage: ParaInclusion PendingAvailability (r:2 w:1)
+	// Storage: ParaInclusion PendingAvailabilityCommitments (r:1 w:1)
+	// Storage: Dmp DownwardMessageQueues (r:1 w:1)
+	// Storage: Hrmp HrmpChannelDigests (r:1 w:1)
+	// Storage: Paras FutureCodeUpgrades (r:1 w:0)
+	// Storage: ParasDisputes Disputes (r:2 w:0)
+	// Storage: ParaScheduler SessionStartBlock (r:1 w:0)
+	// Storage: ParaScheduler ParathreadQueue (r:1 w:1)
+	// Storage: ParaScheduler Scheduled (r:1 w:1)
+	// Storage: ParaScheduler ValidatorGroups (r:1 w:0)
+	// Storage: Paras PastCodeMeta (r:1 w:0)
+	// Storage: Paras CurrentCodeHash (r:1 w:0)
+	// Storage: Ump RelayDispatchQueueSize (r:1 w:0)
+	// Storage: Ump NeedsDispatch (r:1 w:1)
+	// Storage: Ump NextDispatchRoundStartWith (r:1 w:1)
+	// Storage: ParaInherent OnChainVotes (r:0 w:1)
+	// Storage: ParasDisputes Included (r:0 w:1)
+	// Storage: Hrmp HrmpWatermarks (r:0 w:1)
+	// Storage: Paras Heads (r:0 w:1)
 	fn enter_backed_candidate_code_upgrade() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `42876`
-		//  Estimated: `48816`
-		// Minimum execution time: 34_352_245_000 picoseconds.
-		Weight::from_parts(34_587_559_000, 0)
-			.saturating_add(Weight::from_parts(0, 48816))
-			.saturating_add(T::DbWeight::get().reads(29))
-			.saturating_add(T::DbWeight::get().writes(16))
+		Weight::from_parts(36_903_411_000 as u64, 0)
+			.saturating_add(T::DbWeight::get().reads(25 as u64))
+			.saturating_add(T::DbWeight::get().writes(14 as u64))
 	}
 }
diff --git a/polkadot/runtime/test-runtime/Cargo.toml b/polkadot/runtime/test-runtime/Cargo.toml
index bdf68864605..9753a409304 100644
--- a/polkadot/runtime/test-runtime/Cargo.toml
+++ b/polkadot/runtime/test-runtime/Cargo.toml
@@ -155,7 +155,6 @@ runtime-benchmarks = [
 	"pallet-staking/runtime-benchmarks",
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-vesting/runtime-benchmarks",
 	"pallet-xcm/runtime-benchmarks",
 	"polkadot-parachain-primitives/runtime-benchmarks",
diff --git a/polkadot/runtime/test-runtime/src/lib.rs b/polkadot/runtime/test-runtime/src/lib.rs
index a0617b3108f..6c899c52701 100644
--- a/polkadot/runtime/test-runtime/src/lib.rs
+++ b/polkadot/runtime/test-runtime/src/lib.rs
@@ -238,7 +238,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type WeightToFee = WeightToFee;
 	type LengthToFee = frame_support::weights::ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
-	type WeightInfo = ();
 }
 
 parameter_types! {
@@ -394,7 +393,7 @@ where
 
 		let current_block = System::block_number().saturated_into::<u64>().saturating_sub(1);
 		let tip = 0;
-		let tx_ext: TxExtension = (
+		let extra: SignedExtra = (
 			frame_system::CheckNonZeroSender::<Runtime>::new(),
 			frame_system::CheckSpecVersion::<Runtime>::new(),
 			frame_system::CheckTxVersion::<Runtime>::new(),
@@ -406,17 +405,16 @@ where
 			frame_system::CheckNonce::<Runtime>::from(nonce),
 			frame_system::CheckWeight::<Runtime>::new(),
 			pallet_transaction_payment::ChargeTransactionPayment::<Runtime>::from(tip),
-		)
-			.into();
-		let raw_payload = SignedPayload::new(call, tx_ext)
+		);
+		let raw_payload = SignedPayload::new(call, extra)
 			.map_err(|e| {
 				log::warn!("Unable to create signed payload: {:?}", e);
 			})
 			.ok()?;
 		let signature = raw_payload.using_encoded(|payload| C::sign(payload, public))?;
-		let (call, tx_ext, _) = raw_payload.deconstruct();
+		let (call, extra, _) = raw_payload.deconstruct();
 		let address = Indices::unlookup(account);
-		Some((call, (address, signature, tx_ext)))
+		Some((call, (address, signature, extra)))
 	}
 }
 
@@ -444,32 +442,12 @@ parameter_types! {
 	pub Prefix: &'static [u8] = b"Pay KSMs to the Kusama account:";
 }
 
-#[cfg(feature = "runtime-benchmarks")]
-pub struct ClaimsHelper;
-
-#[cfg(feature = "runtime-benchmarks")]
-use frame_support::dispatch::DispatchInfo;
-
-#[cfg(feature = "runtime-benchmarks")]
-impl claims::BenchmarkHelperTrait<RuntimeCall, DispatchInfo> for ClaimsHelper {
-	fn default_call_and_info() -> (RuntimeCall, DispatchInfo) {
-		use frame_support::dispatch::GetDispatchInfo;
-		let call = RuntimeCall::Claims(claims::Call::attest {
-			statement: claims::StatementKind::Regular.to_text().to_vec(),
-		});
-		let info = call.get_dispatch_info();
-		(call, info)
-	}
-}
-
 impl claims::Config for Runtime {
 	type RuntimeEvent = RuntimeEvent;
 	type VestingSchedule = Vesting;
 	type Prefix = Prefix;
 	type MoveClaimOrigin = frame_system::EnsureRoot<AccountId>;
 	type WeightInfo = claims::TestWeightInfo;
-	#[cfg(feature = "runtime-benchmarks")]
-	type BenchmarkHelper = ClaimsHelper;
 }
 
 parameter_types! {
@@ -750,8 +728,8 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 pub type SignedBlock = generic::SignedBlock<Block>;
 /// `BlockId` type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The `SignedExtension` to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -763,7 +741,7 @@ pub type TxExtension = (
 );
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 /// Executive: handles dispatch to the various modules.
 pub type Executive = frame_executive::Executive<
@@ -774,7 +752,7 @@ pub type Executive = frame_executive::Executive<
 	AllPalletsWithSystem,
 >;
 /// The payload being signed in transactions.
-pub type SignedPayload = generic::SignedPayload<RuntimeCall, TxExtension>;
+pub type SignedPayload = generic::SignedPayload<RuntimeCall, SignedExtra>;
 
 pub type Hash = <Block as BlockT>::Hash;
 pub type Extrinsic = <Block as BlockT>::Extrinsic;
diff --git a/polkadot/runtime/westend/Cargo.toml b/polkadot/runtime/westend/Cargo.toml
index 6899edeeaeb..4180828bcfb 100644
--- a/polkadot/runtime/westend/Cargo.toml
+++ b/polkadot/runtime/westend/Cargo.toml
@@ -270,7 +270,6 @@ runtime-benchmarks = [
 	"pallet-state-trie-migration/runtime-benchmarks",
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-treasury/runtime-benchmarks",
 	"pallet-utility/runtime-benchmarks",
 	"pallet-vesting/runtime-benchmarks",
diff --git a/polkadot/runtime/westend/src/lib.rs b/polkadot/runtime/westend/src/lib.rs
index 45bbd0260e5..b55d68ee0f6 100644
--- a/polkadot/runtime/westend/src/lib.rs
+++ b/polkadot/runtime/westend/src/lib.rs
@@ -200,7 +200,6 @@ impl frame_system::Config for Runtime {
 	type Version = Version;
 	type AccountData = pallet_balances::AccountData<Balance>;
 	type SystemWeightInfo = weights::frame_system::WeightInfo<Runtime>;
-	type ExtensionsWeightInfo = weights::frame_system_extensions::WeightInfo<Runtime>;
 	type SS58Prefix = SS58Prefix;
 	type MaxConsumers = frame_support::traits::ConstU32<16>;
 }
@@ -386,7 +385,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type WeightToFee = WeightToFee;
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
-	type WeightInfo = weights::pallet_transaction_payment::WeightInfo<Runtime>;
 }
 
 parameter_types! {
@@ -822,7 +820,7 @@ where
 			// so the actual block number is `n`.
 			.saturating_sub(1);
 		let tip = 0;
-		let tx_ext: TxExtension = (
+		let extra: SignedExtra = (
 			frame_system::CheckNonZeroSender::<Runtime>::new(),
 			frame_system::CheckSpecVersion::<Runtime>::new(),
 			frame_system::CheckTxVersion::<Runtime>::new(),
@@ -834,17 +832,16 @@ where
 			frame_system::CheckNonce::<Runtime>::from(nonce),
 			frame_system::CheckWeight::<Runtime>::new(),
 			pallet_transaction_payment::ChargeTransactionPayment::<Runtime>::from(tip),
-		)
-			.into();
-		let raw_payload = SignedPayload::new(call, tx_ext)
+		);
+		let raw_payload = SignedPayload::new(call, extra)
 			.map_err(|e| {
 				log::warn!("Unable to create signed payload: {:?}", e);
 			})
 			.ok()?;
 		let signature = raw_payload.using_encoded(|payload| C::sign(payload, public))?;
-		let (call, tx_ext, _) = raw_payload.deconstruct();
+		let (call, extra, _) = raw_payload.deconstruct();
 		let address = <Runtime as frame_system::Config>::Lookup::unlookup(account);
-		Some((call, (address, signature, tx_ext)))
+		Some((call, (address, signature, extra)))
 	}
 }
 
@@ -1551,8 +1548,8 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 pub type SignedBlock = generic::SignedBlock<Block>;
 /// `BlockId` type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The `SignedExtension` to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -1716,7 +1713,7 @@ pub mod migrations {
 
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 /// Executive: handles dispatch to the various modules.
 pub type Executive = frame_executive::Executive<
 	Runtime,
@@ -1727,7 +1724,7 @@ pub type Executive = frame_executive::Executive<
 	Migrations,
 >;
 /// The payload being signed in transactions.
-pub type SignedPayload = generic::SignedPayload<RuntimeCall, TxExtension>;
+pub type SignedPayload = generic::SignedPayload<RuntimeCall, SignedExtra>;
 
 #[cfg(feature = "runtime-benchmarks")]
 mod benches {
@@ -1773,9 +1770,7 @@ mod benches {
 		[pallet_staking, Staking]
 		[pallet_sudo, Sudo]
 		[frame_system, SystemBench::<Runtime>]
-		[frame_system_extensions, SystemExtensionsBench::<Runtime>]
 		[pallet_timestamp, Timestamp]
-		[pallet_transaction_payment, TransactionPayment]
 		[pallet_treasury, Treasury]
 		[pallet_utility, Utility]
 		[pallet_vesting, Vesting]
@@ -2317,7 +2312,6 @@ sp_api::impl_runtime_apis! {
 			use pallet_election_provider_support_benchmarking::Pallet as ElectionProviderBench;
 			use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use pallet_nomination_pools_benchmarking::Pallet as NominationPoolsBench;
 
 			type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::<Runtime>;
@@ -2346,7 +2340,6 @@ sp_api::impl_runtime_apis! {
 			use pallet_election_provider_support_benchmarking::Pallet as ElectionProviderBench;
 			use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use pallet_nomination_pools_benchmarking::Pallet as NominationPoolsBench;
 
 			impl pallet_session_benchmarking::Config for Runtime {}
diff --git a/polkadot/runtime/westend/src/weights/frame_system_extensions.rs b/polkadot/runtime/westend/src/weights/frame_system_extensions.rs
deleted file mode 100644
index e4e1a799ec6..00000000000
--- a/polkadot/runtime/westend/src/weights/frame_system_extensions.rs
+++ /dev/null
@@ -1,116 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot 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.
-
-// Polkadot 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 Polkadot.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `frame_system_extensions`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-20, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("westend-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot
-// benchmark
-// pallet
-// --steps=2
-// --repeat=2
-// --extrinsic=*
-// --wasm-execution=compiled
-// --heap-pages=4096
-// --pallet=frame-system-extensions
-// --chain=westend-dev
-// --output=./polkadot/runtime/westend/src/weights/
-// --header=./polkadot/file_header.txt
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `frame_system_extensions`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_356_000 picoseconds.
-		Weight::from_parts(7_805_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 5_510_000 picoseconds.
-		Weight::from_parts(10_009_000, 0)
-			.saturating_add(Weight::from_parts(0, 3509))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 761_000 picoseconds.
-		Weight::from_parts(4_308_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 3_396_000 picoseconds.
-		Weight::from_parts(7_585_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 521_000 picoseconds.
-		Weight::from_parts(4_168_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 541_000 picoseconds.
-		Weight::from_parts(4_228_000, 0)
-			.saturating_add(Weight::from_parts(0, 0))
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1489`
-		// Minimum execution time: 3_807_000 picoseconds.
-		Weight::from_parts(8_025_000, 0)
-			.saturating_add(Weight::from_parts(0, 1489))
-			.saturating_add(T::DbWeight::get().reads(1))
-			.saturating_add(T::DbWeight::get().writes(1))
-	}
-}
diff --git a/polkadot/runtime/westend/src/weights/mod.rs b/polkadot/runtime/westend/src/weights/mod.rs
index 8aeb4216550..f6a9008d718 100644
--- a/polkadot/runtime/westend/src/weights/mod.rs
+++ b/polkadot/runtime/westend/src/weights/mod.rs
@@ -17,7 +17,6 @@
 
 pub mod frame_election_provider_support;
 pub mod frame_system;
-pub mod frame_system_extensions;
 pub mod pallet_asset_rate;
 pub mod pallet_bags_list;
 pub mod pallet_balances;
@@ -38,7 +37,6 @@ pub mod pallet_session;
 pub mod pallet_staking;
 pub mod pallet_sudo;
 pub mod pallet_timestamp;
-pub mod pallet_transaction_payment;
 pub mod pallet_treasury;
 pub mod pallet_utility;
 pub mod pallet_vesting;
diff --git a/polkadot/runtime/westend/src/weights/pallet_sudo.rs b/polkadot/runtime/westend/src/weights/pallet_sudo.rs
index 649c43e031d..e9ab3ad37a4 100644
--- a/polkadot/runtime/westend/src/weights/pallet_sudo.rs
+++ b/polkadot/runtime/westend/src/weights/pallet_sudo.rs
@@ -94,15 +94,4 @@ impl<T: frame_system::Config> pallet_sudo::WeightInfo for WeightInfo<T> {
 			.saturating_add(T::DbWeight::get().reads(1))
 			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Sudo::Key` (r:1 w:0)
-	/// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	fn check_only_sudo_account() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `132`
-		//  Estimated: `1517`
-		// Minimum execution time: 2_875_000 picoseconds.
-		Weight::from_parts(6_803_000, 0)
-			.saturating_add(Weight::from_parts(0, 1517))
-			.saturating_add(T::DbWeight::get().reads(1))
-	}
 }
diff --git a/polkadot/runtime/westend/src/weights/pallet_transaction_payment.rs b/polkadot/runtime/westend/src/weights/pallet_transaction_payment.rs
deleted file mode 100644
index 001a09f103d..00000000000
--- a/polkadot/runtime/westend/src/weights/pallet_transaction_payment.rs
+++ /dev/null
@@ -1,65 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Polkadot.
-
-// Polkadot 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.
-
-// Polkadot 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 Polkadot.  If not, see <http://www.gnu.org/licenses/>.
-
-//! Autogenerated weights for `pallet_transaction_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-12-21, STEPS: `2`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `gleipnir`, CPU: `AMD Ryzen 9 7900X 12-Core Processor`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("westend-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot
-// benchmark
-// pallet
-// --steps=2
-// --repeat=2
-// --extrinsic=*
-// --wasm-execution=compiled
-// --heap-pages=4096
-// --pallet=pallet_transaction_payment
-// --chain=westend-dev
-// --output=./polkadot/runtime/westend/src/weights/
-// --header=./polkadot/file_header.txt
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_transaction_payment`.
-pub struct WeightInfo<T>(PhantomData<T>);
-impl<T: frame_system::Config> pallet_transaction_payment::WeightInfo for WeightInfo<T> {
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Authorship::Author` (r:1 w:0)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	fn charge_transaction_payment() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `156`
-		//  Estimated: `1641`
-		// Minimum execution time: 30_888_000 picoseconds.
-		Weight::from_parts(41_308_000, 0)
-			.saturating_add(Weight::from_parts(0, 1641))
-			.saturating_add(T::DbWeight::get().reads(3))
-	}
-}
diff --git a/polkadot/xcm/xcm-builder/Cargo.toml b/polkadot/xcm/xcm-builder/Cargo.toml
index 660a30605e5..10726b0f511 100644
--- a/polkadot/xcm/xcm-builder/Cargo.toml
+++ b/polkadot/xcm/xcm-builder/Cargo.toml
@@ -47,7 +47,6 @@ runtime-benchmarks = [
 	"pallet-assets/runtime-benchmarks",
 	"pallet-balances/runtime-benchmarks",
 	"pallet-salary/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-xcm/runtime-benchmarks",
 	"polkadot-parachain-primitives/runtime-benchmarks",
 	"polkadot-runtime-parachains/runtime-benchmarks",
diff --git a/polkadot/xcm/xcm-builder/src/tests/pay/mock.rs b/polkadot/xcm/xcm-builder/src/tests/pay/mock.rs
index 3bd2fa4b4f5..9892c500f2e 100644
--- a/polkadot/xcm/xcm-builder/src/tests/pay/mock.rs
+++ b/polkadot/xcm/xcm-builder/src/tests/pay/mock.rs
@@ -25,22 +25,14 @@ use frame_support::{
 	traits::{ConstU32, Everything},
 };
 use frame_system::{EnsureRoot, EnsureSigned};
+use polkadot_test_runtime::SignedExtra;
 use primitives::{AccountIndex, BlakeTwo256, Signature};
 use sp_runtime::{generic, traits::MaybeEquivalence, AccountId32, BuildStorage};
 use xcm_executor::{traits::ConvertLocation, XcmExecutor};
 
-pub type TxExtension = (
-	frame_system::CheckNonZeroSender<Test>,
-	frame_system::CheckSpecVersion<Test>,
-	frame_system::CheckTxVersion<Test>,
-	frame_system::CheckGenesis<Test>,
-	frame_system::CheckMortality<Test>,
-	frame_system::CheckNonce<Test>,
-	frame_system::CheckWeight<Test>,
-);
 pub type Address = sp_runtime::MultiAddress<AccountId, AccountIndex>;
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 pub type Header = generic::Header<BlockNumber, BlakeTwo256>;
 pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 
diff --git a/polkadot/xcm/xcm-simulator/fuzzer/src/parachain.rs b/polkadot/xcm/xcm-simulator/fuzzer/src/parachain.rs
index f953e54111c..a20390b64f9 100644
--- a/polkadot/xcm/xcm-simulator/fuzzer/src/parachain.rs
+++ b/polkadot/xcm/xcm-simulator/fuzzer/src/parachain.rs
@@ -46,13 +46,13 @@ use xcm_builder::{
 };
 use xcm_executor::{Config, XcmExecutor};
 
-pub type TxExtension = (frame_system::CheckNonZeroSender<Runtime>,);
+pub type SignedExtra = (frame_system::CheckNonZeroSender<Runtime>,);
 
 pub type BlockNumber = u64;
 pub type Address = MultiAddress<AccountId, ()>;
 pub type Header = generic::Header<BlockNumber, BlakeTwo256>;
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 
 pub type Signature = MultiSignature;
diff --git a/polkadot/xcm/xcm-simulator/fuzzer/src/relay_chain.rs b/polkadot/xcm/xcm-simulator/fuzzer/src/relay_chain.rs
index a11e535492c..5bf65fa9f9a 100644
--- a/polkadot/xcm/xcm-simulator/fuzzer/src/relay_chain.rs
+++ b/polkadot/xcm/xcm-simulator/fuzzer/src/relay_chain.rs
@@ -45,13 +45,13 @@ use xcm_builder::{
 };
 use xcm_executor::{Config, XcmExecutor};
 
-pub type TxExtension = (frame_system::CheckNonZeroSender<Runtime>,);
+pub type SignedExtra = (frame_system::CheckNonZeroSender<Runtime>,);
 
 pub type BlockNumber = u64;
 pub type Address = MultiAddress<AccountId, ()>;
 pub type Header = generic::Header<BlockNumber, BlakeTwo256>;
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 
 pub type Signature = MultiSignature;
diff --git a/prdoc/pr_2280.prdoc b/prdoc/pr_2280.prdoc
deleted file mode 100644
index 3026dc254e6..00000000000
--- a/prdoc/pr_2280.prdoc
+++ /dev/null
@@ -1,144 +0,0 @@
-# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0
-# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json
-
-title: FRAME Create `TransactionExtension` as a replacement for `SignedExtension`
-
-doc:
-  - audience: Runtime User
-    description: |
-      Introduces a new trait `TransactionExtension` to replace `SignedExtension`. Introduce the
-      idea of transactions which obey the runtime's extensions and have according Extension data
-      (né Extra data) yet do not have hard-coded signatures.
-
-      Deprecate the terminology of "Unsigned" when used for transactions/extrinsics owing to there
-      now being "proper" unsigned transactions which obey the extension framework and "old-style"
-      unsigned which do not. Instead we have `General` for the former and `Bare` for the latter.
-      Unsigned will be phased out as a type of transaction, and `Bare` will only be used for
-      Inherents.
-
-      Types of extrinsic are now therefore
-        - Bare (no hardcoded signature, no Extra data; used to be known as "Unsigned")
-            - Bare transactions (deprecated) - Gossiped, validated with `ValidateUnsigned`
-              (deprecated) and the `_bare_compat` bits of `TransactionExtension` (deprecated).
-            - Inherents - Not gossiped, validated with `ProvideInherent`.
-        - Extended (Extra data) - Gossiped, validated via `TransactionExtension`.
-            - Signed transactions (with a hardcoded signature).
-            - General transactions (without a hardcoded signature).
-
-      Notable information on `TransactionExtension` and the differences from `SignedExtension`
-        - `AdditionalSigned`/`additional_signed` is renamed to `Implicit`/`implicit`. It is encoded
-          for the entire transaction and passed in to each extension as a new argument to validate.
-        - `pre_dispatch` is renamed to `prepare`.
-        - `validate` runs transaction validation logic both off-chain and on-chain, and is
-          non-mutating.
-        - `prepare` runs on-chain pre-execution logic using information extracted during validation
-          and is mutating.
-        - `validate` and `prepare` are now passed an `Origin` rather than an `AccountId`. If the
-          extension logic presumes an `AccountId`, consider using the trait function
-          `AsSystemOriginSigner::as_system_origin_signer`.
-        - A signature on the underlying transaction may validly not be present.
-        - The origin may be altered during validation.
-        - Validation functionality present in `validate` should not be repeated in `prepare`.
-          Useful information obtained during `validate` should now be passsed in to `prepare` using
-          the new user-specifiable type `Val`.
-        - Unsigned logic should be migrated from the old `*_unsigned` functions into the regular
-          versions of the new functions where the `Origin` is `None`.
-        - The `Call` type defining the runtime call is now a type parameter.
-        - `TransactionExtension` now takes a `Context` type parameter. This defines some arbitrary
-          contextual data that is injected into the transaction extension logic. It is unused in
-          instances migrated from `SignedExtension`.
-        - Extensions now track the weight they consume during valdiation, preparation and
-          post-dispatch through the `TransactionExtensionBase::weight` function.
-        - `TestXt` was removed and its usage in tests was replaced with `UncheckedExtrinsic`
-          instances.
-
-      To fix the build issues introduced by this change, use the `AsTransactionExtension` adapter
-      to wrap existing `SignedExtension`s by converting them using the `From<SignedExtension>`
-      generic implementation for `AsTransactionExtension`. More details on migrating existing
-      `SignedExtension` implementations to `TransactionExtension` in the PR description.
-
-crates:
-  - name: bridge-runtime-common
-  - name: bp-bridge-hub-cumulus
-  - name: bp-kusama
-  - name: bp-polkadot-bulletin
-  - name: bp-polkadot
-  - name: bp-rococo
-  - name: bp-westend
-  - name: bp-polkadot-core
-  - name: bp-runtime
-  - name: snowbridge-pallet-inbound-queue
-  - name: snowbridge-pallet-outbound-queue
-  - name: snowbridge-pallet-system
-  - name: snowbridge-runtime-test-common
-  - name: parachain-template-runtime
-  - name: asset-hub-rococo-runtime
-  - name: asset-hub-westend-runtime
-  - name: bridge-hub-rococo-runtime
-  - name: bridge-hub-westend-runtime
-  - name: collectives-westend-runtime
-  - name: contracts-rococo-runtime
-  - name: coretime-rococo-runtime
-  - name: coretime-westend-runtime
-  - name: glutton-westend-runtime
-  - name: people-rococo-runtime
-  - name: people-westend-runtime
-  - name: seedling-runtime
-  - name: shell-runtime
-  - name: penpal-runtime
-  - name: rococo-parachain-runtime
-  - name: polkadot-parachain-bin
-  - name: cumulus-primitives-storage-weight-reclaim
-  - name: cumulus-test-client
-  - name: cumulus-test-runtime
-  - name: cumulus-test-service
-  - name: polkadot-sdk-docs
-  - name: polkadot-service
-  - name: polkadot-test-service
-  - name: polkadot-runtime-common
-  - name: rococo-runtime
-  - name: polkadot-test-runtime
-  - name: westend-runtime
-  - name: staging-xcm-builder
-  - name: minimal-runtime
-  - name: node-template
-  - name: node-template-runtime
-  - name: staging-node-cli
-  - name: kitchensink-runtime
-  - name: node-testing
-  - name: sc-client-api
-  - name: sc-client-db
-  - name: sc-network-gossip
-  - name: sc-network-sync
-  - name: sc-transaction-pool
-  - name: frame
-  - name: pallet-babe
-  - name: pallet-balances
-  - name: pallet-beefy
-  - name: pallet-collective
-  - name: pallet-election-provider-multi-phase
-  - name: pallet-elections-phragmen
-  - name: pallet-example-basic
-  - name: pallet-example-offchain-worker
-  - name: frame-executive
-  - name: pallet-grandpa
-  - name: pallet-im-online
-  - name: pallet-offences
-  - name: pallet-sassafras
-  - name: pallet-state-trie-migration
-  - name: pallet-sudo
-  - name: frame-support-procedural
-  - name: frame-support
-  - name: frame-system
-  - name: frame-system-benchmarking
-  - name: pallet-transaction-payment
-  - name: pallet-asset-conversion-tx-payment
-  - name: pallet-asset-tx-payment
-  - name: pallet-skip-feeless-payment
-  - name: sp-inherents
-  - name: sp-metadata-ir
-  - name: sp-runtime
-  - name: substrate-test-runtime
-  - name: frame-benchmarking-cli
-  - name: frame-remote-externalities
-  - name: substrate-rpc-client
diff --git a/prdoc/pr_3665.prdoc b/prdoc/pr_3665.prdoc
new file mode 100644
index 00000000000..67725d24d18
--- /dev/null
+++ b/prdoc/pr_3665.prdoc
@@ -0,0 +1,11 @@
+# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0
+# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json
+
+title: Revert "FRAME Create TransactionExtension as a replacement for SignedExtension (#2280)"
+
+doc:
+  - audience: Runtime Dev
+    description: |
+      This PR reverts the PR which introduced `TransactionExtension` to replace `SignedExtension`.
+
+crates: [ ]
diff --git a/substrate/.maintain/frame-weight-template.hbs b/substrate/.maintain/frame-weight-template.hbs
index ec9eee205ce..ecd384a5145 100644
--- a/substrate/.maintain/frame-weight-template.hbs
+++ b/substrate/.maintain/frame-weight-template.hbs
@@ -33,7 +33,7 @@ pub trait WeightInfo {
 
 /// Weights for `{{pallet}}` using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
-{{#if (or (eq pallet "frame_system") (eq pallet "frame_system_extensions"))}}
+{{#if (eq pallet "frame_system")}}
 impl<T: crate::Config> WeightInfo for SubstrateWeight<T> {
 {{else}}
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
diff --git a/substrate/bin/node/cli/Cargo.toml b/substrate/bin/node/cli/Cargo.toml
index c91a83e6d6e..abe284c41da 100644
--- a/substrate/bin/node/cli/Cargo.toml
+++ b/substrate/bin/node/cli/Cargo.toml
@@ -196,7 +196,6 @@ runtime-benchmarks = [
 	"frame-system/runtime-benchmarks",
 	"kitchensink-runtime/runtime-benchmarks",
 	"node-inspect?/runtime-benchmarks",
-	"pallet-asset-conversion-tx-payment/runtime-benchmarks",
 	"pallet-asset-tx-payment/runtime-benchmarks",
 	"pallet-assets/runtime-benchmarks",
 	"pallet-balances/runtime-benchmarks",
@@ -206,7 +205,6 @@ runtime-benchmarks = [
 	"pallet-skip-feeless-payment/runtime-benchmarks",
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-treasury/runtime-benchmarks",
 	"sc-client-db/runtime-benchmarks",
 	"sc-service/runtime-benchmarks",
diff --git a/substrate/bin/node/cli/benches/block_production.rs b/substrate/bin/node/cli/benches/block_production.rs
index b98a321c338..23a62cc0bd2 100644
--- a/substrate/bin/node/cli/benches/block_production.rs
+++ b/substrate/bin/node/cli/benches/block_production.rs
@@ -110,7 +110,7 @@ fn new_node(tokio_handle: Handle) -> node_cli::service::NewFullBase {
 
 fn extrinsic_set_time(now: u64) -> OpaqueExtrinsic {
 	kitchensink_runtime::UncheckedExtrinsic {
-		preamble: sp_runtime::generic::Preamble::Bare,
+		signature: None,
 		function: kitchensink_runtime::RuntimeCall::Timestamp(pallet_timestamp::Call::set { now }),
 	}
 	.into()
diff --git a/substrate/bin/node/cli/benches/executor.rs b/substrate/bin/node/cli/benches/executor.rs
index e13d34f9657..a326e1a79ea 100644
--- a/substrate/bin/node/cli/benches/executor.rs
+++ b/substrate/bin/node/cli/benches/executor.rs
@@ -29,7 +29,7 @@ use sp_core::{
 	storage::well_known_keys,
 	traits::{CallContext, CodeExecutor, RuntimeCode},
 };
-use sp_runtime::{generic::ExtrinsicFormat, traits::BlakeTwo256};
+use sp_runtime::traits::BlakeTwo256;
 use sp_state_machine::TestExternalities as CoreTestExternalities;
 use staging_node_cli::service::RuntimeExecutor;
 
@@ -144,11 +144,11 @@ fn test_blocks(
 ) -> Vec<(Vec<u8>, Hash)> {
 	let mut test_ext = new_test_ext(genesis_config);
 	let mut block1_extrinsics = vec![CheckedExtrinsic {
-		format: ExtrinsicFormat::Bare,
+		signed: None,
 		function: RuntimeCall::Timestamp(pallet_timestamp::Call::set { now: 0 }),
 	}];
 	block1_extrinsics.extend((0..20).map(|i| CheckedExtrinsic {
-		format: ExtrinsicFormat::Signed(alice(), tx_ext(i, 0)),
+		signed: Some((alice(), signed_extra(i, 0))),
 		function: RuntimeCall::Balances(pallet_balances::Call::transfer_allow_death {
 			dest: bob().into(),
 			value: 1 * DOLLARS,
diff --git a/substrate/bin/node/cli/src/service.rs b/substrate/bin/node/cli/src/service.rs
index 157f278fb53..8f2aba6b44c 100644
--- a/substrate/bin/node/cli/src/service.rs
+++ b/substrate/bin/node/cli/src/service.rs
@@ -107,21 +107,18 @@ pub fn create_extrinsic(
 		.map(|c| c / 2)
 		.unwrap_or(2) as u64;
 	let tip = 0;
-	let tx_ext: kitchensink_runtime::TxExtension =
+	let extra: kitchensink_runtime::SignedExtra =
 		(
-			(
-				frame_system::CheckNonZeroSender::<kitchensink_runtime::Runtime>::new(),
-				frame_system::CheckSpecVersion::<kitchensink_runtime::Runtime>::new(),
-				frame_system::CheckTxVersion::<kitchensink_runtime::Runtime>::new(),
-				frame_system::CheckGenesis::<kitchensink_runtime::Runtime>::new(),
-				frame_system::CheckEra::<kitchensink_runtime::Runtime>::from(generic::Era::mortal(
-					period,
-					best_block.saturated_into(),
-				)),
-				frame_system::CheckNonce::<kitchensink_runtime::Runtime>::from(nonce),
-				frame_system::CheckWeight::<kitchensink_runtime::Runtime>::new(),
-			)
-				.into(),
+			frame_system::CheckNonZeroSender::<kitchensink_runtime::Runtime>::new(),
+			frame_system::CheckSpecVersion::<kitchensink_runtime::Runtime>::new(),
+			frame_system::CheckTxVersion::<kitchensink_runtime::Runtime>::new(),
+			frame_system::CheckGenesis::<kitchensink_runtime::Runtime>::new(),
+			frame_system::CheckEra::<kitchensink_runtime::Runtime>::from(generic::Era::mortal(
+				period,
+				best_block.saturated_into(),
+			)),
+			frame_system::CheckNonce::<kitchensink_runtime::Runtime>::from(nonce),
+			frame_system::CheckWeight::<kitchensink_runtime::Runtime>::new(),
 			pallet_skip_feeless_payment::SkipCheckIfFeeless::from(
 				pallet_asset_conversion_tx_payment::ChargeAssetTxPayment::<
 					kitchensink_runtime::Runtime,
@@ -131,17 +128,15 @@ pub fn create_extrinsic(
 
 	let raw_payload = kitchensink_runtime::SignedPayload::from_raw(
 		function.clone(),
-		tx_ext.clone(),
+		extra.clone(),
 		(
-			(
-				(),
-				kitchensink_runtime::VERSION.spec_version,
-				kitchensink_runtime::VERSION.transaction_version,
-				genesis_hash,
-				best_hash,
-				(),
-				(),
-			),
+			(),
+			kitchensink_runtime::VERSION.spec_version,
+			kitchensink_runtime::VERSION.transaction_version,
+			genesis_hash,
+			best_hash,
+			(),
+			(),
 			(),
 		),
 	);
@@ -151,7 +146,7 @@ pub fn create_extrinsic(
 		function,
 		sp_runtime::AccountId32::from(sender.public()).into(),
 		kitchensink_runtime::Signature::Sr25519(signature),
-		tx_ext,
+		extra,
 	)
 }
 
@@ -796,7 +791,7 @@ mod tests {
 	use codec::Encode;
 	use kitchensink_runtime::{
 		constants::{currency::CENTS, time::SLOT_DURATION},
-		Address, BalancesCall, RuntimeCall, TxExtension, UncheckedExtrinsic,
+		Address, BalancesCall, RuntimeCall, UncheckedExtrinsic,
 	};
 	use node_primitives::{Block, DigestItem, Signature};
 	use sc_client_api::BlockBackend;
@@ -998,31 +993,25 @@ mod tests {
 				let tx_payment = pallet_skip_feeless_payment::SkipCheckIfFeeless::from(
 					pallet_asset_conversion_tx_payment::ChargeAssetTxPayment::from(0, None),
 				);
-				let tx_ext: TxExtension = (
-					(
-						check_non_zero_sender,
-						check_spec_version,
-						check_tx_version,
-						check_genesis,
-						check_era,
-						check_nonce,
-						check_weight,
-					)
-						.into(),
+				let extra = (
+					check_non_zero_sender,
+					check_spec_version,
+					check_tx_version,
+					check_genesis,
+					check_era,
+					check_nonce,
+					check_weight,
 					tx_payment,
 				);
 				let raw_payload = SignedPayload::from_raw(
 					function,
-					tx_ext,
-					(
-						((), spec_version, transaction_version, genesis_hash, genesis_hash, (), ()),
-						(),
-					),
+					extra,
+					((), spec_version, transaction_version, genesis_hash, genesis_hash, (), (), ()),
 				);
 				let signature = raw_payload.using_encoded(|payload| signer.sign(payload));
-				let (function, tx_ext, _) = raw_payload.deconstruct();
+				let (function, extra, _) = raw_payload.deconstruct();
 				index += 1;
-				UncheckedExtrinsic::new_signed(function, from.into(), signature.into(), tx_ext)
+				UncheckedExtrinsic::new_signed(function, from.into(), signature.into(), extra)
 					.into()
 			},
 		);
diff --git a/substrate/bin/node/cli/tests/basic.rs b/substrate/bin/node/cli/tests/basic.rs
index 5fcb2295ef0..525ab2e39c1 100644
--- a/substrate/bin/node/cli/tests/basic.rs
+++ b/substrate/bin/node/cli/tests/basic.rs
@@ -67,7 +67,7 @@ fn transfer_fee<E: Encode>(extrinsic: &E) -> Balance {
 
 fn xt() -> UncheckedExtrinsic {
 	sign(CheckedExtrinsic {
-		format: sp_runtime::generic::ExtrinsicFormat::Signed(alice(), tx_ext(0, 0)),
+		signed: Some((alice(), signed_extra(0, 0))),
 		function: RuntimeCall::Balances(default_transfer_call()),
 	})
 }
@@ -84,11 +84,11 @@ fn changes_trie_block() -> (Vec<u8>, Hash) {
 		GENESIS_HASH.into(),
 		vec![
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Bare,
+				signed: None,
 				function: RuntimeCall::Timestamp(pallet_timestamp::Call::set { now: time }),
 			},
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Signed(alice(), tx_ext(0, 0)),
+				signed: Some((alice(), signed_extra(0, 0))),
 				function: RuntimeCall::Balances(pallet_balances::Call::transfer_allow_death {
 					dest: bob().into(),
 					value: 69 * DOLLARS,
@@ -111,11 +111,11 @@ fn blocks() -> ((Vec<u8>, Hash), (Vec<u8>, Hash)) {
 		GENESIS_HASH.into(),
 		vec![
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Bare,
+				signed: None,
 				function: RuntimeCall::Timestamp(pallet_timestamp::Call::set { now: time1 }),
 			},
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Signed(alice(), tx_ext(0, 0)),
+				signed: Some((alice(), signed_extra(0, 0))),
 				function: RuntimeCall::Balances(pallet_balances::Call::transfer_allow_death {
 					dest: bob().into(),
 					value: 69 * DOLLARS,
@@ -131,18 +131,18 @@ fn blocks() -> ((Vec<u8>, Hash), (Vec<u8>, Hash)) {
 		block1.1,
 		vec![
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Bare,
+				signed: None,
 				function: RuntimeCall::Timestamp(pallet_timestamp::Call::set { now: time2 }),
 			},
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Signed(bob(), tx_ext(0, 0)),
+				signed: Some((bob(), signed_extra(0, 0))),
 				function: RuntimeCall::Balances(pallet_balances::Call::transfer_allow_death {
 					dest: alice().into(),
 					value: 5 * DOLLARS,
 				}),
 			},
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Signed(alice(), tx_ext(1, 0)),
+				signed: Some((alice(), signed_extra(1, 0))),
 				function: RuntimeCall::Balances(pallet_balances::Call::transfer_allow_death {
 					dest: bob().into(),
 					value: 15 * DOLLARS,
@@ -166,11 +166,11 @@ fn block_with_size(time: u64, nonce: u32, size: usize) -> (Vec<u8>, Hash) {
 		GENESIS_HASH.into(),
 		vec![
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Bare,
+				signed: None,
 				function: RuntimeCall::Timestamp(pallet_timestamp::Call::set { now: time * 1000 }),
 			},
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Signed(alice(), tx_ext(nonce, 0)),
+				signed: Some((alice(), signed_extra(nonce, 0))),
 				function: RuntimeCall::System(frame_system::Call::remark { remark: vec![0; size] }),
 			},
 		],
@@ -677,11 +677,11 @@ fn deploying_wasm_contract_should_work() {
 		GENESIS_HASH.into(),
 		vec![
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Bare,
+				signed: None,
 				function: RuntimeCall::Timestamp(pallet_timestamp::Call::set { now: time }),
 			},
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Signed(charlie(), tx_ext(0, 0)),
+				signed: Some((charlie(), signed_extra(0, 0))),
 				function: RuntimeCall::Contracts(pallet_contracts::Call::instantiate_with_code::<
 					Runtime,
 				> {
@@ -694,7 +694,7 @@ fn deploying_wasm_contract_should_work() {
 				}),
 			},
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Signed(charlie(), tx_ext(1, 0)),
+				signed: Some((charlie(), signed_extra(1, 0))),
 				function: RuntimeCall::Contracts(pallet_contracts::Call::call::<Runtime> {
 					dest: sp_runtime::MultiAddress::Id(addr.clone()),
 					value: 10,
diff --git a/substrate/bin/node/cli/tests/fees.rs b/substrate/bin/node/cli/tests/fees.rs
index 9d6407067a3..8c7b3c87315 100644
--- a/substrate/bin/node/cli/tests/fees.rs
+++ b/substrate/bin/node/cli/tests/fees.rs
@@ -54,11 +54,11 @@ fn fee_multiplier_increases_and_decreases_on_big_weight() {
 		GENESIS_HASH.into(),
 		vec![
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Bare,
+				signed: None,
 				function: RuntimeCall::Timestamp(pallet_timestamp::Call::set { now: time1 }),
 			},
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Signed(charlie(), tx_ext(0, 0)),
+				signed: Some((charlie(), signed_extra(0, 0))),
 				function: RuntimeCall::Sudo(pallet_sudo::Call::sudo {
 					call: Box::new(RuntimeCall::RootTesting(
 						pallet_root_testing::Call::fill_block { ratio: Perbill::from_percent(60) },
@@ -77,11 +77,11 @@ fn fee_multiplier_increases_and_decreases_on_big_weight() {
 		block1.1,
 		vec![
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Bare,
+				signed: None,
 				function: RuntimeCall::Timestamp(pallet_timestamp::Call::set { now: time2 }),
 			},
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Signed(charlie(), tx_ext(1, 0)),
+				signed: Some((charlie(), signed_extra(1, 0))),
 				function: RuntimeCall::System(frame_system::Call::remark { remark: vec![0; 1] }),
 			},
 		],
@@ -147,7 +147,7 @@ fn transaction_fee_is_correct() {
 
 	let tip = 1_000_000;
 	let xt = sign(CheckedExtrinsic {
-		format: sp_runtime::generic::ExtrinsicFormat::Signed(alice(), tx_ext(0, tip)),
+		signed: Some((alice(), signed_extra(0, tip))),
 		function: RuntimeCall::Balances(default_transfer_call()),
 	});
 
@@ -211,10 +211,7 @@ fn block_weight_capacity_report() {
 		let num_transfers = block_number * factor;
 		let mut xts = (0..num_transfers)
 			.map(|i| CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Signed(
-					charlie(),
-					tx_ext(nonce + i as Nonce, 0),
-				),
+				signed: Some((charlie(), signed_extra(nonce + i as Nonce, 0))),
 				function: RuntimeCall::Balances(pallet_balances::Call::transfer_allow_death {
 					dest: bob().into(),
 					value: 0,
@@ -225,7 +222,7 @@ fn block_weight_capacity_report() {
 		xts.insert(
 			0,
 			CheckedExtrinsic {
-				format: sp_runtime::generic::ExtrinsicFormat::Bare,
+				signed: None,
 				function: RuntimeCall::Timestamp(pallet_timestamp::Call::set { now: time * 1000 }),
 			},
 		);
@@ -288,16 +285,13 @@ fn block_length_capacity_report() {
 			previous_hash,
 			vec![
 				CheckedExtrinsic {
-					format: sp_runtime::generic::ExtrinsicFormat::Bare,
+					signed: None,
 					function: RuntimeCall::Timestamp(pallet_timestamp::Call::set {
 						now: time * 1000,
 					}),
 				},
 				CheckedExtrinsic {
-					format: sp_runtime::generic::ExtrinsicFormat::Signed(
-						charlie(),
-						tx_ext(nonce, 0),
-					),
+					signed: Some((charlie(), signed_extra(nonce, 0))),
 					function: RuntimeCall::System(frame_system::Call::remark {
 						remark: vec![0u8; (block_number * factor) as usize],
 					}),
diff --git a/substrate/bin/node/cli/tests/submit_transaction.rs b/substrate/bin/node/cli/tests/submit_transaction.rs
index f3a5bac8fb5..5cbb0103d47 100644
--- a/substrate/bin/node/cli/tests/submit_transaction.rs
+++ b/substrate/bin/node/cli/tests/submit_transaction.rs
@@ -130,8 +130,8 @@ fn should_submit_signed_twice_from_the_same_account() {
 		// now check that the transaction nonces are not equal
 		let s = state.read();
 		fn nonce(tx: UncheckedExtrinsic) -> frame_system::CheckNonce<Runtime> {
-			let extra = tx.preamble.to_signed().unwrap().2;
-			(extra.0).5
+			let extra = tx.signature.unwrap().2;
+			extra.5
 		}
 		let nonce1 = nonce(UncheckedExtrinsic::decode(&mut &*s.transactions[0]).unwrap());
 		let nonce2 = nonce(UncheckedExtrinsic::decode(&mut &*s.transactions[1]).unwrap());
@@ -179,8 +179,8 @@ fn should_submit_signed_twice_from_all_accounts() {
 		// now check that the transaction nonces are not equal
 		let s = state.read();
 		fn nonce(tx: UncheckedExtrinsic) -> frame_system::CheckNonce<Runtime> {
-			let extra = tx.preamble.to_signed().unwrap().2;
-			(extra.0).5
+			let extra = tx.signature.unwrap().2;
+			extra.5
 		}
 		let nonce1 = nonce(UncheckedExtrinsic::decode(&mut &*s.transactions[0]).unwrap());
 		let nonce2 = nonce(UncheckedExtrinsic::decode(&mut &*s.transactions[1]).unwrap());
@@ -236,7 +236,7 @@ fn submitted_transaction_should_be_valid() {
 		let source = TransactionSource::External;
 		let extrinsic = UncheckedExtrinsic::decode(&mut &*tx0).unwrap();
 		// add balance to the account
-		let author = extrinsic.preamble.clone().to_signed().clone().unwrap().0;
+		let author = extrinsic.signature.clone().unwrap().0;
 		let address = Indices::lookup(author).unwrap();
 		let data = pallet_balances::AccountData { free: 5_000_000_000_000, ..Default::default() };
 		let account = frame_system::AccountInfo { providers: 1, data, ..Default::default() };
diff --git a/substrate/bin/node/runtime/Cargo.toml b/substrate/bin/node/runtime/Cargo.toml
index 09c8fb4ed3d..4d342ceb460 100644
--- a/substrate/bin/node/runtime/Cargo.toml
+++ b/substrate/bin/node/runtime/Cargo.toml
@@ -276,7 +276,6 @@ runtime-benchmarks = [
 	"frame-system-benchmarking/runtime-benchmarks",
 	"frame-system/runtime-benchmarks",
 	"pallet-alliance/runtime-benchmarks",
-	"pallet-asset-conversion-tx-payment/runtime-benchmarks",
 	"pallet-asset-conversion/runtime-benchmarks",
 	"pallet-asset-rate/runtime-benchmarks",
 	"pallet-asset-tx-payment/runtime-benchmarks",
@@ -334,7 +333,6 @@ runtime-benchmarks = [
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
 	"pallet-tips/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-transaction-storage/runtime-benchmarks",
 	"pallet-treasury/runtime-benchmarks",
 	"pallet-tx-pause/runtime-benchmarks",
diff --git a/substrate/bin/node/runtime/src/lib.rs b/substrate/bin/node/runtime/src/lib.rs
index 96611f5a144..437f76c9d5f 100644
--- a/substrate/bin/node/runtime/src/lib.rs
+++ b/substrate/bin/node/runtime/src/lib.rs
@@ -560,7 +560,6 @@ impl pallet_transaction_payment::Config for Runtime {
 		MinimumMultiplier,
 		MaximumMultiplier,
 	>;
-	type WeightInfo = pallet_transaction_payment::weights::SubstrateWeight<Runtime>;
 }
 
 impl pallet_asset_tx_payment::Config for Runtime {
@@ -570,9 +569,6 @@ impl pallet_asset_tx_payment::Config for Runtime {
 		pallet_assets::BalanceToAssetBalance<Balances, Runtime, ConvertInto, Instance1>,
 		CreditToBlockAuthor,
 	>;
-	type WeightInfo = pallet_asset_tx_payment::weights::SubstrateWeight<Runtime>;
-	#[cfg(feature = "runtime-benchmarks")]
-	type BenchmarkHelper = AssetTxHelper;
 }
 
 impl pallet_asset_conversion_tx_payment::Config for Runtime {
@@ -583,9 +579,6 @@ impl pallet_asset_conversion_tx_payment::Config for Runtime {
 		AssetConversion,
 		Native,
 	>;
-	type WeightInfo = pallet_asset_conversion_tx_payment::weights::SubstrateWeight<Runtime>;
-	#[cfg(feature = "runtime-benchmarks")]
-	type BenchmarkHelper = AssetConversionTxHelper;
 }
 
 impl pallet_skip_feeless_payment::Config for Runtime {
@@ -1416,33 +1409,29 @@ where
 			// so the actual block number is `n`.
 			.saturating_sub(1);
 		let era = Era::mortal(period, current_block);
-		let tx_ext: TxExtension = (
-			(
-				frame_system::CheckNonZeroSender::<Runtime>::new(),
-				frame_system::CheckSpecVersion::<Runtime>::new(),
-				frame_system::CheckTxVersion::<Runtime>::new(),
-				frame_system::CheckGenesis::<Runtime>::new(),
-				frame_system::CheckEra::<Runtime>::from(era),
-				frame_system::CheckNonce::<Runtime>::from(nonce),
-				frame_system::CheckWeight::<Runtime>::new(),
-			)
-				.into(),
+		let extra = (
+			frame_system::CheckNonZeroSender::<Runtime>::new(),
+			frame_system::CheckSpecVersion::<Runtime>::new(),
+			frame_system::CheckTxVersion::<Runtime>::new(),
+			frame_system::CheckGenesis::<Runtime>::new(),
+			frame_system::CheckEra::<Runtime>::from(era),
+			frame_system::CheckNonce::<Runtime>::from(nonce),
+			frame_system::CheckWeight::<Runtime>::new(),
 			pallet_skip_feeless_payment::SkipCheckIfFeeless::from(
 				pallet_asset_conversion_tx_payment::ChargeAssetTxPayment::<Runtime>::from(
 					tip, None,
 				),
 			),
 		);
-
-		let raw_payload = SignedPayload::new(call, tx_ext)
+		let raw_payload = SignedPayload::new(call, extra)
 			.map_err(|e| {
 				log::warn!("Unable to create signed payload: {:?}", e);
 			})
 			.ok()?;
 		let signature = raw_payload.using_encoded(|payload| C::sign(payload, public))?;
 		let address = Indices::unlookup(account);
-		let (call, tx_ext, _) = raw_payload.deconstruct();
-		Some((call, (address, signature, tx_ext)))
+		let (call, extra, _) = raw_payload.deconstruct();
+		Some((call, (address, signature, extra)))
 	}
 }
 
@@ -2461,21 +2450,19 @@ pub type Block = generic::Block<Header, UncheckedExtrinsic>;
 pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
-/// The TransactionExtension to the basic transaction logic.
+/// The SignedExtension to the basic transaction logic.
 ///
 /// When you change this, you **MUST** modify [`sign`] in `bin/node/testing/src/keyring.rs`!
 ///
 /// [`sign`]: <../../testing/src/keyring.rs.html>
-pub type TxExtension = (
-	(
-		frame_system::CheckNonZeroSender<Runtime>,
-		frame_system::CheckSpecVersion<Runtime>,
-		frame_system::CheckTxVersion<Runtime>,
-		frame_system::CheckGenesis<Runtime>,
-		frame_system::CheckEra<Runtime>,
-		frame_system::CheckNonce<Runtime>,
-		frame_system::CheckWeight<Runtime>,
-	),
+pub type SignedExtra = (
+	frame_system::CheckNonZeroSender<Runtime>,
+	frame_system::CheckSpecVersion<Runtime>,
+	frame_system::CheckTxVersion<Runtime>,
+	frame_system::CheckGenesis<Runtime>,
+	frame_system::CheckEra<Runtime>,
+	frame_system::CheckNonce<Runtime>,
+	frame_system::CheckWeight<Runtime>,
 	pallet_skip_feeless_payment::SkipCheckIfFeeless<
 		Runtime,
 		pallet_asset_conversion_tx_payment::ChargeAssetTxPayment<Runtime>,
@@ -2484,11 +2471,11 @@ pub type TxExtension = (
 
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 /// The payload being signed in transactions.
-pub type SignedPayload = generic::SignedPayload<RuntimeCall, TxExtension>;
+pub type SignedPayload = generic::SignedPayload<RuntimeCall, SignedExtra>;
 /// Extrinsic type that has already been checked.
-pub type CheckedExtrinsic = generic::CheckedExtrinsic<AccountId, RuntimeCall, TxExtension>;
+pub type CheckedExtrinsic = generic::CheckedExtrinsic<AccountId, RuntimeCall, SignedExtra>;
 /// Executive: handles dispatch to the various modules.
 pub type Executive = frame_executive::Executive<
 	Runtime,
@@ -2543,106 +2530,6 @@ mod mmr {
 	pub type Hashing = <Runtime as pallet_mmr::Config>::Hashing;
 }
 
-#[cfg(feature = "runtime-benchmarks")]
-pub struct AssetConversionTxHelper;
-
-#[cfg(feature = "runtime-benchmarks")]
-impl pallet_asset_conversion_tx_payment::BenchmarkHelperTrait<AccountId, u32, u32>
-	for AssetConversionTxHelper
-{
-	fn create_asset_id_parameter(seed: u32) -> (u32, u32) {
-		(seed, seed)
-	}
-
-	fn setup_balances_and_pool(asset_id: u32, account: AccountId) {
-		use frame_support::{assert_ok, traits::fungibles::Mutate};
-		assert_ok!(Assets::force_create(
-			RuntimeOrigin::root(),
-			asset_id.into(),
-			account.clone().into(), /* owner */
-			true,                   /* is_sufficient */
-			1,
-		));
-
-		let lp_provider = account.clone();
-		let _ = Balances::deposit_creating(&lp_provider, ((u64::MAX as u128) * 100).into());
-		assert_ok!(Assets::mint_into(
-			asset_id.into(),
-			&lp_provider,
-			((u64::MAX as u128) * 100).into()
-		));
-
-		let token_native = Box::new(NativeOrWithId::Native);
-		let token_second = Box::new(NativeOrWithId::WithId(asset_id));
-
-		assert_ok!(AssetConversion::create_pool(
-			RuntimeOrigin::signed(lp_provider.clone()),
-			token_native.clone(),
-			token_second.clone()
-		));
-
-		assert_ok!(AssetConversion::add_liquidity(
-			RuntimeOrigin::signed(lp_provider.clone()),
-			token_native,
-			token_second,
-			u64::MAX.into(), // 1 desired
-			u64::MAX.into(), // 2 desired
-			1,               // 1 min
-			1,               // 2 min
-			lp_provider,
-		));
-	}
-}
-
-#[cfg(feature = "runtime-benchmarks")]
-pub struct AssetTxHelper;
-
-#[cfg(feature = "runtime-benchmarks")]
-impl pallet_asset_tx_payment::BenchmarkHelperTrait<AccountId, u32, u32> for AssetTxHelper {
-	fn create_asset_id_parameter(seed: u32) -> (u32, u32) {
-		(seed, seed)
-	}
-
-	fn setup_balances_and_pool(asset_id: u32, account: AccountId) {
-		use frame_support::{assert_ok, traits::fungibles::Mutate};
-		assert_ok!(Assets::force_create(
-			RuntimeOrigin::root(),
-			asset_id.into(),
-			account.clone().into(), /* owner */
-			true,                   /* is_sufficient */
-			1,
-		));
-
-		let lp_provider = account.clone();
-		let _ = Balances::deposit_creating(&lp_provider, ((u64::MAX as u128) * 100).into());
-		assert_ok!(Assets::mint_into(
-			asset_id.into(),
-			&lp_provider,
-			((u64::MAX as u128) * 100).into()
-		));
-
-		let token_native = Box::new(NativeOrWithId::Native);
-		let token_second = Box::new(NativeOrWithId::WithId(asset_id));
-
-		assert_ok!(AssetConversion::create_pool(
-			RuntimeOrigin::signed(lp_provider.clone()),
-			token_native.clone(),
-			token_second.clone()
-		));
-
-		assert_ok!(AssetConversion::add_liquidity(
-			RuntimeOrigin::signed(lp_provider.clone()),
-			token_native,
-			token_second,
-			u64::MAX.into(), // 1 desired
-			u64::MAX.into(), // 2 desired
-			1,               // 1 min
-			1,               // 2 min
-			lp_provider,
-		));
-	}
-}
-
 #[cfg(feature = "runtime-benchmarks")]
 mod benches {
 	frame_benchmarking::define_benchmarks!(
@@ -2663,9 +2550,6 @@ mod benches {
 		[tasks_example, TasksExample]
 		[pallet_democracy, Democracy]
 		[pallet_asset_conversion, AssetConversion]
-		[pallet_asset_conversion_tx_payment, AssetConversionTxPayment]
-		[pallet_asset_tx_payment, AssetTxPayment]
-		[pallet_transaction_payment, TransactionPayment]
 		[pallet_election_provider_multi_phase, ElectionProviderMultiPhase]
 		[pallet_election_provider_support_benchmarking, EPSBench::<Runtime>]
 		[pallet_elections_phragmen, Elections]
@@ -2699,7 +2583,6 @@ mod benches {
 		[pallet_state_trie_migration, StateTrieMigration]
 		[pallet_sudo, Sudo]
 		[frame_system, SystemBench::<Runtime>]
-		[frame_system_extensions, SystemExtensionsBench::<Runtime>]
 		[pallet_timestamp, Timestamp]
 		[pallet_tips, Tips]
 		[pallet_transaction_storage, TransactionStorage]
@@ -3247,7 +3130,6 @@ impl_runtime_apis! {
 			use pallet_offences_benchmarking::Pallet as OffencesBench;
 			use pallet_election_provider_support_benchmarking::Pallet as EPSBench;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use baseline::Pallet as BaselineBench;
 			use pallet_nomination_pools_benchmarking::Pallet as NominationPoolsBench;
 
@@ -3272,7 +3154,6 @@ impl_runtime_apis! {
 			use pallet_offences_benchmarking::Pallet as OffencesBench;
 			use pallet_election_provider_support_benchmarking::Pallet as EPSBench;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use baseline::Pallet as BaselineBench;
 			use pallet_nomination_pools_benchmarking::Pallet as NominationPoolsBench;
 
diff --git a/substrate/bin/node/testing/src/bench.rs b/substrate/bin/node/testing/src/bench.rs
index ccf79eed884..df302a6453b 100644
--- a/substrate/bin/node/testing/src/bench.rs
+++ b/substrate/bin/node/testing/src/bench.rs
@@ -51,7 +51,6 @@ use sp_core::{ed25519, sr25519, traits::SpawnNamed, Pair, Public};
 use sp_crypto_hashing::blake2_256;
 use sp_inherents::InherentData;
 use sp_runtime::{
-	generic::{ExtrinsicFormat, Preamble},
 	traits::{Block as BlockT, IdentifyAccount, Verify},
 	OpaqueExtrinsic,
 };
@@ -296,10 +295,10 @@ impl<'a> Iterator for BlockContentIterator<'a> {
 
 		let signed = self.keyring.sign(
 			CheckedExtrinsic {
-				format: ExtrinsicFormat::Signed(
+				signed: Some((
 					sender,
-					tx_ext(0, kitchensink_runtime::ExistentialDeposit::get() + 1),
-				),
+					signed_extra(0, kitchensink_runtime::ExistentialDeposit::get() + 1),
+				)),
 				function: match self.content.block_type {
 					BlockType::RandomTransfersKeepAlive =>
 						RuntimeCall::Balances(BalancesCall::transfer_keep_alive {
@@ -563,11 +562,11 @@ impl BenchKeyring {
 		tx_version: u32,
 		genesis_hash: [u8; 32],
 	) -> UncheckedExtrinsic {
-		match xt.format {
-			ExtrinsicFormat::Signed(signed, tx_ext) => {
+		match xt.signed {
+			Some((signed, extra)) => {
 				let payload = (
 					xt.function,
-					tx_ext.clone(),
+					extra.clone(),
 					spec_version,
 					tx_version,
 					genesis_hash,
@@ -582,20 +581,11 @@ impl BenchKeyring {
 					}
 				});
 				UncheckedExtrinsic {
-					preamble: Preamble::Signed(
-						sp_runtime::MultiAddress::Id(signed),
-						signature,
-						tx_ext,
-					),
+					signature: Some((sp_runtime::MultiAddress::Id(signed), signature, extra)),
 					function: payload.0,
 				}
 			},
-			ExtrinsicFormat::Bare =>
-				UncheckedExtrinsic { preamble: Preamble::Bare, function: xt.function },
-			ExtrinsicFormat::General(tx_ext) => UncheckedExtrinsic {
-				preamble: sp_runtime::generic::Preamble::General(tx_ext),
-				function: xt.function,
-			},
+			None => UncheckedExtrinsic { signature: None, function: xt.function },
 		}
 	}
 
diff --git a/substrate/bin/node/testing/src/keyring.rs b/substrate/bin/node/testing/src/keyring.rs
index 13daf915325..f712191bed6 100644
--- a/substrate/bin/node/testing/src/keyring.rs
+++ b/substrate/bin/node/testing/src/keyring.rs
@@ -19,13 +19,13 @@
 //! Test accounts.
 
 use codec::Encode;
-use kitchensink_runtime::{CheckedExtrinsic, SessionKeys, TxExtension, UncheckedExtrinsic};
+use kitchensink_runtime::{CheckedExtrinsic, SessionKeys, SignedExtra, UncheckedExtrinsic};
 use node_cli::chain_spec::get_from_seed;
 use node_primitives::{AccountId, Balance, Nonce};
 use sp_core::{ecdsa, ed25519, sr25519};
 use sp_crypto_hashing::blake2_256;
 use sp_keyring::AccountKeyring;
-use sp_runtime::generic::{Era, ExtrinsicFormat};
+use sp_runtime::generic::Era;
 
 /// Alice's account id.
 pub fn alice() -> AccountId {
@@ -70,18 +70,15 @@ pub fn session_keys_from_seed(seed: &str) -> SessionKeys {
 }
 
 /// Returns transaction extra.
-pub fn tx_ext(nonce: Nonce, extra_fee: Balance) -> TxExtension {
+pub fn signed_extra(nonce: Nonce, extra_fee: Balance) -> SignedExtra {
 	(
-		(
-			frame_system::CheckNonZeroSender::new(),
-			frame_system::CheckSpecVersion::new(),
-			frame_system::CheckTxVersion::new(),
-			frame_system::CheckGenesis::new(),
-			frame_system::CheckEra::from(Era::mortal(256, 0)),
-			frame_system::CheckNonce::from(nonce),
-			frame_system::CheckWeight::new(),
-		)
-			.into(),
+		frame_system::CheckNonZeroSender::new(),
+		frame_system::CheckSpecVersion::new(),
+		frame_system::CheckTxVersion::new(),
+		frame_system::CheckGenesis::new(),
+		frame_system::CheckEra::from(Era::mortal(256, 0)),
+		frame_system::CheckNonce::from(nonce),
+		frame_system::CheckWeight::new(),
 		pallet_skip_feeless_payment::SkipCheckIfFeeless::from(
 			pallet_asset_conversion_tx_payment::ChargeAssetTxPayment::from(extra_fee, None),
 		),
@@ -95,10 +92,10 @@ pub fn sign(
 	tx_version: u32,
 	genesis_hash: [u8; 32],
 ) -> UncheckedExtrinsic {
-	match xt.format {
-		ExtrinsicFormat::Signed(signed, tx_ext) => {
+	match xt.signed {
+		Some((signed, extra)) => {
 			let payload =
-				(xt.function, tx_ext.clone(), spec_version, tx_version, genesis_hash, genesis_hash);
+				(xt.function, extra.clone(), spec_version, tx_version, genesis_hash, genesis_hash);
 			let key = AccountKeyring::from_account_id(&signed).unwrap();
 			let signature =
 				payload
@@ -111,21 +108,10 @@ pub fn sign(
 					})
 					.into();
 			UncheckedExtrinsic {
-				preamble: sp_runtime::generic::Preamble::Signed(
-					sp_runtime::MultiAddress::Id(signed),
-					signature,
-					tx_ext,
-				),
+				signature: Some((sp_runtime::MultiAddress::Id(signed), signature, extra)),
 				function: payload.0,
 			}
 		},
-		ExtrinsicFormat::Bare => UncheckedExtrinsic {
-			preamble: sp_runtime::generic::Preamble::Bare,
-			function: xt.function,
-		},
-		ExtrinsicFormat::General(tx_ext) => UncheckedExtrinsic {
-			preamble: sp_runtime::generic::Preamble::General(tx_ext),
-			function: xt.function,
-		},
+		None => UncheckedExtrinsic { signature: None, function: xt.function },
 	}
 }
diff --git a/substrate/client/api/src/notifications/tests.rs b/substrate/client/api/src/notifications/tests.rs
index 7afdcbd9543..fba829b1cf9 100644
--- a/substrate/client/api/src/notifications/tests.rs
+++ b/substrate/client/api/src/notifications/tests.rs
@@ -18,10 +18,7 @@
 
 use super::*;
 
-use sp_runtime::{
-	generic::UncheckedExtrinsic,
-	testing::{Block as RawBlock, H256 as Hash},
-};
+use sp_runtime::testing::{Block as RawBlock, ExtrinsicWrapper, H256 as Hash};
 use std::iter::{empty, Empty};
 
 type TestChangeSet = (
@@ -53,7 +50,7 @@ impl PartialEq for StorageChangeSet {
 	}
 }
 
-type Block = RawBlock<UncheckedExtrinsic<u64, substrate_test_runtime::RuntimeCall, (), ()>>;
+type Block = RawBlock<ExtrinsicWrapper<Hash>>;
 
 #[test]
 fn triggering_change_should_notify_wildcard_listeners() {
diff --git a/substrate/client/db/benches/state_access.rs b/substrate/client/db/benches/state_access.rs
index 9f3b8ca77c2..e47559e710d 100644
--- a/substrate/client/db/benches/state_access.rs
+++ b/substrate/client/db/benches/state_access.rs
@@ -22,13 +22,12 @@ use sc_client_api::{Backend as _, BlockImportOperation, NewBlockState, StateBack
 use sc_client_db::{Backend, BlocksPruning, DatabaseSettings, DatabaseSource, PruningMode};
 use sp_core::H256;
 use sp_runtime::{
-	generic::UncheckedExtrinsic,
-	testing::{Block as RawBlock, Header, MockCallU64},
+	testing::{Block as RawBlock, ExtrinsicWrapper, Header},
 	StateVersion, Storage,
 };
 use tempfile::TempDir;
 
-pub(crate) type Block = RawBlock<UncheckedExtrinsic<u64, MockCallU64, (), ()>>;
+pub(crate) type Block = RawBlock<ExtrinsicWrapper<u64>>;
 
 fn insert_blocks(db: &Backend<Block>, storage: Vec<(Vec<u8>, Vec<u8>)>) -> H256 {
 	let mut op = db.begin_operation().unwrap();
diff --git a/substrate/client/db/src/lib.rs b/substrate/client/db/src/lib.rs
index f22022ef29a..0faa90dfc4f 100644
--- a/substrate/client/db/src/lib.rs
+++ b/substrate/client/db/src/lib.rs
@@ -2573,8 +2573,7 @@ pub(crate) mod tests {
 	use sp_blockchain::{lowest_common_ancestor, tree_route};
 	use sp_core::H256;
 	use sp_runtime::{
-		generic::UncheckedExtrinsic,
-		testing::{Block as RawBlock, Header, MockCallU64},
+		testing::{Block as RawBlock, ExtrinsicWrapper, Header},
 		traits::{BlakeTwo256, Hash},
 		ConsensusEngineId, StateVersion,
 	};
@@ -2582,8 +2581,7 @@ pub(crate) mod tests {
 	const CONS0_ENGINE_ID: ConsensusEngineId = *b"CON0";
 	const CONS1_ENGINE_ID: ConsensusEngineId = *b"CON1";
 
-	type UncheckedXt = UncheckedExtrinsic<u64, MockCallU64, (), ()>;
-	pub(crate) type Block = RawBlock<UncheckedXt>;
+	pub(crate) type Block = RawBlock<ExtrinsicWrapper<u64>>;
 
 	pub fn insert_header(
 		backend: &Backend<Block>,
@@ -2602,7 +2600,7 @@ pub(crate) mod tests {
 		parent_hash: H256,
 		_changes: Option<Vec<(Vec<u8>, Vec<u8>)>>,
 		extrinsics_root: H256,
-		body: Vec<UncheckedXt>,
+		body: Vec<ExtrinsicWrapper<u64>>,
 		transaction_index: Option<Vec<IndexOperation>>,
 	) -> Result<H256, sp_blockchain::Error> {
 		use sp_runtime::testing::Digest;
@@ -3416,7 +3414,7 @@ pub(crate) mod tests {
 					prev_hash,
 					None,
 					Default::default(),
-					vec![UncheckedXt::new_transaction(i.into(), ())],
+					vec![i.into()],
 					None,
 				)
 				.unwrap();
@@ -3438,20 +3436,11 @@ pub(crate) mod tests {
 				assert_eq!(None, bc.body(blocks[0]).unwrap());
 				assert_eq!(None, bc.body(blocks[1]).unwrap());
 				assert_eq!(None, bc.body(blocks[2]).unwrap());
-				assert_eq!(
-					Some(vec![UncheckedXt::new_transaction(3.into(), ())]),
-					bc.body(blocks[3]).unwrap()
-				);
-				assert_eq!(
-					Some(vec![UncheckedXt::new_transaction(4.into(), ())]),
-					bc.body(blocks[4]).unwrap()
-				);
+				assert_eq!(Some(vec![3.into()]), bc.body(blocks[3]).unwrap());
+				assert_eq!(Some(vec![4.into()]), bc.body(blocks[4]).unwrap());
 			} else {
 				for i in 0..5 {
-					assert_eq!(
-						Some(vec![UncheckedXt::new_transaction((i as u64).into(), ())]),
-						bc.body(blocks[i]).unwrap()
-					);
+					assert_eq!(Some(vec![(i as u64).into()]), bc.body(blocks[i]).unwrap());
 				}
 			}
 		}
@@ -3475,7 +3464,7 @@ pub(crate) mod tests {
 					prev_hash,
 					None,
 					Default::default(),
-					vec![UncheckedXt::new_transaction(i.into(), ())],
+					vec![i.into()],
 					None,
 				)
 				.unwrap();
@@ -3484,26 +3473,16 @@ pub(crate) mod tests {
 			}
 
 			// insert a fork at block 2
-			let fork_hash_root = insert_block(
-				&backend,
-				2,
-				blocks[1],
-				None,
-				H256::random(),
-				vec![UncheckedXt::new_transaction(2.into(), ())],
-				None,
-			)
-			.unwrap();
+			let fork_hash_root =
+				insert_block(&backend, 2, blocks[1], None, H256::random(), vec![2.into()], None)
+					.unwrap();
 			insert_block(
 				&backend,
 				3,
 				fork_hash_root,
 				None,
 				H256::random(),
-				vec![
-					UncheckedXt::new_transaction(3.into(), ()),
-					UncheckedXt::new_transaction(11.into(), ()),
-				],
+				vec![3.into(), 11.into()],
 				None,
 			)
 			.unwrap();
@@ -3513,10 +3492,7 @@ pub(crate) mod tests {
 			backend.commit_operation(op).unwrap();
 
 			let bc = backend.blockchain();
-			assert_eq!(
-				Some(vec![UncheckedXt::new_transaction(2.into(), ())]),
-				bc.body(fork_hash_root).unwrap()
-			);
+			assert_eq!(Some(vec![2.into()]), bc.body(fork_hash_root).unwrap());
 
 			for i in 1..5 {
 				let mut op = backend.begin_operation().unwrap();
@@ -3530,28 +3506,16 @@ pub(crate) mod tests {
 				assert_eq!(None, bc.body(blocks[1]).unwrap());
 				assert_eq!(None, bc.body(blocks[2]).unwrap());
 
-				assert_eq!(
-					Some(vec![UncheckedXt::new_transaction(3.into(), ())]),
-					bc.body(blocks[3]).unwrap()
-				);
-				assert_eq!(
-					Some(vec![UncheckedXt::new_transaction(4.into(), ())]),
-					bc.body(blocks[4]).unwrap()
-				);
+				assert_eq!(Some(vec![3.into()]), bc.body(blocks[3]).unwrap());
+				assert_eq!(Some(vec![4.into()]), bc.body(blocks[4]).unwrap());
 			} else {
 				for i in 0..5 {
-					assert_eq!(
-						Some(vec![UncheckedXt::new_transaction((i as u64).into(), ())]),
-						bc.body(blocks[i]).unwrap()
-					);
+					assert_eq!(Some(vec![(i as u64).into()]), bc.body(blocks[i]).unwrap());
 				}
 			}
 
 			if matches!(pruning, BlocksPruning::KeepAll) {
-				assert_eq!(
-					Some(vec![UncheckedXt::new_transaction(2.into(), ())]),
-					bc.body(fork_hash_root).unwrap()
-				);
+				assert_eq!(Some(vec![2.into()]), bc.body(fork_hash_root).unwrap());
 			} else {
 				assert_eq!(None, bc.body(fork_hash_root).unwrap());
 			}
@@ -3572,16 +3536,8 @@ pub(crate) mod tests {
 		let backend = Backend::<Block>::new_test_with_tx_storage(BlocksPruning::Some(10), 10);
 
 		let make_block = |index, parent, val: u64| {
-			insert_block(
-				&backend,
-				index,
-				parent,
-				None,
-				H256::random(),
-				vec![UncheckedXt::new_transaction(val.into(), ())],
-				None,
-			)
-			.unwrap()
+			insert_block(&backend, index, parent, None, H256::random(), vec![val.into()], None)
+				.unwrap()
 		};
 
 		let block_0 = make_block(0, Default::default(), 0x00);
@@ -3609,30 +3565,18 @@ pub(crate) mod tests {
 		let bc = backend.blockchain();
 		assert_eq!(None, bc.body(block_1b).unwrap());
 		assert_eq!(None, bc.body(block_2b).unwrap());
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(0x00.into(), ())]),
-			bc.body(block_0).unwrap()
-		);
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(0x1a.into(), ())]),
-			bc.body(block_1a).unwrap()
-		);
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(0x2a.into(), ())]),
-			bc.body(block_2a).unwrap()
-		);
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(0x3a.into(), ())]),
-			bc.body(block_3a).unwrap()
-		);
+		assert_eq!(Some(vec![0x00.into()]), bc.body(block_0).unwrap());
+		assert_eq!(Some(vec![0x1a.into()]), bc.body(block_1a).unwrap());
+		assert_eq!(Some(vec![0x2a.into()]), bc.body(block_2a).unwrap());
+		assert_eq!(Some(vec![0x3a.into()]), bc.body(block_3a).unwrap());
 	}
 
 	#[test]
 	fn indexed_data_block_body() {
 		let backend = Backend::<Block>::new_test_with_tx_storage(BlocksPruning::Some(1), 10);
 
-		let x0 = UncheckedXt::new_transaction(0.into(), ()).encode();
-		let x1 = UncheckedXt::new_transaction(1.into(), ()).encode();
+		let x0 = ExtrinsicWrapper::from(0u64).encode();
+		let x1 = ExtrinsicWrapper::from(1u64).encode();
 		let x0_hash = <HashingFor<Block> as sp_core::Hasher>::hash(&x0[1..]);
 		let x1_hash = <HashingFor<Block> as sp_core::Hasher>::hash(&x1[1..]);
 		let index = vec![
@@ -3653,10 +3597,7 @@ pub(crate) mod tests {
 			Default::default(),
 			None,
 			Default::default(),
-			vec![
-				UncheckedXt::new_transaction(0.into(), ()),
-				UncheckedXt::new_transaction(1.into(), ()),
-			],
+			vec![0u64.into(), 1u64.into()],
 			Some(index),
 		)
 		.unwrap();
@@ -3678,9 +3619,8 @@ pub(crate) mod tests {
 	fn index_invalid_size() {
 		let backend = Backend::<Block>::new_test_with_tx_storage(BlocksPruning::Some(1), 10);
 
-		let x0 = UncheckedXt::new_transaction(0.into(), ()).encode();
-		let x1 = UncheckedXt::new_transaction(1.into(), ()).encode();
-
+		let x0 = ExtrinsicWrapper::from(0u64).encode();
+		let x1 = ExtrinsicWrapper::from(1u64).encode();
 		let x0_hash = <HashingFor<Block> as sp_core::Hasher>::hash(&x0[..]);
 		let x1_hash = <HashingFor<Block> as sp_core::Hasher>::hash(&x1[..]);
 		let index = vec![
@@ -3701,10 +3641,7 @@ pub(crate) mod tests {
 			Default::default(),
 			None,
 			Default::default(),
-			vec![
-				UncheckedXt::new_transaction(0.into(), ()),
-				UncheckedXt::new_transaction(1.into(), ()),
-			],
+			vec![0u64.into(), 1u64.into()],
 			Some(index),
 		)
 		.unwrap();
@@ -3718,7 +3655,7 @@ pub(crate) mod tests {
 		let backend = Backend::<Block>::new_test_with_tx_storage(BlocksPruning::Some(2), 10);
 		let mut blocks = Vec::new();
 		let mut prev_hash = Default::default();
-		let x1 = UncheckedXt::new_transaction(0.into(), ()).encode();
+		let x1 = ExtrinsicWrapper::from(0u64).encode();
 		let x1_hash = <HashingFor<Block> as sp_core::Hasher>::hash(&x1[1..]);
 		for i in 0..10 {
 			let mut index = Vec::new();
@@ -3738,7 +3675,7 @@ pub(crate) mod tests {
 				prev_hash,
 				None,
 				Default::default(),
-				vec![UncheckedXt::new_transaction(i.into(), ())],
+				vec![i.into()],
 				Some(index),
 			)
 			.unwrap();
@@ -3772,7 +3709,7 @@ pub(crate) mod tests {
 				prev_hash,
 				None,
 				Default::default(),
-				vec![UncheckedXt::new_transaction(i.into(), ())],
+				vec![i.into()],
 				None,
 			)
 			.unwrap();
@@ -3787,7 +3724,7 @@ pub(crate) mod tests {
 				blocks[1],
 				None,
 				sp_core::H256::random(),
-				vec![UncheckedXt::new_transaction(i.into(), ())],
+				vec![i.into()],
 				None,
 			)
 			.unwrap();
@@ -3801,7 +3738,7 @@ pub(crate) mod tests {
 			blocks[0],
 			None,
 			sp_core::H256::random(),
-			vec![UncheckedXt::new_transaction(42.into(), ())],
+			vec![42.into()],
 			None,
 		)
 		.unwrap();
@@ -4274,7 +4211,7 @@ pub(crate) mod tests {
 				prev_hash,
 				None,
 				Default::default(),
-				vec![UncheckedXt::new_transaction(i.into(), ())],
+				vec![i.into()],
 				None,
 			)
 			.unwrap();
@@ -4289,10 +4226,7 @@ pub(crate) mod tests {
 
 		// Check that we can properly access values when there is reference count
 		// but no value.
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(1.into(), ())]),
-			bc.body(blocks[1]).unwrap()
-		);
+		assert_eq!(Some(vec![1.into()]), bc.body(blocks[1]).unwrap());
 
 		// Block 1 gets pinned three times
 		backend.pin_block(blocks[1]).unwrap();
@@ -4309,42 +4243,27 @@ pub(crate) mod tests {
 
 		// Block 0, 1, 2, 3 are pinned, so all values should be cached.
 		// Block 4 is inside the pruning window, its value is in db.
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(0.into(), ())]),
-			bc.body(blocks[0]).unwrap()
-		);
+		assert_eq!(Some(vec![0.into()]), bc.body(blocks[0]).unwrap());
 
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(1.into(), ())]),
-			bc.body(blocks[1]).unwrap()
-		);
+		assert_eq!(Some(vec![1.into()]), bc.body(blocks[1]).unwrap());
 		assert_eq!(
 			Some(Justifications::from(build_justification(1))),
 			bc.justifications(blocks[1]).unwrap()
 		);
 
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(2.into(), ())]),
-			bc.body(blocks[2]).unwrap()
-		);
+		assert_eq!(Some(vec![2.into()]), bc.body(blocks[2]).unwrap());
 		assert_eq!(
 			Some(Justifications::from(build_justification(2))),
 			bc.justifications(blocks[2]).unwrap()
 		);
 
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(3.into(), ())]),
-			bc.body(blocks[3]).unwrap()
-		);
+		assert_eq!(Some(vec![3.into()]), bc.body(blocks[3]).unwrap());
 		assert_eq!(
 			Some(Justifications::from(build_justification(3))),
 			bc.justifications(blocks[3]).unwrap()
 		);
 
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(4.into(), ())]),
-			bc.body(blocks[4]).unwrap()
-		);
+		assert_eq!(Some(vec![4.into()]), bc.body(blocks[4]).unwrap());
 		assert_eq!(
 			Some(Justifications::from(build_justification(4))),
 			bc.justifications(blocks[4]).unwrap()
@@ -4375,10 +4294,7 @@ pub(crate) mod tests {
 		assert!(bc.justifications(blocks[1]).unwrap().is_none());
 
 		// Block 4 is inside the pruning window and still kept
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(4.into(), ())]),
-			bc.body(blocks[4]).unwrap()
-		);
+		assert_eq!(Some(vec![4.into()]), bc.body(blocks[4]).unwrap());
 		assert_eq!(
 			Some(Justifications::from(build_justification(4))),
 			bc.justifications(blocks[4]).unwrap()
@@ -4386,16 +4302,9 @@ pub(crate) mod tests {
 
 		// Block tree:
 		//   0 -> 1 -> 2 -> 3 -> 4 -> 5
-		let hash = insert_block(
-			&backend,
-			5,
-			prev_hash,
-			None,
-			Default::default(),
-			vec![UncheckedXt::new_transaction(5.into(), ())],
-			None,
-		)
-		.unwrap();
+		let hash =
+			insert_block(&backend, 5, prev_hash, None, Default::default(), vec![5.into()], None)
+				.unwrap();
 		blocks.push(hash);
 
 		backend.pin_block(blocks[4]).unwrap();
@@ -4410,18 +4319,12 @@ pub(crate) mod tests {
 		assert!(bc.body(blocks[2]).unwrap().is_none());
 		assert!(bc.body(blocks[3]).unwrap().is_none());
 
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(4.into(), ())]),
-			bc.body(blocks[4]).unwrap()
-		);
+		assert_eq!(Some(vec![4.into()]), bc.body(blocks[4]).unwrap());
 		assert_eq!(
 			Some(Justifications::from(build_justification(4))),
 			bc.justifications(blocks[4]).unwrap()
 		);
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(5.into(), ())]),
-			bc.body(blocks[5]).unwrap()
-		);
+		assert_eq!(Some(vec![5.into()]), bc.body(blocks[5]).unwrap());
 		assert!(bc.header(blocks[5]).ok().flatten().is_some());
 
 		backend.unpin_block(blocks[4]);
@@ -4431,16 +4334,9 @@ pub(crate) mod tests {
 		// Append a justification to block 5.
 		backend.append_justification(blocks[5], ([0, 0, 0, 1], vec![42])).unwrap();
 
-		let hash = insert_block(
-			&backend,
-			6,
-			blocks[5],
-			None,
-			Default::default(),
-			vec![UncheckedXt::new_transaction(6.into(), ())],
-			None,
-		)
-		.unwrap();
+		let hash =
+			insert_block(&backend, 6, blocks[5], None, Default::default(), vec![6.into()], None)
+				.unwrap();
 		blocks.push(hash);
 
 		// Pin block 5 so it gets loaded into the cache on prune
@@ -4453,10 +4349,7 @@ pub(crate) mod tests {
 		op.mark_finalized(blocks[6], None).unwrap();
 		backend.commit_operation(op).unwrap();
 
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(5.into(), ())]),
-			bc.body(blocks[5]).unwrap()
-		);
+		assert_eq!(Some(vec![5.into()]), bc.body(blocks[5]).unwrap());
 		assert!(bc.header(blocks[5]).ok().flatten().is_some());
 		let mut expected = Justifications::from(build_justification(5));
 		expected.append(([0, 0, 0, 1], vec![42]));
@@ -4478,7 +4371,7 @@ pub(crate) mod tests {
 				prev_hash,
 				None,
 				Default::default(),
-				vec![UncheckedXt::new_transaction(i.into(), ())],
+				vec![i.into()],
 				None,
 			)
 			.unwrap();
@@ -4494,26 +4387,16 @@ pub(crate) mod tests {
 		// Block tree:
 		//   0 -> 1 -> 2 -> 3 -> 4
 		//        \ -> 2 -> 3
-		let fork_hash_root = insert_block(
-			&backend,
-			2,
-			blocks[1],
-			None,
-			H256::random(),
-			vec![UncheckedXt::new_transaction(2.into(), ())],
-			None,
-		)
-		.unwrap();
+		let fork_hash_root =
+			insert_block(&backend, 2, blocks[1], None, H256::random(), vec![2.into()], None)
+				.unwrap();
 		let fork_hash_3 = insert_block(
 			&backend,
 			3,
 			fork_hash_root,
 			None,
 			H256::random(),
-			vec![
-				UncheckedXt::new_transaction(3.into(), ()),
-				UncheckedXt::new_transaction(11.into(), ()),
-			],
+			vec![3.into(), 11.into()],
 			None,
 		)
 		.unwrap();
@@ -4534,35 +4417,14 @@ pub(crate) mod tests {
 		}
 
 		let bc = backend.blockchain();
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(0.into(), ())]),
-			bc.body(blocks[0]).unwrap()
-		);
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(1.into(), ())]),
-			bc.body(blocks[1]).unwrap()
-		);
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(2.into(), ())]),
-			bc.body(blocks[2]).unwrap()
-		);
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(3.into(), ())]),
-			bc.body(blocks[3]).unwrap()
-		);
-		assert_eq!(
-			Some(vec![UncheckedXt::new_transaction(4.into(), ())]),
-			bc.body(blocks[4]).unwrap()
-		);
+		assert_eq!(Some(vec![0.into()]), bc.body(blocks[0]).unwrap());
+		assert_eq!(Some(vec![1.into()]), bc.body(blocks[1]).unwrap());
+		assert_eq!(Some(vec![2.into()]), bc.body(blocks[2]).unwrap());
+		assert_eq!(Some(vec![3.into()]), bc.body(blocks[3]).unwrap());
+		assert_eq!(Some(vec![4.into()]), bc.body(blocks[4]).unwrap());
 		// Check the fork hashes.
 		assert_eq!(None, bc.body(fork_hash_root).unwrap());
-		assert_eq!(
-			Some(vec![
-				UncheckedXt::new_transaction(3.into(), ()),
-				UncheckedXt::new_transaction(11.into(), ())
-			]),
-			bc.body(fork_hash_3).unwrap()
-		);
+		assert_eq!(Some(vec![3.into(), 11.into()]), bc.body(fork_hash_3).unwrap());
 
 		// Unpin all blocks, except the forked one.
 		for block in &blocks {
diff --git a/substrate/client/db/src/utils.rs b/substrate/client/db/src/utils.rs
index d2a5f7e718a..abf9c4629ce 100644
--- a/substrate/client/db/src/utils.rs
+++ b/substrate/client/db/src/utils.rs
@@ -582,19 +582,14 @@ impl<'a, 'b> codec::Input for JoinInput<'a, 'b> {
 mod tests {
 	use super::*;
 	use codec::Input;
-	use sp_runtime::{
-		generic::UncheckedExtrinsic,
-		testing::{Block as RawBlock, MockCallU64},
-	};
-
-	pub type UncheckedXt = UncheckedExtrinsic<u64, MockCallU64, (), ()>;
-	type Block = RawBlock<UncheckedXt>;
+	use sp_runtime::testing::{Block as RawBlock, ExtrinsicWrapper};
+	type Block = RawBlock<ExtrinsicWrapper<u32>>;
 
 	#[cfg(feature = "rocksdb")]
 	#[test]
 	fn database_type_subdir_migration() {
 		use std::path::PathBuf;
-		type Block = RawBlock<UncheckedXt>;
+		type Block = RawBlock<ExtrinsicWrapper<u64>>;
 
 		fn check_dir_for_db_type(
 			db_type: DatabaseType,
diff --git a/substrate/client/network-gossip/src/state_machine.rs b/substrate/client/network-gossip/src/state_machine.rs
index f1c830341ea..069d7cdba16 100644
--- a/substrate/client/network-gossip/src/state_machine.rs
+++ b/substrate/client/network-gossip/src/state_machine.rs
@@ -550,8 +550,7 @@ mod tests {
 		NotificationSenderError, NotificationSenderT as NotificationSender, ReputationChange,
 	};
 	use sp_runtime::{
-		generic::UncheckedExtrinsic,
-		testing::{Block as RawBlock, MockCallU64, H256},
+		testing::{Block as RawBlock, ExtrinsicWrapper, H256},
 		traits::NumberFor,
 	};
 	use std::{
@@ -560,7 +559,7 @@ mod tests {
 		sync::{Arc, Mutex},
 	};
 
-	type Block = RawBlock<UncheckedExtrinsic<u64, MockCallU64, (), ()>>;
+	type Block = RawBlock<ExtrinsicWrapper<u64>>;
 
 	macro_rules! push_msg {
 		($consensus:expr, $topic:expr, $hash: expr, $m:expr) => {
diff --git a/substrate/client/network/sync/src/blocks.rs b/substrate/client/network/sync/src/blocks.rs
index a115ee94767..4988045a478 100644
--- a/substrate/client/network/sync/src/blocks.rs
+++ b/substrate/client/network/sync/src/blocks.rs
@@ -265,12 +265,9 @@ mod test {
 	use libp2p::PeerId;
 	use sc_network_common::sync::message;
 	use sp_core::H256;
-	use sp_runtime::{
-		generic::UncheckedExtrinsic,
-		testing::{Block as RawBlock, MockCallU64},
-	};
+	use sp_runtime::testing::{Block as RawBlock, ExtrinsicWrapper};
 
-	type Block = RawBlock<UncheckedExtrinsic<u64, MockCallU64, (), ()>>;
+	type Block = RawBlock<ExtrinsicWrapper<u64>>;
 
 	fn is_empty(bc: &BlockCollection<Block>) -> bool {
 		bc.blocks.is_empty() && bc.peer_requests.is_empty()
diff --git a/substrate/client/transaction-pool/src/lib.rs b/substrate/client/transaction-pool/src/lib.rs
index 730cfe36712..64b301e6bf3 100644
--- a/substrate/client/transaction-pool/src/lib.rs
+++ b/substrate/client/transaction-pool/src/lib.rs
@@ -659,13 +659,8 @@ where
 					})
 					.unwrap_or_default()
 					.into_iter()
-					// TODO [#2415]: This isn't really what we mean - we really want a
-					// `tx.is_transaction`, since bare transactions may be gossipped as in the case
-					// of Frontier txs or claims. This will be sorted once we dispense with the
-					// concept of bare transactions and make inherents the only possible type of
-					// extrinsics which are bare. At this point we can change this to
-					// `tx.is_transaction()`.
-					.filter(|tx| !tx.is_bare());
+					.filter(|tx| tx.is_signed().unwrap_or(true));
+
 				let mut resubmitted_to_report = 0;
 
 				resubmit_transactions.extend(block_transactions.into_iter().filter(|tx| {
diff --git a/substrate/frame/alliance/src/weights.rs b/substrate/frame/alliance/src/weights.rs
index 0b2d1fca43c..b5bb5095720 100644
--- a/substrate/frame/alliance/src/weights.rs
+++ b/substrate/frame/alliance/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_alliance`
+//! Autogenerated weights for pallet_alliance
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/alliance/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/alliance/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_alliance`.
+/// Weight functions needed for pallet_alliance.
 pub trait WeightInfo {
 	fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight;
 	fn vote(m: u32, ) -> Weight;
@@ -73,209 +74,205 @@ pub trait WeightInfo {
 	fn abdicate_fellow_status() -> Weight;
 }
 
-/// Weights for `pallet_alliance` using the Substrate node and recommended hardware.
+/// Weights for pallet_alliance using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Alliance::Members` (r:1 w:0)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::ProposalOf` (r:1 w:1)
-	/// Proof: `AllianceMotion::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:1)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::ProposalCount` (r:1 w:1)
-	/// Proof: `AllianceMotion::ProposalCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Voting` (r:0 w:1)
-	/// Proof: `AllianceMotion::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:1 w:0)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion ProposalOf (r:1 w:1)
+	/// Proof Skipped: AllianceMotion ProposalOf (max_values: None, max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Proposals (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion ProposalCount (r:1 w:1)
+	/// Proof Skipped: AllianceMotion ProposalCount (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Voting (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Voting (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `b` is `[1, 1024]`.
 	/// The range of component `m` is `[2, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `654 + m * (32 ±0) + p * (36 ±0)`
+		//  Measured:  `653 + m * (32 ±0) + p * (35 ±0)`
 		//  Estimated: `6676 + m * (32 ±0) + p * (36 ±0)`
-		// Minimum execution time: 30_801_000 picoseconds.
-		Weight::from_parts(32_942_969, 6676)
-			// Standard Error: 112
-			.saturating_add(Weight::from_parts(614, 0).saturating_mul(b.into()))
-			// Standard Error: 1_177
-			.saturating_add(Weight::from_parts(45_758, 0).saturating_mul(m.into()))
-			// Standard Error: 1_162
-			.saturating_add(Weight::from_parts(136_600, 0).saturating_mul(p.into()))
+		// Minimum execution time: 36_908_000 picoseconds.
+		Weight::from_parts(39_040_304, 6676)
+			// Standard Error: 131
+			.saturating_add(Weight::from_parts(781, 0).saturating_mul(b.into()))
+			// Standard Error: 1_375
+			.saturating_add(Weight::from_parts(48_745, 0).saturating_mul(m.into()))
+			// Standard Error: 1_358
+			.saturating_add(Weight::from_parts(148_047, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Alliance::Members` (r:1 w:0)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Voting` (r:1 w:1)
-	/// Proof: `AllianceMotion::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:1 w:0)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Voting (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Voting (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `m` is `[5, 100]`.
 	fn vote(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1113 + m * (64 ±0)`
+		//  Measured:  `1042 + m * (64 ±0)`
 		//  Estimated: `6676 + m * (64 ±0)`
-		// Minimum execution time: 29_705_000 picoseconds.
-		Weight::from_parts(30_274_070, 6676)
-			// Standard Error: 884
-			.saturating_add(Weight::from_parts(71_178, 0).saturating_mul(m.into()))
+		// Minimum execution time: 30_166_000 picoseconds.
+		Weight::from_parts(32_798_454, 6676)
+			// Standard Error: 1_432
+			.saturating_add(Weight::from_parts(83_001, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `Alliance::Members` (r:1 w:0)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Voting` (r:1 w:1)
-	/// Proof: `AllianceMotion::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:1 w:0)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:1)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::ProposalOf` (r:0 w:1)
-	/// Proof: `AllianceMotion::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:1 w:0)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Voting (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Proposals (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion ProposalOf (r:0 w:1)
+	/// Proof Skipped: AllianceMotion ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `m` is `[4, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_early_disapproved(m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `640 + m * (96 ±0) + p * (36 ±0)`
+		//  Measured:  `576 + m * (96 ±0) + p * (36 ±0)`
 		//  Estimated: `6676 + m * (97 ±0) + p * (36 ±0)`
-		// Minimum execution time: 38_596_000 picoseconds.
-		Weight::from_parts(36_445_536, 6676)
-			// Standard Error: 1_217
-			.saturating_add(Weight::from_parts(69_976, 0).saturating_mul(m.into()))
-			// Standard Error: 1_187
-			.saturating_add(Weight::from_parts(149_706, 0).saturating_mul(p.into()))
+		// Minimum execution time: 45_173_000 picoseconds.
+		Weight::from_parts(42_192_020, 6676)
+			// Standard Error: 1_456
+			.saturating_add(Weight::from_parts(66_751, 0).saturating_mul(m.into()))
+			// Standard Error: 1_420
+			.saturating_add(Weight::from_parts(158_161, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 97).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Alliance::Members` (r:1 w:0)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Voting` (r:1 w:1)
-	/// Proof: `AllianceMotion::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:1 w:0)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::ProposalOf` (r:1 w:1)
-	/// Proof: `AllianceMotion::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:1)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:1 w:0)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Voting (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion ProposalOf (r:1 w:1)
+	/// Proof Skipped: AllianceMotion ProposalOf (max_values: None, max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Proposals (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `b` is `[1, 1024]`.
 	/// The range of component `m` is `[4, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1220 + m * (96 ±0) + p * (39 ±0)`
+		//  Measured:  `1087 + m * (96 ±0) + p * (39 ±0)`
 		//  Estimated: `6676 + m * (97 ±0) + p * (40 ±0)`
-		// Minimum execution time: 57_602_000 picoseconds.
-		Weight::from_parts(55_147_214, 6676)
-			// Standard Error: 127
-			.saturating_add(Weight::from_parts(1_650, 0).saturating_mul(b.into()))
-			// Standard Error: 1_346
-			.saturating_add(Weight::from_parts(56_056, 0).saturating_mul(m.into()))
-			// Standard Error: 1_312
-			.saturating_add(Weight::from_parts(168_247, 0).saturating_mul(p.into()))
-			.saturating_add(T::DbWeight::get().reads(7_u64))
+		// Minimum execution time: 58_290_000 picoseconds.
+		Weight::from_parts(54_924_919, 6676)
+			// Standard Error: 157
+			.saturating_add(Weight::from_parts(464, 0).saturating_mul(b.into()))
+			// Standard Error: 1_665
+			.saturating_add(Weight::from_parts(73_183, 0).saturating_mul(m.into()))
+			// Standard Error: 1_623
+			.saturating_add(Weight::from_parts(168_318, 0).saturating_mul(p.into()))
+			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 97).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 40).saturating_mul(p.into()))
 	}
-	/// Storage: `Alliance::Members` (r:1 w:0)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Voting` (r:1 w:1)
-	/// Proof: `AllianceMotion::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:1 w:0)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:1 w:0)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:1)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::ProposalOf` (r:0 w:1)
-	/// Proof: `AllianceMotion::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:1 w:0)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Voting (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Proposals (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion ProposalOf (r:0 w:1)
+	/// Proof Skipped: AllianceMotion ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `m` is `[2, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_disapproved(m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `641 + m * (96 ±0) + p * (36 ±0)`
+		//  Measured:  `577 + m * (96 ±0) + p * (36 ±0)`
 		//  Estimated: `6676 + m * (97 ±0) + p * (36 ±0)`
-		// Minimum execution time: 40_755_000 picoseconds.
-		Weight::from_parts(36_953_935, 6676)
-			// Standard Error: 1_177
-			.saturating_add(Weight::from_parts(73_240, 0).saturating_mul(m.into()))
-			// Standard Error: 1_162
-			.saturating_add(Weight::from_parts(149_412, 0).saturating_mul(p.into()))
+		// Minimum execution time: 46_794_000 picoseconds.
+		Weight::from_parts(43_092_958, 6676)
+			// Standard Error: 1_273
+			.saturating_add(Weight::from_parts(71_054, 0).saturating_mul(m.into()))
+			// Standard Error: 1_257
+			.saturating_add(Weight::from_parts(152_820, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 97).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Alliance::Members` (r:1 w:0)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Voting` (r:1 w:1)
-	/// Proof: `AllianceMotion::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:1 w:0)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:1 w:0)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:1)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::ProposalOf` (r:0 w:1)
-	/// Proof: `AllianceMotion::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:1 w:0)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Voting (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Proposals (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion ProposalOf (r:0 w:1)
+	/// Proof Skipped: AllianceMotion ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `b` is `[1, 1024]`.
 	/// The range of component `m` is `[5, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_approved(b: u32, m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `694 + m * (96 ±0) + p * (35 ±0)`
+		//  Measured:  `684 + m * (96 ±0) + p * (35 ±0)`
 		//  Estimated: `6676 + m * (97 ±0) + p * (36 ±0)`
-		// Minimum execution time: 41_113_000 picoseconds.
-		Weight::from_parts(36_610_116, 6676)
-			// Standard Error: 92
-			.saturating_add(Weight::from_parts(1_157, 0).saturating_mul(b.into()))
-			// Standard Error: 984
-			.saturating_add(Weight::from_parts(63_050, 0).saturating_mul(m.into()))
-			// Standard Error: 949
-			.saturating_add(Weight::from_parts(150_420, 0).saturating_mul(p.into()))
+		// Minimum execution time: 47_338_000 picoseconds.
+		Weight::from_parts(41_257_479, 6676)
+			// Standard Error: 119
+			.saturating_add(Weight::from_parts(1_019, 0).saturating_mul(b.into()))
+			// Standard Error: 1_277
+			.saturating_add(Weight::from_parts(78_453, 0).saturating_mul(m.into()))
+			// Standard Error: 1_231
+			.saturating_add(Weight::from_parts(150_991, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 97).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Alliance::Members` (r:2 w:2)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Members` (r:1 w:1)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:2 w:2)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Members (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[1, 100]`.
 	/// The range of component `z` is `[0, 100]`.
 	fn init_members(m: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `250`
+		//  Measured:  `217`
 		//  Estimated: `12362`
-		// Minimum execution time: 30_249_000 picoseconds.
-		Weight::from_parts(21_364_868, 12362)
-			// Standard Error: 887
-			.saturating_add(Weight::from_parts(131_624, 0).saturating_mul(m.into()))
-			// Standard Error: 877
-			.saturating_add(Weight::from_parts(105_379, 0).saturating_mul(z.into()))
+		// Minimum execution time: 35_012_000 picoseconds.
+		Weight::from_parts(24_288_079, 12362)
+			// Standard Error: 878
+			.saturating_add(Weight::from_parts(153_615, 0).saturating_mul(m.into()))
+			// Standard Error: 867
+			.saturating_add(Weight::from_parts(129_307, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Alliance::Members` (r:2 w:2)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:0)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Alliance::DepositOf` (r:200 w:50)
-	/// Proof: `Alliance::DepositOf` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:50 w:50)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Members` (r:0 w:1)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:0 w:1)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:2 w:2)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Proposals (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Alliance DepositOf (r:200 w:50)
+	/// Proof: Alliance DepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
+	/// Storage: System Account (r:50 w:50)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Members (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `x` is `[1, 100]`.
 	/// The range of component `y` is `[0, 100]`.
 	/// The range of component `z` is `[0, 50]`.
@@ -283,14 +280,14 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + x * (50 ±0) + y * (51 ±0) + z * (251 ±0)`
 		//  Estimated: `12362 + x * (2539 ±0) + y * (2539 ±0) + z * (2603 ±1)`
-		// Minimum execution time: 307_414_000 picoseconds.
-		Weight::from_parts(309_960_000, 12362)
-			// Standard Error: 29_278
-			.saturating_add(Weight::from_parts(588_774, 0).saturating_mul(x.into()))
-			// Standard Error: 29_137
-			.saturating_add(Weight::from_parts(563_245, 0).saturating_mul(y.into()))
-			// Standard Error: 58_221
-			.saturating_add(Weight::from_parts(13_947_604, 0).saturating_mul(z.into()))
+		// Minimum execution time: 309_235_000 picoseconds.
+		Weight::from_parts(311_279_000, 12362)
+			// Standard Error: 26_510
+			.saturating_add(Weight::from_parts(543_475, 0).saturating_mul(x.into()))
+			// Standard Error: 26_382
+			.saturating_add(Weight::from_parts(603_169, 0).saturating_mul(y.into()))
+			// Standard Error: 52_716
+			.saturating_add(Weight::from_parts(16_264_836, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(x.into())))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(y.into())))
@@ -301,401 +298,397 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 			.saturating_add(Weight::from_parts(0, 2539).saturating_mul(y.into()))
 			.saturating_add(Weight::from_parts(0, 2603).saturating_mul(z.into()))
 	}
-	/// Storage: `Alliance::Rule` (r:0 w:1)
-	/// Proof: `Alliance::Rule` (`max_values`: Some(1), `max_size`: Some(87), added: 582, mode: `MaxEncodedLen`)
+	/// Storage: Alliance Rule (r:0 w:1)
+	/// Proof: Alliance Rule (max_values: Some(1), max_size: Some(87), added: 582, mode: MaxEncodedLen)
 	fn set_rule() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_156_000 picoseconds.
-		Weight::from_parts(6_560_000, 0)
+		// Minimum execution time: 8_833_000 picoseconds.
+		Weight::from_parts(9_313_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Alliance::Announcements` (r:1 w:1)
-	/// Proof: `Alliance::Announcements` (`max_values`: Some(1), `max_size`: Some(8702), added: 9197, mode: `MaxEncodedLen`)
+	/// Storage: Alliance Announcements (r:1 w:1)
+	/// Proof: Alliance Announcements (max_values: Some(1), max_size: Some(8702), added: 9197, mode: MaxEncodedLen)
 	fn announce() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `279`
+		//  Measured:  `246`
 		//  Estimated: `10187`
-		// Minimum execution time: 8_988_000 picoseconds.
-		Weight::from_parts(9_476_000, 10187)
+		// Minimum execution time: 12_231_000 picoseconds.
+		Weight::from_parts(12_761_000, 10187)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Alliance::Announcements` (r:1 w:1)
-	/// Proof: `Alliance::Announcements` (`max_values`: Some(1), `max_size`: Some(8702), added: 9197, mode: `MaxEncodedLen`)
+	/// Storage: Alliance Announcements (r:1 w:1)
+	/// Proof: Alliance Announcements (max_values: Some(1), max_size: Some(8702), added: 9197, mode: MaxEncodedLen)
 	fn remove_announcement() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `352`
+		//  Measured:  `319`
 		//  Estimated: `10187`
-		// Minimum execution time: 10_126_000 picoseconds.
-		Weight::from_parts(10_755_000, 10187)
+		// Minimum execution time: 13_079_000 picoseconds.
+		Weight::from_parts(13_612_000, 10187)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Alliance::Members` (r:3 w:1)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::UnscrupulousAccounts` (r:1 w:0)
-	/// Proof: `Alliance::UnscrupulousAccounts` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::DepositOf` (r:0 w:1)
-	/// Proof: `Alliance::DepositOf` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
+	/// Storage: Alliance Members (r:3 w:1)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: Alliance UnscrupulousAccounts (r:1 w:0)
+	/// Proof: Alliance UnscrupulousAccounts (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Alliance DepositOf (r:0 w:1)
+	/// Proof: Alliance DepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
 	fn join_alliance() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `501`
+		//  Measured:  `468`
 		//  Estimated: `18048`
-		// Minimum execution time: 38_878_000 picoseconds.
-		Weight::from_parts(40_493_000, 18048)
+		// Minimum execution time: 44_574_000 picoseconds.
+		Weight::from_parts(46_157_000, 18048)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Alliance::Members` (r:3 w:1)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::UnscrupulousAccounts` (r:1 w:0)
-	/// Proof: `Alliance::UnscrupulousAccounts` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
+	/// Storage: Alliance Members (r:3 w:1)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: Alliance UnscrupulousAccounts (r:1 w:0)
+	/// Proof: Alliance UnscrupulousAccounts (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
 	fn nominate_ally() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `400`
+		//  Measured:  `367`
 		//  Estimated: `18048`
-		// Minimum execution time: 23_265_000 picoseconds.
-		Weight::from_parts(24_703_000, 18048)
+		// Minimum execution time: 26_114_000 picoseconds.
+		Weight::from_parts(27_069_000, 18048)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Alliance::Members` (r:2 w:2)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:0)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:0 w:1)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:0 w:1)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:2 w:2)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Proposals (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
 	fn elevate_ally() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `476`
+		//  Measured:  `443`
 		//  Estimated: `12362`
-		// Minimum execution time: 23_049_000 picoseconds.
-		Weight::from_parts(23_875_000, 12362)
+		// Minimum execution time: 25_882_000 picoseconds.
+		Weight::from_parts(26_923_000, 12362)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Alliance::Members` (r:4 w:2)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:0)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:0 w:1)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:0 w:1)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Alliance::RetiringMembers` (r:0 w:1)
-	/// Proof: `Alliance::RetiringMembers` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
+	/// Storage: Alliance Members (r:4 w:2)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Proposals (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Alliance RetiringMembers (r:0 w:1)
+	/// Proof: Alliance RetiringMembers (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
 	fn give_retirement_notice() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `476`
+		//  Measured:  `443`
 		//  Estimated: `23734`
-		// Minimum execution time: 29_124_000 picoseconds.
-		Weight::from_parts(30_369_000, 23734)
+		// Minimum execution time: 34_112_000 picoseconds.
+		Weight::from_parts(35_499_000, 23734)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Alliance::RetiringMembers` (r:1 w:1)
-	/// Proof: `Alliance::RetiringMembers` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::Members` (r:1 w:1)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::DepositOf` (r:1 w:1)
-	/// Proof: `Alliance::DepositOf` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Alliance RetiringMembers (r:1 w:1)
+	/// Proof: Alliance RetiringMembers (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
+	/// Storage: Alliance Members (r:1 w:1)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: Alliance DepositOf (r:1 w:1)
+	/// Proof: Alliance DepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn retire() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `720`
+		//  Measured:  `687`
 		//  Estimated: `6676`
-		// Minimum execution time: 36_376_000 picoseconds.
-		Weight::from_parts(38_221_000, 6676)
+		// Minimum execution time: 41_239_000 picoseconds.
+		Weight::from_parts(42_764_000, 6676)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Alliance::Members` (r:3 w:1)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:0)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Alliance::DepositOf` (r:1 w:1)
-	/// Proof: `Alliance::DepositOf` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Members` (r:0 w:1)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:0 w:1)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:3 w:1)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Proposals (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Alliance DepositOf (r:1 w:1)
+	/// Proof: Alliance DepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Members (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
 	fn kick_member() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `740`
+		//  Measured:  `707`
 		//  Estimated: `18048`
-		// Minimum execution time: 56_560_000 picoseconds.
-		Weight::from_parts(58_621_000, 18048)
+		// Minimum execution time: 68_071_000 picoseconds.
+		Weight::from_parts(71_808_000, 18048)
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Alliance::UnscrupulousAccounts` (r:1 w:1)
-	/// Proof: `Alliance::UnscrupulousAccounts` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::UnscrupulousWebsites` (r:1 w:1)
-	/// Proof: `Alliance::UnscrupulousWebsites` (`max_values`: Some(1), `max_size`: Some(25702), added: 26197, mode: `MaxEncodedLen`)
+	/// Storage: Alliance UnscrupulousAccounts (r:1 w:1)
+	/// Proof: Alliance UnscrupulousAccounts (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: Alliance UnscrupulousWebsites (r:1 w:1)
+	/// Proof: Alliance UnscrupulousWebsites (max_values: Some(1), max_size: Some(25702), added: 26197, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 100]`.
 	/// The range of component `l` is `[0, 255]`.
 	fn add_unscrupulous_items(n: u32, l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `279`
+		//  Measured:  `246`
 		//  Estimated: `27187`
-		// Minimum execution time: 5_191_000 picoseconds.
-		Weight::from_parts(5_410_000, 27187)
-			// Standard Error: 3_215
-			.saturating_add(Weight::from_parts(1_018_569, 0).saturating_mul(n.into()))
-			// Standard Error: 1_259
-			.saturating_add(Weight::from_parts(68_712, 0).saturating_mul(l.into()))
+		// Minimum execution time: 7_006_000 picoseconds.
+		Weight::from_parts(7_253_000, 27187)
+			// Standard Error: 3_403
+			.saturating_add(Weight::from_parts(1_680_082, 0).saturating_mul(n.into()))
+			// Standard Error: 1_333
+			.saturating_add(Weight::from_parts(72_943, 0).saturating_mul(l.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Alliance::UnscrupulousAccounts` (r:1 w:1)
-	/// Proof: `Alliance::UnscrupulousAccounts` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::UnscrupulousWebsites` (r:1 w:1)
-	/// Proof: `Alliance::UnscrupulousWebsites` (`max_values`: Some(1), `max_size`: Some(25702), added: 26197, mode: `MaxEncodedLen`)
+	/// Storage: Alliance UnscrupulousAccounts (r:1 w:1)
+	/// Proof: Alliance UnscrupulousAccounts (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: Alliance UnscrupulousWebsites (r:1 w:1)
+	/// Proof: Alliance UnscrupulousWebsites (max_values: Some(1), max_size: Some(25702), added: 26197, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 100]`.
 	/// The range of component `l` is `[0, 255]`.
 	fn remove_unscrupulous_items(n: u32, l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + l * (100 ±0) + n * (289 ±0)`
 		//  Estimated: `27187`
-		// Minimum execution time: 5_361_000 picoseconds.
-		Weight::from_parts(5_494_000, 27187)
-			// Standard Error: 181_133
-			.saturating_add(Weight::from_parts(16_322_982, 0).saturating_mul(n.into()))
-			// Standard Error: 70_940
-			.saturating_add(Weight::from_parts(343_581, 0).saturating_mul(l.into()))
+		// Minimum execution time: 7_292_000 picoseconds.
+		Weight::from_parts(7_629_000, 27187)
+			// Standard Error: 176_225
+			.saturating_add(Weight::from_parts(16_646_429, 0).saturating_mul(n.into()))
+			// Standard Error: 69_017
+			.saturating_add(Weight::from_parts(310_978, 0).saturating_mul(l.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Alliance::Members` (r:3 w:2)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:0)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:0 w:1)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:0 w:1)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:3 w:2)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Proposals (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
 	fn abdicate_fellow_status() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `476`
+		//  Measured:  `443`
 		//  Estimated: `18048`
-		// Minimum execution time: 28_856_000 picoseconds.
-		Weight::from_parts(29_875_000, 18048)
+		// Minimum execution time: 31_798_000 picoseconds.
+		Weight::from_parts(33_463_000, 18048)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Alliance::Members` (r:1 w:0)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::ProposalOf` (r:1 w:1)
-	/// Proof: `AllianceMotion::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:1)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::ProposalCount` (r:1 w:1)
-	/// Proof: `AllianceMotion::ProposalCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Voting` (r:0 w:1)
-	/// Proof: `AllianceMotion::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:1 w:0)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion ProposalOf (r:1 w:1)
+	/// Proof Skipped: AllianceMotion ProposalOf (max_values: None, max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Proposals (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion ProposalCount (r:1 w:1)
+	/// Proof Skipped: AllianceMotion ProposalCount (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Voting (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Voting (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `b` is `[1, 1024]`.
 	/// The range of component `m` is `[2, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `654 + m * (32 ±0) + p * (36 ±0)`
+		//  Measured:  `653 + m * (32 ±0) + p * (35 ±0)`
 		//  Estimated: `6676 + m * (32 ±0) + p * (36 ±0)`
-		// Minimum execution time: 30_801_000 picoseconds.
-		Weight::from_parts(32_942_969, 6676)
-			// Standard Error: 112
-			.saturating_add(Weight::from_parts(614, 0).saturating_mul(b.into()))
-			// Standard Error: 1_177
-			.saturating_add(Weight::from_parts(45_758, 0).saturating_mul(m.into()))
-			// Standard Error: 1_162
-			.saturating_add(Weight::from_parts(136_600, 0).saturating_mul(p.into()))
+		// Minimum execution time: 36_908_000 picoseconds.
+		Weight::from_parts(39_040_304, 6676)
+			// Standard Error: 131
+			.saturating_add(Weight::from_parts(781, 0).saturating_mul(b.into()))
+			// Standard Error: 1_375
+			.saturating_add(Weight::from_parts(48_745, 0).saturating_mul(m.into()))
+			// Standard Error: 1_358
+			.saturating_add(Weight::from_parts(148_047, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Alliance::Members` (r:1 w:0)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Voting` (r:1 w:1)
-	/// Proof: `AllianceMotion::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:1 w:0)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Voting (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Voting (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `m` is `[5, 100]`.
 	fn vote(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1113 + m * (64 ±0)`
+		//  Measured:  `1042 + m * (64 ±0)`
 		//  Estimated: `6676 + m * (64 ±0)`
-		// Minimum execution time: 29_705_000 picoseconds.
-		Weight::from_parts(30_274_070, 6676)
-			// Standard Error: 884
-			.saturating_add(Weight::from_parts(71_178, 0).saturating_mul(m.into()))
+		// Minimum execution time: 30_166_000 picoseconds.
+		Weight::from_parts(32_798_454, 6676)
+			// Standard Error: 1_432
+			.saturating_add(Weight::from_parts(83_001, 0).saturating_mul(m.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `Alliance::Members` (r:1 w:0)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Voting` (r:1 w:1)
-	/// Proof: `AllianceMotion::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:1 w:0)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:1)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::ProposalOf` (r:0 w:1)
-	/// Proof: `AllianceMotion::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:1 w:0)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Voting (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Proposals (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion ProposalOf (r:0 w:1)
+	/// Proof Skipped: AllianceMotion ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `m` is `[4, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_early_disapproved(m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `640 + m * (96 ±0) + p * (36 ±0)`
+		//  Measured:  `576 + m * (96 ±0) + p * (36 ±0)`
 		//  Estimated: `6676 + m * (97 ±0) + p * (36 ±0)`
-		// Minimum execution time: 38_596_000 picoseconds.
-		Weight::from_parts(36_445_536, 6676)
-			// Standard Error: 1_217
-			.saturating_add(Weight::from_parts(69_976, 0).saturating_mul(m.into()))
-			// Standard Error: 1_187
-			.saturating_add(Weight::from_parts(149_706, 0).saturating_mul(p.into()))
+		// Minimum execution time: 45_173_000 picoseconds.
+		Weight::from_parts(42_192_020, 6676)
+			// Standard Error: 1_456
+			.saturating_add(Weight::from_parts(66_751, 0).saturating_mul(m.into()))
+			// Standard Error: 1_420
+			.saturating_add(Weight::from_parts(158_161, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 97).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Alliance::Members` (r:1 w:0)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Voting` (r:1 w:1)
-	/// Proof: `AllianceMotion::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:1 w:0)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::ProposalOf` (r:1 w:1)
-	/// Proof: `AllianceMotion::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:1)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:1 w:0)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Voting (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion ProposalOf (r:1 w:1)
+	/// Proof Skipped: AllianceMotion ProposalOf (max_values: None, max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Proposals (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `b` is `[1, 1024]`.
 	/// The range of component `m` is `[4, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1220 + m * (96 ±0) + p * (39 ±0)`
+		//  Measured:  `1087 + m * (96 ±0) + p * (39 ±0)`
 		//  Estimated: `6676 + m * (97 ±0) + p * (40 ±0)`
-		// Minimum execution time: 57_602_000 picoseconds.
-		Weight::from_parts(55_147_214, 6676)
-			// Standard Error: 127
-			.saturating_add(Weight::from_parts(1_650, 0).saturating_mul(b.into()))
-			// Standard Error: 1_346
-			.saturating_add(Weight::from_parts(56_056, 0).saturating_mul(m.into()))
-			// Standard Error: 1_312
-			.saturating_add(Weight::from_parts(168_247, 0).saturating_mul(p.into()))
-			.saturating_add(RocksDbWeight::get().reads(7_u64))
+		// Minimum execution time: 58_290_000 picoseconds.
+		Weight::from_parts(54_924_919, 6676)
+			// Standard Error: 157
+			.saturating_add(Weight::from_parts(464, 0).saturating_mul(b.into()))
+			// Standard Error: 1_665
+			.saturating_add(Weight::from_parts(73_183, 0).saturating_mul(m.into()))
+			// Standard Error: 1_623
+			.saturating_add(Weight::from_parts(168_318, 0).saturating_mul(p.into()))
+			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 97).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 40).saturating_mul(p.into()))
 	}
-	/// Storage: `Alliance::Members` (r:1 w:0)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Voting` (r:1 w:1)
-	/// Proof: `AllianceMotion::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:1 w:0)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:1 w:0)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:1)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::ProposalOf` (r:0 w:1)
-	/// Proof: `AllianceMotion::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:1 w:0)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Voting (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Proposals (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion ProposalOf (r:0 w:1)
+	/// Proof Skipped: AllianceMotion ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `m` is `[2, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_disapproved(m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `641 + m * (96 ±0) + p * (36 ±0)`
+		//  Measured:  `577 + m * (96 ±0) + p * (36 ±0)`
 		//  Estimated: `6676 + m * (97 ±0) + p * (36 ±0)`
-		// Minimum execution time: 40_755_000 picoseconds.
-		Weight::from_parts(36_953_935, 6676)
-			// Standard Error: 1_177
-			.saturating_add(Weight::from_parts(73_240, 0).saturating_mul(m.into()))
-			// Standard Error: 1_162
-			.saturating_add(Weight::from_parts(149_412, 0).saturating_mul(p.into()))
+		// Minimum execution time: 46_794_000 picoseconds.
+		Weight::from_parts(43_092_958, 6676)
+			// Standard Error: 1_273
+			.saturating_add(Weight::from_parts(71_054, 0).saturating_mul(m.into()))
+			// Standard Error: 1_257
+			.saturating_add(Weight::from_parts(152_820, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 97).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Alliance::Members` (r:1 w:0)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Voting` (r:1 w:1)
-	/// Proof: `AllianceMotion::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:1 w:0)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:1 w:0)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:1)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::ProposalOf` (r:0 w:1)
-	/// Proof: `AllianceMotion::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:1 w:0)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Voting (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Proposals (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion ProposalOf (r:0 w:1)
+	/// Proof Skipped: AllianceMotion ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `b` is `[1, 1024]`.
 	/// The range of component `m` is `[5, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_approved(b: u32, m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `694 + m * (96 ±0) + p * (35 ±0)`
+		//  Measured:  `684 + m * (96 ±0) + p * (35 ±0)`
 		//  Estimated: `6676 + m * (97 ±0) + p * (36 ±0)`
-		// Minimum execution time: 41_113_000 picoseconds.
-		Weight::from_parts(36_610_116, 6676)
-			// Standard Error: 92
-			.saturating_add(Weight::from_parts(1_157, 0).saturating_mul(b.into()))
-			// Standard Error: 984
-			.saturating_add(Weight::from_parts(63_050, 0).saturating_mul(m.into()))
-			// Standard Error: 949
-			.saturating_add(Weight::from_parts(150_420, 0).saturating_mul(p.into()))
+		// Minimum execution time: 47_338_000 picoseconds.
+		Weight::from_parts(41_257_479, 6676)
+			// Standard Error: 119
+			.saturating_add(Weight::from_parts(1_019, 0).saturating_mul(b.into()))
+			// Standard Error: 1_277
+			.saturating_add(Weight::from_parts(78_453, 0).saturating_mul(m.into()))
+			// Standard Error: 1_231
+			.saturating_add(Weight::from_parts(150_991, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 97).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Alliance::Members` (r:2 w:2)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Members` (r:1 w:1)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:2 w:2)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Members (r:1 w:1)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[1, 100]`.
 	/// The range of component `z` is `[0, 100]`.
 	fn init_members(m: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `250`
+		//  Measured:  `217`
 		//  Estimated: `12362`
-		// Minimum execution time: 30_249_000 picoseconds.
-		Weight::from_parts(21_364_868, 12362)
-			// Standard Error: 887
-			.saturating_add(Weight::from_parts(131_624, 0).saturating_mul(m.into()))
-			// Standard Error: 877
-			.saturating_add(Weight::from_parts(105_379, 0).saturating_mul(z.into()))
+		// Minimum execution time: 35_012_000 picoseconds.
+		Weight::from_parts(24_288_079, 12362)
+			// Standard Error: 878
+			.saturating_add(Weight::from_parts(153_615, 0).saturating_mul(m.into()))
+			// Standard Error: 867
+			.saturating_add(Weight::from_parts(129_307, 0).saturating_mul(z.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Alliance::Members` (r:2 w:2)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:0)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Alliance::DepositOf` (r:200 w:50)
-	/// Proof: `Alliance::DepositOf` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:50 w:50)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Members` (r:0 w:1)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:0 w:1)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:2 w:2)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Proposals (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Alliance DepositOf (r:200 w:50)
+	/// Proof: Alliance DepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
+	/// Storage: System Account (r:50 w:50)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Members (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `x` is `[1, 100]`.
 	/// The range of component `y` is `[0, 100]`.
 	/// The range of component `z` is `[0, 50]`.
@@ -703,14 +696,14 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + x * (50 ±0) + y * (51 ±0) + z * (251 ±0)`
 		//  Estimated: `12362 + x * (2539 ±0) + y * (2539 ±0) + z * (2603 ±1)`
-		// Minimum execution time: 307_414_000 picoseconds.
-		Weight::from_parts(309_960_000, 12362)
-			// Standard Error: 29_278
-			.saturating_add(Weight::from_parts(588_774, 0).saturating_mul(x.into()))
-			// Standard Error: 29_137
-			.saturating_add(Weight::from_parts(563_245, 0).saturating_mul(y.into()))
-			// Standard Error: 58_221
-			.saturating_add(Weight::from_parts(13_947_604, 0).saturating_mul(z.into()))
+		// Minimum execution time: 309_235_000 picoseconds.
+		Weight::from_parts(311_279_000, 12362)
+			// Standard Error: 26_510
+			.saturating_add(Weight::from_parts(543_475, 0).saturating_mul(x.into()))
+			// Standard Error: 26_382
+			.saturating_add(Weight::from_parts(603_169, 0).saturating_mul(y.into()))
+			// Standard Error: 52_716
+			.saturating_add(Weight::from_parts(16_264_836, 0).saturating_mul(z.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(x.into())))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(y.into())))
@@ -721,194 +714,194 @@ impl WeightInfo for () {
 			.saturating_add(Weight::from_parts(0, 2539).saturating_mul(y.into()))
 			.saturating_add(Weight::from_parts(0, 2603).saturating_mul(z.into()))
 	}
-	/// Storage: `Alliance::Rule` (r:0 w:1)
-	/// Proof: `Alliance::Rule` (`max_values`: Some(1), `max_size`: Some(87), added: 582, mode: `MaxEncodedLen`)
+	/// Storage: Alliance Rule (r:0 w:1)
+	/// Proof: Alliance Rule (max_values: Some(1), max_size: Some(87), added: 582, mode: MaxEncodedLen)
 	fn set_rule() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_156_000 picoseconds.
-		Weight::from_parts(6_560_000, 0)
+		// Minimum execution time: 8_833_000 picoseconds.
+		Weight::from_parts(9_313_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Alliance::Announcements` (r:1 w:1)
-	/// Proof: `Alliance::Announcements` (`max_values`: Some(1), `max_size`: Some(8702), added: 9197, mode: `MaxEncodedLen`)
+	/// Storage: Alliance Announcements (r:1 w:1)
+	/// Proof: Alliance Announcements (max_values: Some(1), max_size: Some(8702), added: 9197, mode: MaxEncodedLen)
 	fn announce() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `279`
+		//  Measured:  `246`
 		//  Estimated: `10187`
-		// Minimum execution time: 8_988_000 picoseconds.
-		Weight::from_parts(9_476_000, 10187)
+		// Minimum execution time: 12_231_000 picoseconds.
+		Weight::from_parts(12_761_000, 10187)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Alliance::Announcements` (r:1 w:1)
-	/// Proof: `Alliance::Announcements` (`max_values`: Some(1), `max_size`: Some(8702), added: 9197, mode: `MaxEncodedLen`)
+	/// Storage: Alliance Announcements (r:1 w:1)
+	/// Proof: Alliance Announcements (max_values: Some(1), max_size: Some(8702), added: 9197, mode: MaxEncodedLen)
 	fn remove_announcement() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `352`
+		//  Measured:  `319`
 		//  Estimated: `10187`
-		// Minimum execution time: 10_126_000 picoseconds.
-		Weight::from_parts(10_755_000, 10187)
+		// Minimum execution time: 13_079_000 picoseconds.
+		Weight::from_parts(13_612_000, 10187)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Alliance::Members` (r:3 w:1)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::UnscrupulousAccounts` (r:1 w:0)
-	/// Proof: `Alliance::UnscrupulousAccounts` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::DepositOf` (r:0 w:1)
-	/// Proof: `Alliance::DepositOf` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
+	/// Storage: Alliance Members (r:3 w:1)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: Alliance UnscrupulousAccounts (r:1 w:0)
+	/// Proof: Alliance UnscrupulousAccounts (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Alliance DepositOf (r:0 w:1)
+	/// Proof: Alliance DepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
 	fn join_alliance() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `501`
+		//  Measured:  `468`
 		//  Estimated: `18048`
-		// Minimum execution time: 38_878_000 picoseconds.
-		Weight::from_parts(40_493_000, 18048)
+		// Minimum execution time: 44_574_000 picoseconds.
+		Weight::from_parts(46_157_000, 18048)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Alliance::Members` (r:3 w:1)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::UnscrupulousAccounts` (r:1 w:0)
-	/// Proof: `Alliance::UnscrupulousAccounts` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
+	/// Storage: Alliance Members (r:3 w:1)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: Alliance UnscrupulousAccounts (r:1 w:0)
+	/// Proof: Alliance UnscrupulousAccounts (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
 	fn nominate_ally() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `400`
+		//  Measured:  `367`
 		//  Estimated: `18048`
-		// Minimum execution time: 23_265_000 picoseconds.
-		Weight::from_parts(24_703_000, 18048)
+		// Minimum execution time: 26_114_000 picoseconds.
+		Weight::from_parts(27_069_000, 18048)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Alliance::Members` (r:2 w:2)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:0)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:0 w:1)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:0 w:1)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:2 w:2)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Proposals (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
 	fn elevate_ally() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `476`
+		//  Measured:  `443`
 		//  Estimated: `12362`
-		// Minimum execution time: 23_049_000 picoseconds.
-		Weight::from_parts(23_875_000, 12362)
+		// Minimum execution time: 25_882_000 picoseconds.
+		Weight::from_parts(26_923_000, 12362)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Alliance::Members` (r:4 w:2)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:0)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:0 w:1)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:0 w:1)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Alliance::RetiringMembers` (r:0 w:1)
-	/// Proof: `Alliance::RetiringMembers` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
+	/// Storage: Alliance Members (r:4 w:2)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Proposals (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Alliance RetiringMembers (r:0 w:1)
+	/// Proof: Alliance RetiringMembers (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
 	fn give_retirement_notice() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `476`
+		//  Measured:  `443`
 		//  Estimated: `23734`
-		// Minimum execution time: 29_124_000 picoseconds.
-		Weight::from_parts(30_369_000, 23734)
+		// Minimum execution time: 34_112_000 picoseconds.
+		Weight::from_parts(35_499_000, 23734)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Alliance::RetiringMembers` (r:1 w:1)
-	/// Proof: `Alliance::RetiringMembers` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::Members` (r:1 w:1)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::DepositOf` (r:1 w:1)
-	/// Proof: `Alliance::DepositOf` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Alliance RetiringMembers (r:1 w:1)
+	/// Proof: Alliance RetiringMembers (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
+	/// Storage: Alliance Members (r:1 w:1)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: Alliance DepositOf (r:1 w:1)
+	/// Proof: Alliance DepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn retire() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `720`
+		//  Measured:  `687`
 		//  Estimated: `6676`
-		// Minimum execution time: 36_376_000 picoseconds.
-		Weight::from_parts(38_221_000, 6676)
+		// Minimum execution time: 41_239_000 picoseconds.
+		Weight::from_parts(42_764_000, 6676)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Alliance::Members` (r:3 w:1)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:0)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Alliance::DepositOf` (r:1 w:1)
-	/// Proof: `Alliance::DepositOf` (`max_values`: None, `max_size`: Some(64), added: 2539, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Members` (r:0 w:1)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:0 w:1)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:3 w:1)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Proposals (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Alliance DepositOf (r:1 w:1)
+	/// Proof: Alliance DepositOf (max_values: None, max_size: Some(64), added: 2539, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Members (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
 	fn kick_member() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `740`
+		//  Measured:  `707`
 		//  Estimated: `18048`
-		// Minimum execution time: 56_560_000 picoseconds.
-		Weight::from_parts(58_621_000, 18048)
+		// Minimum execution time: 68_071_000 picoseconds.
+		Weight::from_parts(71_808_000, 18048)
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Alliance::UnscrupulousAccounts` (r:1 w:1)
-	/// Proof: `Alliance::UnscrupulousAccounts` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::UnscrupulousWebsites` (r:1 w:1)
-	/// Proof: `Alliance::UnscrupulousWebsites` (`max_values`: Some(1), `max_size`: Some(25702), added: 26197, mode: `MaxEncodedLen`)
+	/// Storage: Alliance UnscrupulousAccounts (r:1 w:1)
+	/// Proof: Alliance UnscrupulousAccounts (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: Alliance UnscrupulousWebsites (r:1 w:1)
+	/// Proof: Alliance UnscrupulousWebsites (max_values: Some(1), max_size: Some(25702), added: 26197, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 100]`.
 	/// The range of component `l` is `[0, 255]`.
 	fn add_unscrupulous_items(n: u32, l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `279`
+		//  Measured:  `246`
 		//  Estimated: `27187`
-		// Minimum execution time: 5_191_000 picoseconds.
-		Weight::from_parts(5_410_000, 27187)
-			// Standard Error: 3_215
-			.saturating_add(Weight::from_parts(1_018_569, 0).saturating_mul(n.into()))
-			// Standard Error: 1_259
-			.saturating_add(Weight::from_parts(68_712, 0).saturating_mul(l.into()))
+		// Minimum execution time: 7_006_000 picoseconds.
+		Weight::from_parts(7_253_000, 27187)
+			// Standard Error: 3_403
+			.saturating_add(Weight::from_parts(1_680_082, 0).saturating_mul(n.into()))
+			// Standard Error: 1_333
+			.saturating_add(Weight::from_parts(72_943, 0).saturating_mul(l.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Alliance::UnscrupulousAccounts` (r:1 w:1)
-	/// Proof: `Alliance::UnscrupulousAccounts` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `Alliance::UnscrupulousWebsites` (r:1 w:1)
-	/// Proof: `Alliance::UnscrupulousWebsites` (`max_values`: Some(1), `max_size`: Some(25702), added: 26197, mode: `MaxEncodedLen`)
+	/// Storage: Alliance UnscrupulousAccounts (r:1 w:1)
+	/// Proof: Alliance UnscrupulousAccounts (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: Alliance UnscrupulousWebsites (r:1 w:1)
+	/// Proof: Alliance UnscrupulousWebsites (max_values: Some(1), max_size: Some(25702), added: 26197, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 100]`.
 	/// The range of component `l` is `[0, 255]`.
 	fn remove_unscrupulous_items(n: u32, l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + l * (100 ±0) + n * (289 ±0)`
 		//  Estimated: `27187`
-		// Minimum execution time: 5_361_000 picoseconds.
-		Weight::from_parts(5_494_000, 27187)
-			// Standard Error: 181_133
-			.saturating_add(Weight::from_parts(16_322_982, 0).saturating_mul(n.into()))
-			// Standard Error: 70_940
-			.saturating_add(Weight::from_parts(343_581, 0).saturating_mul(l.into()))
+		// Minimum execution time: 7_292_000 picoseconds.
+		Weight::from_parts(7_629_000, 27187)
+			// Standard Error: 176_225
+			.saturating_add(Weight::from_parts(16_646_429, 0).saturating_mul(n.into()))
+			// Standard Error: 69_017
+			.saturating_add(Weight::from_parts(310_978, 0).saturating_mul(l.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Alliance::Members` (r:3 w:2)
-	/// Proof: `Alliance::Members` (`max_values`: None, `max_size`: Some(3211), added: 5686, mode: `MaxEncodedLen`)
-	/// Storage: `AllianceMotion::Proposals` (r:1 w:0)
-	/// Proof: `AllianceMotion::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Members` (r:0 w:1)
-	/// Proof: `AllianceMotion::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `AllianceMotion::Prime` (r:0 w:1)
-	/// Proof: `AllianceMotion::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Alliance Members (r:3 w:2)
+	/// Proof: Alliance Members (max_values: None, max_size: Some(3211), added: 5686, mode: MaxEncodedLen)
+	/// Storage: AllianceMotion Proposals (r:1 w:0)
+	/// Proof Skipped: AllianceMotion Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Members (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: AllianceMotion Prime (r:0 w:1)
+	/// Proof Skipped: AllianceMotion Prime (max_values: Some(1), max_size: None, mode: Measured)
 	fn abdicate_fellow_status() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `476`
+		//  Measured:  `443`
 		//  Estimated: `18048`
-		// Minimum execution time: 28_856_000 picoseconds.
-		Weight::from_parts(29_875_000, 18048)
+		// Minimum execution time: 31_798_000 picoseconds.
+		Weight::from_parts(33_463_000, 18048)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
diff --git a/substrate/frame/asset-conversion/src/weights.rs b/substrate/frame/asset-conversion/src/weights.rs
index 4eaa115c694..a0e687f7a41 100644
--- a/substrate/frame/asset-conversion/src/weights.rs
+++ b/substrate/frame/asset-conversion/src/weights.rs
@@ -17,28 +17,24 @@
 
 //! Autogenerated weights for `pallet_asset_conversion`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-10-30, STEPS: `5`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `cob`, CPU: `<UNKNOWN>`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/debug/substrate-node
 // benchmark
 // pallet
 // --chain=dev
-// --steps=50
-// --repeat=20
-// --pallet=pallet_asset_conversion
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
+// --steps=5
+// --repeat=2
+// --pallet=pallet-asset-conversion
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
 // --output=./substrate/frame/asset-conversion/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
 // --template=./substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -63,9 +59,11 @@ pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Storage: `AssetConversion::Pools` (r:1 w:1)
 	/// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
+	/// Storage: `System::Account` (r:2 w:2)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:2 w:0)
+	/// Storage: `Assets::Account` (r:2 w:2)
+	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: `Assets::Asset` (r:2 w:2)
 	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
 	/// Storage: `AssetConversion::NextPoolAssetId` (r:1 w:1)
 	/// Proof: `AssetConversion::NextPoolAssetId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
@@ -75,12 +73,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
 	fn create_pool() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `910`
+		//  Measured:  `1081`
 		//  Estimated: `6360`
-		// Minimum execution time: 82_941_000 picoseconds.
-		Weight::from_parts(85_526_000, 6360)
-			.saturating_add(T::DbWeight::get().reads(7_u64))
-			.saturating_add(T::DbWeight::get().writes(5_u64))
+		// Minimum execution time: 1_576_000_000 picoseconds.
+		Weight::from_parts(1_668_000_000, 6360)
+			.saturating_add(T::DbWeight::get().reads(10_u64))
+			.saturating_add(T::DbWeight::get().writes(10_u64))
 	}
 	/// Storage: `AssetConversion::Pools` (r:1 w:0)
 	/// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
@@ -88,20 +86,18 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
 	/// Storage: `Assets::Account` (r:4 w:4)
 	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
 	/// Storage: `PoolAssets::Asset` (r:1 w:1)
 	/// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
 	/// Storage: `PoolAssets::Account` (r:2 w:2)
 	/// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
 	fn add_liquidity() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1507`
+		//  Measured:  `1761`
 		//  Estimated: `11426`
-		// Minimum execution time: 138_424_000 picoseconds.
-		Weight::from_parts(142_083_000, 11426)
-			.saturating_add(T::DbWeight::get().reads(11_u64))
-			.saturating_add(T::DbWeight::get().writes(10_u64))
+		// Minimum execution time: 1_636_000_000 picoseconds.
+		Weight::from_parts(1_894_000_000, 11426)
+			.saturating_add(T::DbWeight::get().reads(10_u64))
+			.saturating_add(T::DbWeight::get().writes(9_u64))
 	}
 	/// Storage: `AssetConversion::Pools` (r:1 w:0)
 	/// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
@@ -115,10 +111,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
 	fn remove_liquidity() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1650`
+		//  Measured:  `1750`
 		//  Estimated: `11426`
-		// Minimum execution time: 122_132_000 picoseconds.
-		Weight::from_parts(125_143_000, 11426)
+		// Minimum execution time: 1_507_000_000 picoseconds.
+		Weight::from_parts(1_524_000_000, 11426)
 			.saturating_add(T::DbWeight::get().reads(9_u64))
 			.saturating_add(T::DbWeight::get().writes(8_u64))
 	}
@@ -129,12 +125,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `n` is `[2, 4]`.
 	fn swap_exact_tokens_for_tokens(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `89 + n * (419 ±0)`
+		//  Measured:  `0 + n * (522 ±0)`
 		//  Estimated: `990 + n * (5218 ±0)`
-		// Minimum execution time: 77_183_000 picoseconds.
-		Weight::from_parts(78_581_000, 990)
-			// Standard Error: 306_918
-			.saturating_add(Weight::from_parts(10_581_054, 0).saturating_mul(n.into()))
+		// Minimum execution time: 937_000_000 picoseconds.
+		Weight::from_parts(941_000_000, 990)
+			// Standard Error: 40_863_477
+			.saturating_add(Weight::from_parts(205_862_068, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(n.into())))
 			.saturating_add(Weight::from_parts(0, 5218).saturating_mul(n.into()))
@@ -146,12 +142,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `n` is `[2, 4]`.
 	fn swap_tokens_for_exact_tokens(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `89 + n * (419 ±0)`
+		//  Measured:  `0 + n * (522 ±0)`
 		//  Estimated: `990 + n * (5218 ±0)`
-		// Minimum execution time: 76_962_000 picoseconds.
-		Weight::from_parts(78_315_000, 990)
-			// Standard Error: 311_204
-			.saturating_add(Weight::from_parts(10_702_400, 0).saturating_mul(n.into()))
+		// Minimum execution time: 935_000_000 picoseconds.
+		Weight::from_parts(947_000_000, 990)
+			// Standard Error: 46_904_620
+			.saturating_add(Weight::from_parts(218_275_862, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(n.into())))
 			.saturating_add(Weight::from_parts(0, 5218).saturating_mul(n.into()))
@@ -162,9 +158,11 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 impl WeightInfo for () {
 	/// Storage: `AssetConversion::Pools` (r:1 w:1)
 	/// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
+	/// Storage: `System::Account` (r:2 w:2)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:2 w:0)
+	/// Storage: `Assets::Account` (r:2 w:2)
+	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: `Assets::Asset` (r:2 w:2)
 	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
 	/// Storage: `AssetConversion::NextPoolAssetId` (r:1 w:1)
 	/// Proof: `AssetConversion::NextPoolAssetId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
@@ -174,12 +172,12 @@ impl WeightInfo for () {
 	/// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
 	fn create_pool() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `910`
+		//  Measured:  `1081`
 		//  Estimated: `6360`
-		// Minimum execution time: 82_941_000 picoseconds.
-		Weight::from_parts(85_526_000, 6360)
-			.saturating_add(RocksDbWeight::get().reads(7_u64))
-			.saturating_add(RocksDbWeight::get().writes(5_u64))
+		// Minimum execution time: 1_576_000_000 picoseconds.
+		Weight::from_parts(1_668_000_000, 6360)
+			.saturating_add(RocksDbWeight::get().reads(10_u64))
+			.saturating_add(RocksDbWeight::get().writes(10_u64))
 	}
 	/// Storage: `AssetConversion::Pools` (r:1 w:0)
 	/// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
@@ -187,20 +185,18 @@ impl WeightInfo for () {
 	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
 	/// Storage: `Assets::Account` (r:4 w:4)
 	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
 	/// Storage: `PoolAssets::Asset` (r:1 w:1)
 	/// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
 	/// Storage: `PoolAssets::Account` (r:2 w:2)
 	/// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
 	fn add_liquidity() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1507`
+		//  Measured:  `1761`
 		//  Estimated: `11426`
-		// Minimum execution time: 138_424_000 picoseconds.
-		Weight::from_parts(142_083_000, 11426)
-			.saturating_add(RocksDbWeight::get().reads(11_u64))
-			.saturating_add(RocksDbWeight::get().writes(10_u64))
+		// Minimum execution time: 1_636_000_000 picoseconds.
+		Weight::from_parts(1_894_000_000, 11426)
+			.saturating_add(RocksDbWeight::get().reads(10_u64))
+			.saturating_add(RocksDbWeight::get().writes(9_u64))
 	}
 	/// Storage: `AssetConversion::Pools` (r:1 w:0)
 	/// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
@@ -214,10 +210,10 @@ impl WeightInfo for () {
 	/// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
 	fn remove_liquidity() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1650`
+		//  Measured:  `1750`
 		//  Estimated: `11426`
-		// Minimum execution time: 122_132_000 picoseconds.
-		Weight::from_parts(125_143_000, 11426)
+		// Minimum execution time: 1_507_000_000 picoseconds.
+		Weight::from_parts(1_524_000_000, 11426)
 			.saturating_add(RocksDbWeight::get().reads(9_u64))
 			.saturating_add(RocksDbWeight::get().writes(8_u64))
 	}
@@ -228,12 +224,12 @@ impl WeightInfo for () {
 	/// The range of component `n` is `[2, 4]`.
 	fn swap_exact_tokens_for_tokens(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `89 + n * (419 ±0)`
+		//  Measured:  `0 + n * (522 ±0)`
 		//  Estimated: `990 + n * (5218 ±0)`
-		// Minimum execution time: 77_183_000 picoseconds.
-		Weight::from_parts(78_581_000, 990)
-			// Standard Error: 306_918
-			.saturating_add(Weight::from_parts(10_581_054, 0).saturating_mul(n.into()))
+		// Minimum execution time: 937_000_000 picoseconds.
+		Weight::from_parts(941_000_000, 990)
+			// Standard Error: 40_863_477
+			.saturating_add(Weight::from_parts(205_862_068, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(n.into())))
 			.saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(n.into())))
 			.saturating_add(Weight::from_parts(0, 5218).saturating_mul(n.into()))
@@ -245,12 +241,12 @@ impl WeightInfo for () {
 	/// The range of component `n` is `[2, 4]`.
 	fn swap_tokens_for_exact_tokens(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `89 + n * (419 ±0)`
+		//  Measured:  `0 + n * (522 ±0)`
 		//  Estimated: `990 + n * (5218 ±0)`
-		// Minimum execution time: 76_962_000 picoseconds.
-		Weight::from_parts(78_315_000, 990)
-			// Standard Error: 311_204
-			.saturating_add(Weight::from_parts(10_702_400, 0).saturating_mul(n.into()))
+		// Minimum execution time: 935_000_000 picoseconds.
+		Weight::from_parts(947_000_000, 990)
+			// Standard Error: 46_904_620
+			.saturating_add(Weight::from_parts(218_275_862, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(n.into())))
 			.saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(n.into())))
 			.saturating_add(Weight::from_parts(0, 5218).saturating_mul(n.into()))
diff --git a/substrate/frame/asset-rate/src/weights.rs b/substrate/frame/asset-rate/src/weights.rs
index b8723ee3bed..582e20e56d7 100644
--- a/substrate/frame/asset-rate/src/weights.rs
+++ b/substrate/frame/asset-rate/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_asset_rate`
+//! Autogenerated weights for pallet_asset_rate
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/asset-rate/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/asset-rate/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,83 +50,83 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_asset_rate`.
+/// Weight functions needed for pallet_asset_rate.
 pub trait WeightInfo {
 	fn create() -> Weight;
 	fn update() -> Weight;
 	fn remove() -> Weight;
 }
 
-/// Weights for `pallet_asset_rate` using the Substrate node and recommended hardware.
+/// Weights for pallet_asset_rate using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1)
-	/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
+	/// Storage: AssetRate ConversionRateToNative (r:1 w:1)
+	/// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(36), added: 2511, mode: MaxEncodedLen)
 	fn create() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `3501`
-		// Minimum execution time: 9_447_000 picoseconds.
-		Weight::from_parts(10_078_000, 3501)
+		// Minimum execution time: 11_700_000 picoseconds.
+		Weight::from_parts(12_158_000, 3501)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1)
-	/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
+	/// Storage: AssetRate ConversionRateToNative (r:1 w:1)
+	/// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(36), added: 2511, mode: MaxEncodedLen)
 	fn update() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `137`
 		//  Estimated: `3501`
-		// Minimum execution time: 9_844_000 picoseconds.
-		Weight::from_parts(10_240_000, 3501)
+		// Minimum execution time: 12_119_000 picoseconds.
+		Weight::from_parts(12_548_000, 3501)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1)
-	/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
+	/// Storage: AssetRate ConversionRateToNative (r:1 w:1)
+	/// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(36), added: 2511, mode: MaxEncodedLen)
 	fn remove() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `137`
 		//  Estimated: `3501`
-		// Minimum execution time: 10_411_000 picoseconds.
-		Weight::from_parts(10_686_000, 3501)
+		// Minimum execution time: 12_541_000 picoseconds.
+		Weight::from_parts(12_956_000, 3501)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1)
-	/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
+	/// Storage: AssetRate ConversionRateToNative (r:1 w:1)
+	/// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(36), added: 2511, mode: MaxEncodedLen)
 	fn create() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `3501`
-		// Minimum execution time: 9_447_000 picoseconds.
-		Weight::from_parts(10_078_000, 3501)
+		// Minimum execution time: 11_700_000 picoseconds.
+		Weight::from_parts(12_158_000, 3501)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1)
-	/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
+	/// Storage: AssetRate ConversionRateToNative (r:1 w:1)
+	/// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(36), added: 2511, mode: MaxEncodedLen)
 	fn update() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `137`
 		//  Estimated: `3501`
-		// Minimum execution time: 9_844_000 picoseconds.
-		Weight::from_parts(10_240_000, 3501)
+		// Minimum execution time: 12_119_000 picoseconds.
+		Weight::from_parts(12_548_000, 3501)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:1)
-	/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
+	/// Storage: AssetRate ConversionRateToNative (r:1 w:1)
+	/// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(36), added: 2511, mode: MaxEncodedLen)
 	fn remove() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `137`
 		//  Estimated: `3501`
-		// Minimum execution time: 10_411_000 picoseconds.
-		Weight::from_parts(10_686_000, 3501)
+		// Minimum execution time: 12_541_000 picoseconds.
+		Weight::from_parts(12_956_000, 3501)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
diff --git a/substrate/frame/assets/src/weights.rs b/substrate/frame/assets/src/weights.rs
index f5199105fe3..f20f7e317cf 100644
--- a/substrate/frame/assets/src/weights.rs
+++ b/substrate/frame/assets/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_assets`
+//! Autogenerated weights for pallet_assets
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/assets/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/assets/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_assets`.
+/// Weight functions needed for pallet_assets.
 pub trait WeightInfo {
 	fn create() -> Weight;
 	fn force_create() -> Weight;
@@ -85,890 +86,882 @@ pub trait WeightInfo {
 	fn block() -> Weight;
 }
 
-/// Weights for `pallet_assets` using the Substrate node and recommended hardware.
+/// Weights for pallet_assets using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn create() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `293`
 		//  Estimated: `3675`
-		// Minimum execution time: 24_690_000 picoseconds.
-		Weight::from_parts(25_878_000, 3675)
+		// Minimum execution time: 31_340_000 picoseconds.
+		Weight::from_parts(31_977_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn force_create() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `153`
 		//  Estimated: `3675`
-		// Minimum execution time: 10_997_000 picoseconds.
-		Weight::from_parts(11_369_000, 3675)
+		// Minimum execution time: 13_342_000 picoseconds.
+		Weight::from_parts(13_782_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn start_destroy() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `385`
 		//  Estimated: `3675`
-		// Minimum execution time: 11_536_000 picoseconds.
-		Weight::from_parts(12_309_000, 3675)
+		// Minimum execution time: 14_437_000 picoseconds.
+		Weight::from_parts(14_833_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1001 w:1000)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1000 w:1000)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1001 w:1000)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1000 w:1000)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `c` is `[0, 1000]`.
 	fn destroy_accounts(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + c * (208 ±0)`
 		//  Estimated: `3675 + c * (2609 ±0)`
-		// Minimum execution time: 15_798_000 picoseconds.
-		Weight::from_parts(16_005_000, 3675)
-			// Standard Error: 7_818
-			.saturating_add(Weight::from_parts(12_826_278, 0).saturating_mul(c.into()))
+		// Minimum execution time: 18_728_000 picoseconds.
+		Weight::from_parts(18_982_000, 3675)
+			// Standard Error: 11_708
+			.saturating_add(Weight::from_parts(14_363_570, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(c.into())))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(c.into())))
 			.saturating_add(Weight::from_parts(0, 2609).saturating_mul(c.into()))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Approvals` (r:1001 w:1000)
-	/// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Approvals (r:1001 w:1000)
+	/// Proof: Assets Approvals (max_values: None, max_size: Some(148), added: 2623, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 1000]`.
 	fn destroy_approvals(a: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `522 + a * (86 ±0)`
 		//  Estimated: `3675 + a * (2623 ±0)`
-		// Minimum execution time: 16_334_000 picoseconds.
-		Weight::from_parts(16_616_000, 3675)
-			// Standard Error: 6_402
-			.saturating_add(Weight::from_parts(13_502_238, 0).saturating_mul(a.into()))
+		// Minimum execution time: 18_611_000 picoseconds.
+		Weight::from_parts(18_970_000, 3675)
+			// Standard Error: 13_224
+			.saturating_add(Weight::from_parts(16_397_299, 0).saturating_mul(a.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into())))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(a.into())))
 			.saturating_add(Weight::from_parts(0, 2623).saturating_mul(a.into()))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:0)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:0)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	fn finish_destroy() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 12_278_000 picoseconds.
-		Weight::from_parts(12_834_000, 3675)
+		// Minimum execution time: 14_504_000 picoseconds.
+		Weight::from_parts(14_906_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
 	fn mint() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 21_793_000 picoseconds.
-		Weight::from_parts(22_284_000, 3675)
+		// Minimum execution time: 26_653_000 picoseconds.
+		Weight::from_parts(27_260_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
 	fn burn() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `459`
 		//  Estimated: `3675`
-		// Minimum execution time: 28_712_000 picoseconds.
-		Weight::from_parts(29_710_000, 3675)
+		// Minimum execution time: 33_625_000 picoseconds.
+		Weight::from_parts(34_474_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:2 w:2)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:2 w:2)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `498`
 		//  Estimated: `6208`
-		// Minimum execution time: 41_331_000 picoseconds.
-		Weight::from_parts(42_362_000, 6208)
+		// Minimum execution time: 47_609_000 picoseconds.
+		Weight::from_parts(48_476_000, 6208)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:2 w:2)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:2 w:2)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn transfer_keep_alive() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `498`
 		//  Estimated: `6208`
-		// Minimum execution time: 37_316_000 picoseconds.
-		Weight::from_parts(38_200_000, 6208)
+		// Minimum execution time: 41_625_000 picoseconds.
+		Weight::from_parts(43_030_000, 6208)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:2 w:2)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:2 w:2)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn force_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `498`
 		//  Estimated: `6208`
-		// Minimum execution time: 41_347_000 picoseconds.
-		Weight::from_parts(42_625_000, 6208)
+		// Minimum execution time: 47_661_000 picoseconds.
+		Weight::from_parts(48_469_000, 6208)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
 	fn freeze() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `459`
 		//  Estimated: `3675`
-		// Minimum execution time: 15_072_000 picoseconds.
-		Weight::from_parts(15_925_000, 3675)
+		// Minimum execution time: 17_727_000 picoseconds.
+		Weight::from_parts(18_384_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
 	fn thaw() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `459`
 		//  Estimated: `3675`
-		// Minimum execution time: 14_991_000 picoseconds.
-		Weight::from_parts(15_987_000, 3675)
+		// Minimum execution time: 17_657_000 picoseconds.
+		Weight::from_parts(18_282_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn freeze_asset() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `385`
 		//  Estimated: `3675`
-		// Minimum execution time: 11_296_000 picoseconds.
-		Weight::from_parts(12_052_000, 3675)
+		// Minimum execution time: 13_743_000 picoseconds.
+		Weight::from_parts(14_193_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn thaw_asset() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `385`
 		//  Estimated: `3675`
-		// Minimum execution time: 11_446_000 picoseconds.
-		Weight::from_parts(11_791_000, 3675)
+		// Minimum execution time: 13_653_000 picoseconds.
+		Weight::from_parts(14_263_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:0)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:0)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	fn transfer_ownership() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 13_134_000 picoseconds.
-		Weight::from_parts(13_401_000, 3675)
+		// Minimum execution time: 15_328_000 picoseconds.
+		Weight::from_parts(16_042_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn set_team() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 11_395_000 picoseconds.
-		Weight::from_parts(11_718_000, 3675)
+		// Minimum execution time: 14_097_000 picoseconds.
+		Weight::from_parts(14_641_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:1)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:1)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 50]`.
 	/// The range of component `s` is `[0, 50]`.
-	fn set_metadata(n: u32, _s: u32, ) -> Weight {
+	fn set_metadata(_n: u32, _s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 25_147_000 picoseconds.
-		Weight::from_parts(26_614_272, 3675)
-			// Standard Error: 959
-			.saturating_add(Weight::from_parts(2_300, 0).saturating_mul(n.into()))
+		// Minimum execution time: 29_535_000 picoseconds.
+		Weight::from_parts(31_456_892, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:1)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:1)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	fn clear_metadata() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `515`
 		//  Estimated: `3675`
-		// Minimum execution time: 26_094_000 picoseconds.
-		Weight::from_parts(27_199_000, 3675)
+		// Minimum execution time: 30_680_000 picoseconds.
+		Weight::from_parts(31_930_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:1)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:1)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 50]`.
 	/// The range of component `s` is `[0, 50]`.
-	fn force_set_metadata(n: u32, s: u32, ) -> Weight {
+	fn force_set_metadata(_n: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `190`
 		//  Estimated: `3675`
-		// Minimum execution time: 11_977_000 picoseconds.
-		Weight::from_parts(12_719_933, 3675)
-			// Standard Error: 429
-			.saturating_add(Weight::from_parts(3_239, 0).saturating_mul(n.into()))
-			// Standard Error: 429
-			.saturating_add(Weight::from_parts(3_941, 0).saturating_mul(s.into()))
+		// Minimum execution time: 14_660_000 picoseconds.
+		Weight::from_parts(15_718_387, 3675)
+			// Standard Error: 622
+			.saturating_add(Weight::from_parts(2_640, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:1)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:1)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	fn force_clear_metadata() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `515`
 		//  Estimated: `3675`
-		// Minimum execution time: 25_859_000 picoseconds.
-		Weight::from_parts(26_654_000, 3675)
+		// Minimum execution time: 30_853_000 picoseconds.
+		Weight::from_parts(31_483_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn force_asset_status() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 10_965_000 picoseconds.
-		Weight::from_parts(11_595_000, 3675)
+		// Minimum execution time: 13_632_000 picoseconds.
+		Weight::from_parts(14_077_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Approvals` (r:1 w:1)
-	/// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Approvals (r:1 w:1)
+	/// Proof: Assets Approvals (max_values: None, max_size: Some(148), added: 2623, mode: MaxEncodedLen)
 	fn approve_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `385`
 		//  Estimated: `3675`
-		// Minimum execution time: 28_427_000 picoseconds.
-		Weight::from_parts(29_150_000, 3675)
+		// Minimum execution time: 33_780_000 picoseconds.
+		Weight::from_parts(34_533_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Approvals` (r:1 w:1)
-	/// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:2 w:2)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Approvals (r:1 w:1)
+	/// Proof: Assets Approvals (max_values: None, max_size: Some(148), added: 2623, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:2 w:2)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn transfer_approved() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `668`
 		//  Estimated: `6208`
-		// Minimum execution time: 60_227_000 picoseconds.
-		Weight::from_parts(61_839_000, 6208)
+		// Minimum execution time: 67_712_000 picoseconds.
+		Weight::from_parts(69_946_000, 6208)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Approvals` (r:1 w:1)
-	/// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Approvals (r:1 w:1)
+	/// Proof: Assets Approvals (max_values: None, max_size: Some(148), added: 2623, mode: MaxEncodedLen)
 	fn cancel_approval() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `555`
 		//  Estimated: `3675`
-		// Minimum execution time: 30_738_000 picoseconds.
-		Weight::from_parts(31_988_000, 3675)
+		// Minimum execution time: 36_668_000 picoseconds.
+		Weight::from_parts(37_637_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Approvals` (r:1 w:1)
-	/// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Approvals (r:1 w:1)
+	/// Proof: Assets Approvals (max_values: None, max_size: Some(148), added: 2623, mode: MaxEncodedLen)
 	fn force_cancel_approval() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `555`
 		//  Estimated: `3675`
-		// Minimum execution time: 31_444_000 picoseconds.
-		Weight::from_parts(32_126_000, 3675)
+		// Minimum execution time: 36_685_000 picoseconds.
+		Weight::from_parts(37_950_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn set_min_balance() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 11_890_000 picoseconds.
-		Weight::from_parts(12_462_000, 3675)
+		// Minimum execution time: 14_466_000 picoseconds.
+		Weight::from_parts(14_924_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn touch() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `453`
 		//  Estimated: `3675`
-		// Minimum execution time: 30_675_000 picoseconds.
-		Weight::from_parts(31_749_000, 3675)
+		// Minimum execution time: 34_874_000 picoseconds.
+		Weight::from_parts(36_330_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn touch_other() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 28_290_000 picoseconds.
-		Weight::from_parts(29_405_000, 3675)
+		// Minimum execution time: 33_278_000 picoseconds.
+		Weight::from_parts(34_104_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn refund() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `579`
 		//  Estimated: `3675`
-		// Minimum execution time: 30_195_000 picoseconds.
-		Weight::from_parts(31_105_000, 3675)
+		// Minimum execution time: 32_898_000 picoseconds.
+		Weight::from_parts(33_489_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn refund_other() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `510`
 		//  Estimated: `3675`
-		// Minimum execution time: 27_785_000 picoseconds.
-		Weight::from_parts(28_783_000, 3675)
+		// Minimum execution time: 31_243_000 picoseconds.
+		Weight::from_parts(31_909_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
 	fn block() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `459`
 		//  Estimated: `3675`
-		// Minimum execution time: 15_318_000 picoseconds.
-		Weight::from_parts(16_113_000, 3675)
+		// Minimum execution time: 17_692_000 picoseconds.
+		Weight::from_parts(18_253_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn create() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `293`
 		//  Estimated: `3675`
-		// Minimum execution time: 24_690_000 picoseconds.
-		Weight::from_parts(25_878_000, 3675)
+		// Minimum execution time: 31_340_000 picoseconds.
+		Weight::from_parts(31_977_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn force_create() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `153`
 		//  Estimated: `3675`
-		// Minimum execution time: 10_997_000 picoseconds.
-		Weight::from_parts(11_369_000, 3675)
+		// Minimum execution time: 13_342_000 picoseconds.
+		Weight::from_parts(13_782_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn start_destroy() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `385`
 		//  Estimated: `3675`
-		// Minimum execution time: 11_536_000 picoseconds.
-		Weight::from_parts(12_309_000, 3675)
+		// Minimum execution time: 14_437_000 picoseconds.
+		Weight::from_parts(14_833_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1001 w:1000)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1000 w:1000)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1001 w:1000)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1000 w:1000)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `c` is `[0, 1000]`.
 	fn destroy_accounts(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + c * (208 ±0)`
 		//  Estimated: `3675 + c * (2609 ±0)`
-		// Minimum execution time: 15_798_000 picoseconds.
-		Weight::from_parts(16_005_000, 3675)
-			// Standard Error: 7_818
-			.saturating_add(Weight::from_parts(12_826_278, 0).saturating_mul(c.into()))
+		// Minimum execution time: 18_728_000 picoseconds.
+		Weight::from_parts(18_982_000, 3675)
+			// Standard Error: 11_708
+			.saturating_add(Weight::from_parts(14_363_570, 0).saturating_mul(c.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(c.into())))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(c.into())))
 			.saturating_add(Weight::from_parts(0, 2609).saturating_mul(c.into()))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Approvals` (r:1001 w:1000)
-	/// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Approvals (r:1001 w:1000)
+	/// Proof: Assets Approvals (max_values: None, max_size: Some(148), added: 2623, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 1000]`.
 	fn destroy_approvals(a: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `522 + a * (86 ±0)`
 		//  Estimated: `3675 + a * (2623 ±0)`
-		// Minimum execution time: 16_334_000 picoseconds.
-		Weight::from_parts(16_616_000, 3675)
-			// Standard Error: 6_402
-			.saturating_add(Weight::from_parts(13_502_238, 0).saturating_mul(a.into()))
+		// Minimum execution time: 18_611_000 picoseconds.
+		Weight::from_parts(18_970_000, 3675)
+			// Standard Error: 13_224
+			.saturating_add(Weight::from_parts(16_397_299, 0).saturating_mul(a.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(a.into())))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(a.into())))
 			.saturating_add(Weight::from_parts(0, 2623).saturating_mul(a.into()))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:0)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:0)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	fn finish_destroy() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 12_278_000 picoseconds.
-		Weight::from_parts(12_834_000, 3675)
+		// Minimum execution time: 14_504_000 picoseconds.
+		Weight::from_parts(14_906_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
 	fn mint() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 21_793_000 picoseconds.
-		Weight::from_parts(22_284_000, 3675)
+		// Minimum execution time: 26_653_000 picoseconds.
+		Weight::from_parts(27_260_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
 	fn burn() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `459`
 		//  Estimated: `3675`
-		// Minimum execution time: 28_712_000 picoseconds.
-		Weight::from_parts(29_710_000, 3675)
+		// Minimum execution time: 33_625_000 picoseconds.
+		Weight::from_parts(34_474_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:2 w:2)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:2 w:2)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `498`
 		//  Estimated: `6208`
-		// Minimum execution time: 41_331_000 picoseconds.
-		Weight::from_parts(42_362_000, 6208)
+		// Minimum execution time: 47_609_000 picoseconds.
+		Weight::from_parts(48_476_000, 6208)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:2 w:2)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:2 w:2)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn transfer_keep_alive() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `498`
 		//  Estimated: `6208`
-		// Minimum execution time: 37_316_000 picoseconds.
-		Weight::from_parts(38_200_000, 6208)
+		// Minimum execution time: 41_625_000 picoseconds.
+		Weight::from_parts(43_030_000, 6208)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:2 w:2)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:2 w:2)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn force_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `498`
 		//  Estimated: `6208`
-		// Minimum execution time: 41_347_000 picoseconds.
-		Weight::from_parts(42_625_000, 6208)
+		// Minimum execution time: 47_661_000 picoseconds.
+		Weight::from_parts(48_469_000, 6208)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
 	fn freeze() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `459`
 		//  Estimated: `3675`
-		// Minimum execution time: 15_072_000 picoseconds.
-		Weight::from_parts(15_925_000, 3675)
+		// Minimum execution time: 17_727_000 picoseconds.
+		Weight::from_parts(18_384_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
 	fn thaw() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `459`
 		//  Estimated: `3675`
-		// Minimum execution time: 14_991_000 picoseconds.
-		Weight::from_parts(15_987_000, 3675)
+		// Minimum execution time: 17_657_000 picoseconds.
+		Weight::from_parts(18_282_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn freeze_asset() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `385`
 		//  Estimated: `3675`
-		// Minimum execution time: 11_296_000 picoseconds.
-		Weight::from_parts(12_052_000, 3675)
+		// Minimum execution time: 13_743_000 picoseconds.
+		Weight::from_parts(14_193_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn thaw_asset() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `385`
 		//  Estimated: `3675`
-		// Minimum execution time: 11_446_000 picoseconds.
-		Weight::from_parts(11_791_000, 3675)
+		// Minimum execution time: 13_653_000 picoseconds.
+		Weight::from_parts(14_263_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:0)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:0)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	fn transfer_ownership() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 13_134_000 picoseconds.
-		Weight::from_parts(13_401_000, 3675)
+		// Minimum execution time: 15_328_000 picoseconds.
+		Weight::from_parts(16_042_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn set_team() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 11_395_000 picoseconds.
-		Weight::from_parts(11_718_000, 3675)
+		// Minimum execution time: 14_097_000 picoseconds.
+		Weight::from_parts(14_641_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:1)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:1)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 50]`.
 	/// The range of component `s` is `[0, 50]`.
-	fn set_metadata(n: u32, _s: u32, ) -> Weight {
+	fn set_metadata(_n: u32, _s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 25_147_000 picoseconds.
-		Weight::from_parts(26_614_272, 3675)
-			// Standard Error: 959
-			.saturating_add(Weight::from_parts(2_300, 0).saturating_mul(n.into()))
+		// Minimum execution time: 29_535_000 picoseconds.
+		Weight::from_parts(31_456_892, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:1)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:1)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	fn clear_metadata() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `515`
 		//  Estimated: `3675`
-		// Minimum execution time: 26_094_000 picoseconds.
-		Weight::from_parts(27_199_000, 3675)
+		// Minimum execution time: 30_680_000 picoseconds.
+		Weight::from_parts(31_930_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:1)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:1)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 50]`.
 	/// The range of component `s` is `[0, 50]`.
-	fn force_set_metadata(n: u32, s: u32, ) -> Weight {
+	fn force_set_metadata(_n: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `190`
 		//  Estimated: `3675`
-		// Minimum execution time: 11_977_000 picoseconds.
-		Weight::from_parts(12_719_933, 3675)
-			// Standard Error: 429
-			.saturating_add(Weight::from_parts(3_239, 0).saturating_mul(n.into()))
-			// Standard Error: 429
-			.saturating_add(Weight::from_parts(3_941, 0).saturating_mul(s.into()))
+		// Minimum execution time: 14_660_000 picoseconds.
+		Weight::from_parts(15_718_387, 3675)
+			// Standard Error: 622
+			.saturating_add(Weight::from_parts(2_640, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:1)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:1)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	fn force_clear_metadata() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `515`
 		//  Estimated: `3675`
-		// Minimum execution time: 25_859_000 picoseconds.
-		Weight::from_parts(26_654_000, 3675)
+		// Minimum execution time: 30_853_000 picoseconds.
+		Weight::from_parts(31_483_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn force_asset_status() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 10_965_000 picoseconds.
-		Weight::from_parts(11_595_000, 3675)
+		// Minimum execution time: 13_632_000 picoseconds.
+		Weight::from_parts(14_077_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Approvals` (r:1 w:1)
-	/// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Approvals (r:1 w:1)
+	/// Proof: Assets Approvals (max_values: None, max_size: Some(148), added: 2623, mode: MaxEncodedLen)
 	fn approve_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `385`
 		//  Estimated: `3675`
-		// Minimum execution time: 28_427_000 picoseconds.
-		Weight::from_parts(29_150_000, 3675)
+		// Minimum execution time: 33_780_000 picoseconds.
+		Weight::from_parts(34_533_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Approvals` (r:1 w:1)
-	/// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:2 w:2)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Approvals (r:1 w:1)
+	/// Proof: Assets Approvals (max_values: None, max_size: Some(148), added: 2623, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:2 w:2)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn transfer_approved() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `668`
 		//  Estimated: `6208`
-		// Minimum execution time: 60_227_000 picoseconds.
-		Weight::from_parts(61_839_000, 6208)
+		// Minimum execution time: 67_712_000 picoseconds.
+		Weight::from_parts(69_946_000, 6208)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Approvals` (r:1 w:1)
-	/// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Approvals (r:1 w:1)
+	/// Proof: Assets Approvals (max_values: None, max_size: Some(148), added: 2623, mode: MaxEncodedLen)
 	fn cancel_approval() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `555`
 		//  Estimated: `3675`
-		// Minimum execution time: 30_738_000 picoseconds.
-		Weight::from_parts(31_988_000, 3675)
+		// Minimum execution time: 36_668_000 picoseconds.
+		Weight::from_parts(37_637_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Approvals` (r:1 w:1)
-	/// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Approvals (r:1 w:1)
+	/// Proof: Assets Approvals (max_values: None, max_size: Some(148), added: 2623, mode: MaxEncodedLen)
 	fn force_cancel_approval() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `555`
 		//  Estimated: `3675`
-		// Minimum execution time: 31_444_000 picoseconds.
-		Weight::from_parts(32_126_000, 3675)
+		// Minimum execution time: 36_685_000 picoseconds.
+		Weight::from_parts(37_950_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn set_min_balance() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 11_890_000 picoseconds.
-		Weight::from_parts(12_462_000, 3675)
+		// Minimum execution time: 14_466_000 picoseconds.
+		Weight::from_parts(14_924_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn touch() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `453`
 		//  Estimated: `3675`
-		// Minimum execution time: 30_675_000 picoseconds.
-		Weight::from_parts(31_749_000, 3675)
+		// Minimum execution time: 34_874_000 picoseconds.
+		Weight::from_parts(36_330_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn touch_other() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `351`
 		//  Estimated: `3675`
-		// Minimum execution time: 28_290_000 picoseconds.
-		Weight::from_parts(29_405_000, 3675)
+		// Minimum execution time: 33_278_000 picoseconds.
+		Weight::from_parts(34_104_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn refund() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `579`
 		//  Estimated: `3675`
-		// Minimum execution time: 30_195_000 picoseconds.
-		Weight::from_parts(31_105_000, 3675)
+		// Minimum execution time: 32_898_000 picoseconds.
+		Weight::from_parts(33_489_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
 	fn refund_other() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `510`
 		//  Estimated: `3675`
-		// Minimum execution time: 27_785_000 picoseconds.
-		Weight::from_parts(28_783_000, 3675)
+		// Minimum execution time: 31_243_000 picoseconds.
+		Weight::from_parts(31_909_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Assets::Asset` (r:1 w:0)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: Assets Asset (r:1 w:0)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
 	fn block() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `459`
 		//  Estimated: `3675`
-		// Minimum execution time: 15_318_000 picoseconds.
-		Weight::from_parts(16_113_000, 3675)
+		// Minimum execution time: 17_692_000 picoseconds.
+		Weight::from_parts(18_253_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
diff --git a/substrate/frame/babe/src/mock.rs b/substrate/frame/babe/src/mock.rs
index 1ba0cdd0cc1..b693f4fce9b 100644
--- a/substrate/frame/babe/src/mock.rs
+++ b/substrate/frame/babe/src/mock.rs
@@ -37,9 +37,8 @@ use sp_core::{
 use sp_io;
 use sp_runtime::{
 	curve::PiecewiseLinear,
-	generic::UncheckedExtrinsic,
 	impl_opaque_keys,
-	testing::{Digest, DigestItem, Header},
+	testing::{Digest, DigestItem, Header, TestXt},
 	traits::{Header as _, OpaqueKeys},
 	BuildStorage, Perbill,
 };
@@ -75,7 +74,7 @@ where
 	RuntimeCall: From<C>,
 {
 	type OverarchingCall = RuntimeCall;
-	type Extrinsic = UncheckedExtrinsic<u64, RuntimeCall, (), ()>;
+	type Extrinsic = TestXt<RuntimeCall, ()>;
 }
 
 impl_opaque_keys! {
diff --git a/substrate/frame/bags-list/src/weights.rs b/substrate/frame/bags-list/src/weights.rs
index 804b702cc9a..d929c6bb959 100644
--- a/substrate/frame/bags-list/src/weights.rs
+++ b/substrate/frame/bags-list/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_bags_list`
+//! Autogenerated weights for pallet_bags_list
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/bags-list/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/bags-list/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,123 +50,123 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_bags_list`.
+/// Weight functions needed for pallet_bags_list.
 pub trait WeightInfo {
 	fn rebag_non_terminal() -> Weight;
 	fn rebag_terminal() -> Weight;
 	fn put_in_front_of() -> Weight;
 }
 
-/// Weights for `pallet_bags_list` using the Substrate node and recommended hardware.
+/// Weights for pallet_bags_list using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Staking::Bonded` (r:1 w:0)
-	/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Ledger` (r:1 w:0)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListNodes` (r:4 w:4)
-	/// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListBags` (r:1 w:1)
-	/// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`)
+	/// Storage: Staking Bonded (r:1 w:0)
+	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
+	/// Storage: Staking Ledger (r:1 w:0)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: VoterList ListNodes (r:4 w:4)
+	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
+	/// Storage: VoterList ListBags (r:1 w:1)
+	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
 	fn rebag_non_terminal() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1719`
+		//  Measured:  `1724`
 		//  Estimated: `11506`
-		// Minimum execution time: 55_856_000 picoseconds.
-		Weight::from_parts(59_022_000, 11506)
+		// Minimum execution time: 62_137_000 picoseconds.
+		Weight::from_parts(64_050_000, 11506)
 			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Staking::Bonded` (r:1 w:0)
-	/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Ledger` (r:1 w:0)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListNodes` (r:3 w:3)
-	/// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListBags` (r:2 w:2)
-	/// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`)
+	/// Storage: Staking Bonded (r:1 w:0)
+	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
+	/// Storage: Staking Ledger (r:1 w:0)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: VoterList ListNodes (r:3 w:3)
+	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
+	/// Storage: VoterList ListBags (r:2 w:2)
+	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
 	fn rebag_terminal() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1613`
+		//  Measured:  `1618`
 		//  Estimated: `8877`
-		// Minimum execution time: 55_418_000 picoseconds.
-		Weight::from_parts(57_352_000, 8877)
+		// Minimum execution time: 60_880_000 picoseconds.
+		Weight::from_parts(62_078_000, 8877)
 			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `VoterList::ListNodes` (r:4 w:4)
-	/// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Bonded` (r:2 w:0)
-	/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Ledger` (r:2 w:0)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::CounterForListNodes` (r:1 w:1)
-	/// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListBags` (r:1 w:1)
-	/// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`)
+	/// Storage: VoterList ListNodes (r:4 w:4)
+	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
+	/// Storage: Staking Bonded (r:2 w:0)
+	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
+	/// Storage: Staking Ledger (r:2 w:0)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: VoterList CounterForListNodes (r:1 w:1)
+	/// Proof: VoterList CounterForListNodes (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: VoterList ListBags (r:1 w:1)
+	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
 	fn put_in_front_of() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1925`
+		//  Measured:  `1930`
 		//  Estimated: `11506`
-		// Minimum execution time: 63_820_000 picoseconds.
-		Weight::from_parts(65_530_000, 11506)
+		// Minimum execution time: 68_911_000 picoseconds.
+		Weight::from_parts(70_592_000, 11506)
 			.saturating_add(T::DbWeight::get().reads(10_u64))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Staking::Bonded` (r:1 w:0)
-	/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Ledger` (r:1 w:0)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListNodes` (r:4 w:4)
-	/// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListBags` (r:1 w:1)
-	/// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`)
+	/// Storage: Staking Bonded (r:1 w:0)
+	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
+	/// Storage: Staking Ledger (r:1 w:0)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: VoterList ListNodes (r:4 w:4)
+	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
+	/// Storage: VoterList ListBags (r:1 w:1)
+	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
 	fn rebag_non_terminal() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1719`
+		//  Measured:  `1724`
 		//  Estimated: `11506`
-		// Minimum execution time: 55_856_000 picoseconds.
-		Weight::from_parts(59_022_000, 11506)
+		// Minimum execution time: 62_137_000 picoseconds.
+		Weight::from_parts(64_050_000, 11506)
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Staking::Bonded` (r:1 w:0)
-	/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Ledger` (r:1 w:0)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListNodes` (r:3 w:3)
-	/// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListBags` (r:2 w:2)
-	/// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`)
+	/// Storage: Staking Bonded (r:1 w:0)
+	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
+	/// Storage: Staking Ledger (r:1 w:0)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: VoterList ListNodes (r:3 w:3)
+	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
+	/// Storage: VoterList ListBags (r:2 w:2)
+	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
 	fn rebag_terminal() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1613`
+		//  Measured:  `1618`
 		//  Estimated: `8877`
-		// Minimum execution time: 55_418_000 picoseconds.
-		Weight::from_parts(57_352_000, 8877)
+		// Minimum execution time: 60_880_000 picoseconds.
+		Weight::from_parts(62_078_000, 8877)
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `VoterList::ListNodes` (r:4 w:4)
-	/// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Bonded` (r:2 w:0)
-	/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Ledger` (r:2 w:0)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::CounterForListNodes` (r:1 w:1)
-	/// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListBags` (r:1 w:1)
-	/// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`)
+	/// Storage: VoterList ListNodes (r:4 w:4)
+	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
+	/// Storage: Staking Bonded (r:2 w:0)
+	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
+	/// Storage: Staking Ledger (r:2 w:0)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: VoterList CounterForListNodes (r:1 w:1)
+	/// Proof: VoterList CounterForListNodes (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: VoterList ListBags (r:1 w:1)
+	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
 	fn put_in_front_of() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1925`
+		//  Measured:  `1930`
 		//  Estimated: `11506`
-		// Minimum execution time: 63_820_000 picoseconds.
-		Weight::from_parts(65_530_000, 11506)
+		// Minimum execution time: 68_911_000 picoseconds.
+		Weight::from_parts(70_592_000, 11506)
 			.saturating_add(RocksDbWeight::get().reads(10_u64))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
diff --git a/substrate/frame/balances/Cargo.toml b/substrate/frame/balances/Cargo.toml
index db114290ed8..64ae90c6757 100644
--- a/substrate/frame/balances/Cargo.toml
+++ b/substrate/frame/balances/Cargo.toml
@@ -53,7 +53,6 @@ runtime-benchmarks = [
 	"frame-benchmarking/runtime-benchmarks",
 	"frame-support/runtime-benchmarks",
 	"frame-system/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"sp-runtime/runtime-benchmarks",
 ]
 try-runtime = [
diff --git a/substrate/frame/balances/src/tests/currency_tests.rs b/substrate/frame/balances/src/tests/currency_tests.rs
index 10bb79901f8..46a4c4caefc 100644
--- a/substrate/frame/balances/src/tests/currency_tests.rs
+++ b/substrate/frame/balances/src/tests/currency_tests.rs
@@ -30,7 +30,6 @@ use frame_support::{
 	StorageNoopGuard,
 };
 use frame_system::Event as SysEvent;
-use sp_runtime::traits::DispatchTransaction;
 
 const ID_1: LockIdentifier = *b"1       ";
 const ID_2: LockIdentifier = *b"2       ";
@@ -241,17 +240,17 @@ fn lock_should_work_reserve() {
 				TokenError::Frozen
 			);
 			assert_noop!(Balances::reserve(&1, 1), Error::<Test>::LiquidityRestrictions,);
-			assert!(ChargeTransactionPayment::<Test>::validate_and_prepare(
+			assert!(<ChargeTransactionPayment<Test> as SignedExtension>::pre_dispatch(
 				ChargeTransactionPayment::from(1),
-				Some(1).into(),
+				&1,
 				CALL,
 				&info_from_weight(Weight::from_parts(1, 0)),
 				1,
 			)
 			.is_err());
-			assert!(ChargeTransactionPayment::<Test>::validate_and_prepare(
+			assert!(<ChargeTransactionPayment<Test> as SignedExtension>::pre_dispatch(
 				ChargeTransactionPayment::from(0),
-				Some(1).into(),
+				&1,
 				CALL,
 				&info_from_weight(Weight::from_parts(1, 0)),
 				1,
@@ -272,17 +271,17 @@ fn lock_should_work_tx_fee() {
 				TokenError::Frozen
 			);
 			assert_noop!(Balances::reserve(&1, 1), Error::<Test>::LiquidityRestrictions,);
-			assert!(ChargeTransactionPayment::<Test>::validate_and_prepare(
+			assert!(<ChargeTransactionPayment<Test> as SignedExtension>::pre_dispatch(
 				ChargeTransactionPayment::from(1),
-				Some(1).into(),
+				&1,
 				CALL,
 				&info_from_weight(Weight::from_parts(1, 0)),
 				1,
 			)
 			.is_err());
-			assert!(ChargeTransactionPayment::<Test>::validate_and_prepare(
+			assert!(<ChargeTransactionPayment<Test> as SignedExtension>::pre_dispatch(
 				ChargeTransactionPayment::from(0),
-				Some(1).into(),
+				&1,
 				CALL,
 				&info_from_weight(Weight::from_parts(1, 0)),
 				1,
diff --git a/substrate/frame/balances/src/tests/mod.rs b/substrate/frame/balances/src/tests/mod.rs
index ee076a10fd1..599909fa943 100644
--- a/substrate/frame/balances/src/tests/mod.rs
+++ b/substrate/frame/balances/src/tests/mod.rs
@@ -37,7 +37,7 @@ use scale_info::TypeInfo;
 use sp_core::hexdisplay::HexDisplay;
 use sp_io;
 use sp_runtime::{
-	traits::{BadOrigin, Zero},
+	traits::{BadOrigin, SignedExtension, Zero},
 	ArithmeticError, BuildStorage, DispatchError, DispatchResult, FixedPointNumber, RuntimeDebug,
 	TokenError,
 };
@@ -96,13 +96,13 @@ impl frame_system::Config for Test {
 	type AccountData = super::AccountData<u64>;
 }
 
-#[derive_impl(pallet_transaction_payment::config_preludes::TestDefaultConfig as pallet_transaction_payment::DefaultConfig)]
 impl pallet_transaction_payment::Config for Test {
 	type RuntimeEvent = RuntimeEvent;
 	type OnChargeTransaction = CurrencyAdapter<Pallet<Test>, ()>;
 	type OperationalFeeMultiplier = ConstU8<5>;
 	type WeightToFee = IdentityFee<u64>;
 	type LengthToFee = IdentityFee<u64>;
+	type FeeMultiplierUpdate = ();
 }
 
 pub(crate) type Balance = u64;
diff --git a/substrate/frame/balances/src/weights.rs b/substrate/frame/balances/src/weights.rs
index 6bcfe050af7..f875ea189ba 100644
--- a/substrate/frame/balances/src/weights.rs
+++ b/substrate/frame/balances/src/weights.rs
@@ -17,28 +17,26 @@
 
 //! Autogenerated weights for `pallet_balances`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2024-01-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-j8vvqcjr-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/production/substrate-node
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_balances
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/balances/src/weights.rs
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_balances
+// --chain=dev
 // --header=./substrate/HEADER-APACHE2
+// --output=./substrate/frame/balances/src/weights.rs
 // --template=./substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -71,8 +69,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3593`
-		// Minimum execution time: 46_407_000 picoseconds.
-		Weight::from_parts(47_561_000, 3593)
+		// Minimum execution time: 46_329_000 picoseconds.
+		Weight::from_parts(47_297_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -82,8 +80,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3593`
-		// Minimum execution time: 36_574_000 picoseconds.
-		Weight::from_parts(37_682_000, 3593)
+		// Minimum execution time: 36_187_000 picoseconds.
+		Weight::from_parts(36_900_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -93,8 +91,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `174`
 		//  Estimated: `3593`
-		// Minimum execution time: 13_990_000 picoseconds.
-		Weight::from_parts(14_568_000, 3593)
+		// Minimum execution time: 13_498_000 picoseconds.
+		Weight::from_parts(14_143_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -104,8 +102,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `174`
 		//  Estimated: `3593`
-		// Minimum execution time: 19_594_000 picoseconds.
-		Weight::from_parts(20_148_000, 3593)
+		// Minimum execution time: 18_756_000 picoseconds.
+		Weight::from_parts(19_553_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -115,8 +113,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `103`
 		//  Estimated: `6196`
-		// Minimum execution time: 47_945_000 picoseconds.
-		Weight::from_parts(49_363_000, 6196)
+		// Minimum execution time: 47_826_000 picoseconds.
+		Weight::from_parts(48_834_000, 6196)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -126,8 +124,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3593`
-		// Minimum execution time: 45_205_000 picoseconds.
-		Weight::from_parts(45_952_000, 3593)
+		// Minimum execution time: 44_621_000 picoseconds.
+		Weight::from_parts(45_151_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -137,8 +135,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `174`
 		//  Estimated: `3593`
-		// Minimum execution time: 16_593_000 picoseconds.
-		Weight::from_parts(17_123_000, 3593)
+		// Minimum execution time: 16_194_000 picoseconds.
+		Weight::from_parts(16_945_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -149,10 +147,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + u * (135 ±0)`
 		//  Estimated: `990 + u * (2603 ±0)`
-		// Minimum execution time: 16_182_000 picoseconds.
-		Weight::from_parts(16_412_000, 990)
-			// Standard Error: 10_148
-			.saturating_add(Weight::from_parts(13_382_459, 0).saturating_mul(u.into()))
+		// Minimum execution time: 15_782_000 picoseconds.
+		Weight::from_parts(16_118_000, 990)
+			// Standard Error: 10_499
+			.saturating_add(Weight::from_parts(13_327_660, 0).saturating_mul(u.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(u.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(u.into())))
 			.saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into()))
@@ -161,8 +159,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_478_000 picoseconds.
-		Weight::from_parts(6_830_000, 0)
+		// Minimum execution time: 6_157_000 picoseconds.
+		Weight::from_parts(6_507_000, 0)
 	}
 }
 
@@ -174,8 +172,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3593`
-		// Minimum execution time: 46_407_000 picoseconds.
-		Weight::from_parts(47_561_000, 3593)
+		// Minimum execution time: 46_329_000 picoseconds.
+		Weight::from_parts(47_297_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -185,8 +183,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3593`
-		// Minimum execution time: 36_574_000 picoseconds.
-		Weight::from_parts(37_682_000, 3593)
+		// Minimum execution time: 36_187_000 picoseconds.
+		Weight::from_parts(36_900_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -196,8 +194,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `174`
 		//  Estimated: `3593`
-		// Minimum execution time: 13_990_000 picoseconds.
-		Weight::from_parts(14_568_000, 3593)
+		// Minimum execution time: 13_498_000 picoseconds.
+		Weight::from_parts(14_143_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -207,8 +205,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `174`
 		//  Estimated: `3593`
-		// Minimum execution time: 19_594_000 picoseconds.
-		Weight::from_parts(20_148_000, 3593)
+		// Minimum execution time: 18_756_000 picoseconds.
+		Weight::from_parts(19_553_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -218,8 +216,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `103`
 		//  Estimated: `6196`
-		// Minimum execution time: 47_945_000 picoseconds.
-		Weight::from_parts(49_363_000, 6196)
+		// Minimum execution time: 47_826_000 picoseconds.
+		Weight::from_parts(48_834_000, 6196)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
@@ -229,8 +227,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `3593`
-		// Minimum execution time: 45_205_000 picoseconds.
-		Weight::from_parts(45_952_000, 3593)
+		// Minimum execution time: 44_621_000 picoseconds.
+		Weight::from_parts(45_151_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -240,8 +238,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `174`
 		//  Estimated: `3593`
-		// Minimum execution time: 16_593_000 picoseconds.
-		Weight::from_parts(17_123_000, 3593)
+		// Minimum execution time: 16_194_000 picoseconds.
+		Weight::from_parts(16_945_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -252,10 +250,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + u * (135 ±0)`
 		//  Estimated: `990 + u * (2603 ±0)`
-		// Minimum execution time: 16_182_000 picoseconds.
-		Weight::from_parts(16_412_000, 990)
-			// Standard Error: 10_148
-			.saturating_add(Weight::from_parts(13_382_459, 0).saturating_mul(u.into()))
+		// Minimum execution time: 15_782_000 picoseconds.
+		Weight::from_parts(16_118_000, 990)
+			// Standard Error: 10_499
+			.saturating_add(Weight::from_parts(13_327_660, 0).saturating_mul(u.into()))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(u.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(u.into())))
 			.saturating_add(Weight::from_parts(0, 2603).saturating_mul(u.into()))
@@ -264,7 +262,7 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_478_000 picoseconds.
-		Weight::from_parts(6_830_000, 0)
+		// Minimum execution time: 6_157_000 picoseconds.
+		Weight::from_parts(6_507_000, 0)
 	}
 }
diff --git a/substrate/frame/beefy/src/mock.rs b/substrate/frame/beefy/src/mock.rs
index 5d963d309a4..9cce479890a 100644
--- a/substrate/frame/beefy/src/mock.rs
+++ b/substrate/frame/beefy/src/mock.rs
@@ -29,8 +29,8 @@ use pallet_session::historical as pallet_session_historical;
 use sp_core::{crypto::KeyTypeId, ConstU128};
 use sp_io::TestExternalities;
 use sp_runtime::{
-	app_crypto::ecdsa::Public, curve::PiecewiseLinear, generic::UncheckedExtrinsic,
-	impl_opaque_keys, traits::OpaqueKeys, BuildStorage, Perbill,
+	app_crypto::ecdsa::Public, curve::PiecewiseLinear, impl_opaque_keys, testing::TestXt,
+	traits::OpaqueKeys, BuildStorage, Perbill,
 };
 use sp_staking::{EraIndex, SessionIndex};
 use sp_state_machine::BasicExternalities;
@@ -73,7 +73,7 @@ where
 	RuntimeCall: From<C>,
 {
 	type OverarchingCall = RuntimeCall;
-	type Extrinsic = UncheckedExtrinsic<u64, RuntimeCall, (), ()>;
+	type Extrinsic = TestXt<RuntimeCall, ()>;
 }
 
 parameter_types! {
diff --git a/substrate/frame/benchmarking/src/weights.rs b/substrate/frame/benchmarking/src/weights.rs
index 76f9a3fe52b..13d73e420cc 100644
--- a/substrate/frame/benchmarking/src/weights.rs
+++ b/substrate/frame/benchmarking/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `frame_benchmarking`
+//! Autogenerated weights for frame_benchmarking
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/benchmarking/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/benchmarking/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `frame_benchmarking`.
+/// Weight functions needed for frame_benchmarking.
 pub trait WeightInfo {
 	fn addition(i: u32, ) -> Weight;
 	fn subtraction(i: u32, ) -> Weight;
@@ -59,7 +60,7 @@ pub trait WeightInfo {
 	fn sr25519_verification(i: u32, ) -> Weight;
 }
 
-/// Weights for `frame_benchmarking` using the Substrate node and recommended hardware.
+/// Weights for frame_benchmarking using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `i` is `[0, 1000000]`.
@@ -67,101 +68,101 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 150_000 picoseconds.
-		Weight::from_parts(190_440, 0)
+		// Minimum execution time: 147_000 picoseconds.
+		Weight::from_parts(185_656, 0)
 	}
 	/// The range of component `i` is `[0, 1000000]`.
 	fn subtraction(_i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 151_000 picoseconds.
-		Weight::from_parts(201_397, 0)
+		// Minimum execution time: 146_000 picoseconds.
+		Weight::from_parts(189_816, 0)
 	}
 	/// The range of component `i` is `[0, 1000000]`.
 	fn multiplication(_i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 152_000 picoseconds.
-		Weight::from_parts(187_862, 0)
+		// Minimum execution time: 148_000 picoseconds.
+		Weight::from_parts(202_367, 0)
 	}
 	/// The range of component `i` is `[0, 1000000]`.
 	fn division(_i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 146_000 picoseconds.
-		Weight::from_parts(215_191, 0)
+		// Minimum execution time: 143_000 picoseconds.
+		Weight::from_parts(189_693, 0)
 	}
 	fn hashing() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 25_432_823_000 picoseconds.
-		Weight::from_parts(25_568_846_000, 0)
+		// Minimum execution time: 24_167_071_000 picoseconds.
+		Weight::from_parts(24_391_749_000, 0)
 	}
 	/// The range of component `i` is `[0, 100]`.
 	fn sr25519_verification(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 193_000 picoseconds.
-		Weight::from_parts(3_846_690, 0)
-			// Standard Error: 6_694
-			.saturating_add(Weight::from_parts(40_647_582, 0).saturating_mul(i.into()))
+		// Minimum execution time: 231_000 picoseconds.
+		Weight::from_parts(2_998_013, 0)
+			// Standard Error: 6_256
+			.saturating_add(Weight::from_parts(55_456_705, 0).saturating_mul(i.into()))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
 	/// The range of component `i` is `[0, 1000000]`.
 	fn addition(_i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 150_000 picoseconds.
-		Weight::from_parts(190_440, 0)
+		// Minimum execution time: 147_000 picoseconds.
+		Weight::from_parts(185_656, 0)
 	}
 	/// The range of component `i` is `[0, 1000000]`.
 	fn subtraction(_i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 151_000 picoseconds.
-		Weight::from_parts(201_397, 0)
+		// Minimum execution time: 146_000 picoseconds.
+		Weight::from_parts(189_816, 0)
 	}
 	/// The range of component `i` is `[0, 1000000]`.
 	fn multiplication(_i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 152_000 picoseconds.
-		Weight::from_parts(187_862, 0)
+		// Minimum execution time: 148_000 picoseconds.
+		Weight::from_parts(202_367, 0)
 	}
 	/// The range of component `i` is `[0, 1000000]`.
 	fn division(_i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 146_000 picoseconds.
-		Weight::from_parts(215_191, 0)
+		// Minimum execution time: 143_000 picoseconds.
+		Weight::from_parts(189_693, 0)
 	}
 	fn hashing() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 25_432_823_000 picoseconds.
-		Weight::from_parts(25_568_846_000, 0)
+		// Minimum execution time: 24_167_071_000 picoseconds.
+		Weight::from_parts(24_391_749_000, 0)
 	}
 	/// The range of component `i` is `[0, 100]`.
 	fn sr25519_verification(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 193_000 picoseconds.
-		Weight::from_parts(3_846_690, 0)
-			// Standard Error: 6_694
-			.saturating_add(Weight::from_parts(40_647_582, 0).saturating_mul(i.into()))
+		// Minimum execution time: 231_000 picoseconds.
+		Weight::from_parts(2_998_013, 0)
+			// Standard Error: 6_256
+			.saturating_add(Weight::from_parts(55_456_705, 0).saturating_mul(i.into()))
 	}
 }
diff --git a/substrate/frame/bounties/src/weights.rs b/substrate/frame/bounties/src/weights.rs
index 1f0e38b6702..a172d15b56c 100644
--- a/substrate/frame/bounties/src/weights.rs
+++ b/substrate/frame/bounties/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_bounties`
+//! Autogenerated weights for pallet_bounties
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/bounties/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/bounties/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_bounties`.
+/// Weight functions needed for pallet_bounties.
 pub trait WeightInfo {
 	fn propose_bounty(d: u32, ) -> Weight;
 	fn approve_bounty() -> Weight;
@@ -64,169 +65,169 @@ pub trait WeightInfo {
 	fn spend_funds(b: u32, ) -> Weight;
 }
 
-/// Weights for `pallet_bounties` using the Substrate node and recommended hardware.
+/// Weights for pallet_bounties using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Bounties::BountyCount` (r:1 w:1)
-	/// Proof: `Bounties::BountyCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyDescriptions` (r:0 w:1)
-	/// Proof: `Bounties::BountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::Bounties` (r:0 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
+	/// Storage: Bounties BountyCount (r:1 w:1)
+	/// Proof: Bounties BountyCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyDescriptions (r:0 w:1)
+	/// Proof: Bounties BountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
+	/// Storage: Bounties Bounties (r:0 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
 	/// The range of component `d` is `[0, 300]`.
 	fn propose_bounty(d: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `309`
+		//  Measured:  `276`
 		//  Estimated: `3593`
-		// Minimum execution time: 24_286_000 picoseconds.
-		Weight::from_parts(25_657_314, 3593)
-			// Standard Error: 215
-			.saturating_add(Weight::from_parts(1_116, 0).saturating_mul(d.into()))
+		// Minimum execution time: 29_384_000 picoseconds.
+		Weight::from_parts(30_820_018, 3593)
+			// Standard Error: 298
+			.saturating_add(Weight::from_parts(2_920, 0).saturating_mul(d.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyApprovals` (r:1 w:1)
-	/// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyApprovals (r:1 w:1)
+	/// Proof: Bounties BountyApprovals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
 	fn approve_bounty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `401`
+		//  Measured:  `368`
 		//  Estimated: `3642`
-		// Minimum execution time: 12_526_000 picoseconds.
-		Weight::from_parts(13_373_000, 3642)
+		// Minimum execution time: 10_873_000 picoseconds.
+		Weight::from_parts(11_421_000, 3642)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
 	fn propose_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `421`
+		//  Measured:  `388`
 		//  Estimated: `3642`
-		// Minimum execution time: 11_807_000 picoseconds.
-		Weight::from_parts(12_340_000, 3642)
+		// Minimum execution time: 9_181_000 picoseconds.
+		Weight::from_parts(9_726_000, 3642)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn unassign_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `597`
+		//  Measured:  `564`
 		//  Estimated: `3642`
-		// Minimum execution time: 27_183_000 picoseconds.
-		Weight::from_parts(28_250_000, 3642)
+		// Minimum execution time: 30_257_000 picoseconds.
+		Weight::from_parts(30_751_000, 3642)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn accept_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `593`
+		//  Measured:  `560`
 		//  Estimated: `3642`
-		// Minimum execution time: 26_775_000 picoseconds.
-		Weight::from_parts(27_667_000, 3642)
+		// Minimum execution time: 27_850_000 picoseconds.
+		Weight::from_parts(28_821_000, 3642)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:0)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:0)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
 	fn award_bounty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `605`
+		//  Measured:  `572`
 		//  Estimated: `3642`
-		// Minimum execution time: 16_089_000 picoseconds.
-		Weight::from_parts(16_909_000, 3642)
+		// Minimum execution time: 19_164_000 picoseconds.
+		Weight::from_parts(20_136_000, 3642)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:3 w:3)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildrenCuratorFees` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildrenCuratorFees` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyDescriptions` (r:0 w:1)
-	/// Proof: `Bounties::BountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: System Account (r:3 w:3)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildrenCuratorFees (r:1 w:1)
+	/// Proof: ChildBounties ChildrenCuratorFees (max_values: None, max_size: Some(28), added: 2503, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyDescriptions (r:0 w:1)
+	/// Proof: Bounties BountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
 	fn claim_bounty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `969`
+		//  Measured:  `936`
 		//  Estimated: `8799`
-		// Minimum execution time: 104_973_000 picoseconds.
-		Weight::from_parts(107_696_000, 8799)
+		// Minimum execution time: 120_235_000 picoseconds.
+		Weight::from_parts(121_673_000, 8799)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:0)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyDescriptions` (r:0 w:1)
-	/// Proof: `Bounties::BountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:0)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyDescriptions (r:0 w:1)
+	/// Proof: Bounties BountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
 	fn close_bounty_proposed() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `649`
+		//  Measured:  `616`
 		//  Estimated: `3642`
-		// Minimum execution time: 30_702_000 picoseconds.
-		Weight::from_parts(32_615_000, 3642)
+		// Minimum execution time: 35_713_000 picoseconds.
+		Weight::from_parts(37_174_000, 3642)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:0)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyDescriptions` (r:0 w:1)
-	/// Proof: `Bounties::BountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:0)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: System Account (r:2 w:2)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyDescriptions (r:0 w:1)
+	/// Proof: Bounties BountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
 	fn close_bounty_active() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `885`
+		//  Measured:  `852`
 		//  Estimated: `6196`
-		// Minimum execution time: 72_055_000 picoseconds.
-		Weight::from_parts(73_900_000, 6196)
+		// Minimum execution time: 81_037_000 picoseconds.
+		Weight::from_parts(83_294_000, 6196)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
 	fn extend_bounty_expiry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `457`
+		//  Measured:  `424`
 		//  Estimated: `3642`
-		// Minimum execution time: 12_057_000 picoseconds.
-		Weight::from_parts(12_744_000, 3642)
+		// Minimum execution time: 15_348_000 picoseconds.
+		Weight::from_parts(15_776_000, 3642)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Bounties::BountyApprovals` (r:1 w:1)
-	/// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::Bounties` (r:100 w:100)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:200 w:200)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Bounties BountyApprovals (r:1 w:1)
+	/// Proof: Bounties BountyApprovals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
+	/// Storage: Bounties Bounties (r:100 w:100)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: System Account (r:200 w:200)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `b` is `[0, 100]`.
 	fn spend_funds(b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `37 + b * (297 ±0)`
+		//  Measured:  `4 + b * (297 ±0)`
 		//  Estimated: `1887 + b * (5206 ±0)`
-		// Minimum execution time: 3_489_000 picoseconds.
-		Weight::from_parts(8_384_129, 1887)
-			// Standard Error: 18_066
-			.saturating_add(Weight::from_parts(31_612_331, 0).saturating_mul(b.into()))
+		// Minimum execution time: 5_082_000 picoseconds.
+		Weight::from_parts(5_126_000, 1887)
+			// Standard Error: 21_949
+			.saturating_add(Weight::from_parts(42_635_308, 0).saturating_mul(b.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(b.into())))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
@@ -235,168 +236,168 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Bounties::BountyCount` (r:1 w:1)
-	/// Proof: `Bounties::BountyCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyDescriptions` (r:0 w:1)
-	/// Proof: `Bounties::BountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::Bounties` (r:0 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
+	/// Storage: Bounties BountyCount (r:1 w:1)
+	/// Proof: Bounties BountyCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyDescriptions (r:0 w:1)
+	/// Proof: Bounties BountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
+	/// Storage: Bounties Bounties (r:0 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
 	/// The range of component `d` is `[0, 300]`.
 	fn propose_bounty(d: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `309`
+		//  Measured:  `276`
 		//  Estimated: `3593`
-		// Minimum execution time: 24_286_000 picoseconds.
-		Weight::from_parts(25_657_314, 3593)
-			// Standard Error: 215
-			.saturating_add(Weight::from_parts(1_116, 0).saturating_mul(d.into()))
+		// Minimum execution time: 29_384_000 picoseconds.
+		Weight::from_parts(30_820_018, 3593)
+			// Standard Error: 298
+			.saturating_add(Weight::from_parts(2_920, 0).saturating_mul(d.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyApprovals` (r:1 w:1)
-	/// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyApprovals (r:1 w:1)
+	/// Proof: Bounties BountyApprovals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
 	fn approve_bounty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `401`
+		//  Measured:  `368`
 		//  Estimated: `3642`
-		// Minimum execution time: 12_526_000 picoseconds.
-		Weight::from_parts(13_373_000, 3642)
+		// Minimum execution time: 10_873_000 picoseconds.
+		Weight::from_parts(11_421_000, 3642)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
 	fn propose_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `421`
+		//  Measured:  `388`
 		//  Estimated: `3642`
-		// Minimum execution time: 11_807_000 picoseconds.
-		Weight::from_parts(12_340_000, 3642)
+		// Minimum execution time: 9_181_000 picoseconds.
+		Weight::from_parts(9_726_000, 3642)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn unassign_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `597`
+		//  Measured:  `564`
 		//  Estimated: `3642`
-		// Minimum execution time: 27_183_000 picoseconds.
-		Weight::from_parts(28_250_000, 3642)
+		// Minimum execution time: 30_257_000 picoseconds.
+		Weight::from_parts(30_751_000, 3642)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn accept_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `593`
+		//  Measured:  `560`
 		//  Estimated: `3642`
-		// Minimum execution time: 26_775_000 picoseconds.
-		Weight::from_parts(27_667_000, 3642)
+		// Minimum execution time: 27_850_000 picoseconds.
+		Weight::from_parts(28_821_000, 3642)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:0)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:0)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
 	fn award_bounty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `605`
+		//  Measured:  `572`
 		//  Estimated: `3642`
-		// Minimum execution time: 16_089_000 picoseconds.
-		Weight::from_parts(16_909_000, 3642)
+		// Minimum execution time: 19_164_000 picoseconds.
+		Weight::from_parts(20_136_000, 3642)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:3 w:3)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildrenCuratorFees` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildrenCuratorFees` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyDescriptions` (r:0 w:1)
-	/// Proof: `Bounties::BountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: System Account (r:3 w:3)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildrenCuratorFees (r:1 w:1)
+	/// Proof: ChildBounties ChildrenCuratorFees (max_values: None, max_size: Some(28), added: 2503, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyDescriptions (r:0 w:1)
+	/// Proof: Bounties BountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
 	fn claim_bounty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `969`
+		//  Measured:  `936`
 		//  Estimated: `8799`
-		// Minimum execution time: 104_973_000 picoseconds.
-		Weight::from_parts(107_696_000, 8799)
+		// Minimum execution time: 120_235_000 picoseconds.
+		Weight::from_parts(121_673_000, 8799)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:0)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyDescriptions` (r:0 w:1)
-	/// Proof: `Bounties::BountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:0)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyDescriptions (r:0 w:1)
+	/// Proof: Bounties BountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
 	fn close_bounty_proposed() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `649`
+		//  Measured:  `616`
 		//  Estimated: `3642`
-		// Minimum execution time: 30_702_000 picoseconds.
-		Weight::from_parts(32_615_000, 3642)
+		// Minimum execution time: 35_713_000 picoseconds.
+		Weight::from_parts(37_174_000, 3642)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:0)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyDescriptions` (r:0 w:1)
-	/// Proof: `Bounties::BountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:0)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: System Account (r:2 w:2)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyDescriptions (r:0 w:1)
+	/// Proof: Bounties BountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
 	fn close_bounty_active() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `885`
+		//  Measured:  `852`
 		//  Estimated: `6196`
-		// Minimum execution time: 72_055_000 picoseconds.
-		Weight::from_parts(73_900_000, 6196)
+		// Minimum execution time: 81_037_000 picoseconds.
+		Weight::from_parts(83_294_000, 6196)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:1)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:1)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
 	fn extend_bounty_expiry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `457`
+		//  Measured:  `424`
 		//  Estimated: `3642`
-		// Minimum execution time: 12_057_000 picoseconds.
-		Weight::from_parts(12_744_000, 3642)
+		// Minimum execution time: 15_348_000 picoseconds.
+		Weight::from_parts(15_776_000, 3642)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Bounties::BountyApprovals` (r:1 w:1)
-	/// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::Bounties` (r:100 w:100)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:200 w:200)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Bounties BountyApprovals (r:1 w:1)
+	/// Proof: Bounties BountyApprovals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
+	/// Storage: Bounties Bounties (r:100 w:100)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: System Account (r:200 w:200)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `b` is `[0, 100]`.
 	fn spend_funds(b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `37 + b * (297 ±0)`
+		//  Measured:  `4 + b * (297 ±0)`
 		//  Estimated: `1887 + b * (5206 ±0)`
-		// Minimum execution time: 3_489_000 picoseconds.
-		Weight::from_parts(8_384_129, 1887)
-			// Standard Error: 18_066
-			.saturating_add(Weight::from_parts(31_612_331, 0).saturating_mul(b.into()))
+		// Minimum execution time: 5_082_000 picoseconds.
+		Weight::from_parts(5_126_000, 1887)
+			// Standard Error: 21_949
+			.saturating_add(Weight::from_parts(42_635_308, 0).saturating_mul(b.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(b.into())))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
diff --git a/substrate/frame/broker/src/weights.rs b/substrate/frame/broker/src/weights.rs
index 133ea63e35f..a8f50eeee6e 100644
--- a/substrate/frame/broker/src/weights.rs
+++ b/substrate/frame/broker/src/weights.rs
@@ -17,28 +17,26 @@
 
 //! Autogenerated weights for `pallet_broker`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-09-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-pzhd7p6z-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/production/substrate-node
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_broker
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/broker/src/weights.rs
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_broker
+// --chain=dev
 // --header=./substrate/HEADER-APACHE2
+// --output=./substrate/frame/broker/src/weights.rs
 // --template=./substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -89,8 +87,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_701_000 picoseconds.
-		Weight::from_parts(2_902_000, 0)
+		// Minimum execution time: 3_040_000 picoseconds.
+		Weight::from_parts(3_344_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Broker::Reservations` (r:1 w:1)
@@ -99,8 +97,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `5016`
 		//  Estimated: `7496`
-		// Minimum execution time: 18_056_000 picoseconds.
-		Weight::from_parts(19_093_000, 7496)
+		// Minimum execution time: 21_259_000 picoseconds.
+		Weight::from_parts(22_110_000, 7496)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -110,8 +108,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6218`
 		//  Estimated: `7496`
-		// Minimum execution time: 17_233_000 picoseconds.
-		Weight::from_parts(17_788_000, 7496)
+		// Minimum execution time: 20_330_000 picoseconds.
+		Weight::from_parts(20_826_000, 7496)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -121,8 +119,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `239`
 		//  Estimated: `1526`
-		// Minimum execution time: 9_740_000 picoseconds.
-		Weight::from_parts(10_504_000, 1526)
+		// Minimum execution time: 13_411_000 picoseconds.
+		Weight::from_parts(13_960_000, 1526)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -141,12 +139,14 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Storage: `Broker::Workplan` (r:0 w:10)
 	/// Proof: `Broker::Workplan` (`max_values`: None, `max_size`: Some(1216), added: 3691, mode: `MaxEncodedLen`)
 	/// The range of component `n` is `[0, 1000]`.
-	fn start_sales(_n: u32, ) -> Weight {
+	fn start_sales(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `6330`
 		//  Estimated: `8499`
-		// Minimum execution time: 49_728_000 picoseconds.
-		Weight::from_parts(52_765_861, 8499)
+		// Minimum execution time: 57_770_000 picoseconds.
+		Weight::from_parts(61_047_512, 8499)
+			// Standard Error: 165
+			.saturating_add(Weight::from_parts(3, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(16_u64))
 	}
@@ -162,10 +162,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Broker::Regions` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	fn purchase() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `635`
-		//  Estimated: `2120`
-		// Minimum execution time: 41_986_000 picoseconds.
-		Weight::from_parts(43_465_000, 2120)
+		//  Measured:  `568`
+		//  Estimated: `2053`
+		// Minimum execution time: 51_196_000 picoseconds.
+		Weight::from_parts(52_382_000, 2053)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -185,10 +185,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Broker::Workplan` (`max_values`: None, `max_size`: Some(1216), added: 3691, mode: `MaxEncodedLen`)
 	fn renew() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `753`
+		//  Measured:  `686`
 		//  Estimated: `4698`
-		// Minimum execution time: 61_779_000 picoseconds.
-		Weight::from_parts(62_563_000, 4698)
+		// Minimum execution time: 71_636_000 picoseconds.
+		Weight::from_parts(73_679_000, 4698)
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
@@ -198,8 +198,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3550`
-		// Minimum execution time: 16_962_000 picoseconds.
-		Weight::from_parts(17_733_000, 3550)
+		// Minimum execution time: 19_182_000 picoseconds.
+		Weight::from_parts(19_775_000, 3550)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -209,21 +209,21 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3550`
-		// Minimum execution time: 18_380_000 picoseconds.
-		Weight::from_parts(19_105_000, 3550)
+		// Minimum execution time: 20_688_000 picoseconds.
+		Weight::from_parts(21_557_000, 3550)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Broker::Regions` (r:1 w:3)
+	/// Storage: `Broker::Regions` (r:1 w:2)
 	/// Proof: `Broker::Regions` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	fn interlace() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3550`
-		// Minimum execution time: 20_115_000 picoseconds.
-		Weight::from_parts(20_741_000, 3550)
+		// Minimum execution time: 21_190_000 picoseconds.
+		Weight::from_parts(22_215_000, 3550)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
-			.saturating_add(T::DbWeight::get().writes(3_u64))
+			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Broker::Configuration` (r:1 w:0)
 	/// Proof: `Broker::Configuration` (`max_values`: Some(1), `max_size`: Some(31), added: 526, mode: `MaxEncodedLen`)
@@ -237,8 +237,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `740`
 		//  Estimated: `4681`
-		// Minimum execution time: 31_339_000 picoseconds.
-		Weight::from_parts(32_639_000, 4681)
+		// Minimum execution time: 34_591_000 picoseconds.
+		Weight::from_parts(36_227_000, 4681)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -256,8 +256,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `775`
 		//  Estimated: `5996`
-		// Minimum execution time: 37_542_000 picoseconds.
-		Weight::from_parts(38_521_000, 5996)
+		// Minimum execution time: 40_346_000 picoseconds.
+		Weight::from_parts(41_951_000, 5996)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
@@ -272,10 +272,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `859`
 		//  Estimated: `6196 + m * (2520 ±0)`
-		// Minimum execution time: 66_176_000 picoseconds.
-		Weight::from_parts(68_356_745, 6196)
-			// Standard Error: 68_008
-			.saturating_add(Weight::from_parts(1_558_419, 0).saturating_mul(m.into()))
+		// Minimum execution time: 75_734_000 picoseconds.
+		Weight::from_parts(78_168_395, 6196)
+			// Standard Error: 63_180
+			.saturating_add(Weight::from_parts(1_076_259, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(m.into())))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
@@ -287,8 +287,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `103`
 		//  Estimated: `3593`
-		// Minimum execution time: 41_130_000 picoseconds.
-		Weight::from_parts(41_914_000, 3593)
+		// Minimum execution time: 46_383_000 picoseconds.
+		Weight::from_parts(47_405_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -300,8 +300,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `603`
 		//  Estimated: `3550`
-		// Minimum execution time: 31_042_000 picoseconds.
-		Weight::from_parts(34_087_000, 3550)
+		// Minimum execution time: 30_994_000 picoseconds.
+		Weight::from_parts(31_979_000, 3550)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -315,8 +315,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `601`
 		//  Estimated: `3533`
-		// Minimum execution time: 39_116_000 picoseconds.
-		Weight::from_parts(39_990_000, 3533)
+		// Minimum execution time: 37_584_000 picoseconds.
+		Weight::from_parts(44_010_000, 3533)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -330,10 +330,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
 	fn drop_history() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `995`
+		//  Measured:  `830`
 		//  Estimated: `3593`
-		// Minimum execution time: 47_547_000 picoseconds.
-		Weight::from_parts(50_274_000, 3593)
+		// Minimum execution time: 45_266_000 picoseconds.
+		Weight::from_parts(48_000_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -343,32 +343,34 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Broker::AllowedRenewals` (`max_values`: None, `max_size`: Some(1233), added: 3708, mode: `MaxEncodedLen`)
 	fn drop_renewal() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `661`
+		//  Measured:  `525`
 		//  Estimated: `4698`
-		// Minimum execution time: 26_707_000 picoseconds.
-		Weight::from_parts(27_217_000, 4698)
+		// Minimum execution time: 25_365_000 picoseconds.
+		Weight::from_parts(26_920_000, 4698)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// The range of component `n` is `[0, 1000]`.
-	fn request_core_count(_n: u32, ) -> Weight {
+	fn request_core_count(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_651_000 picoseconds.
-		Weight::from_parts(5_231_385, 0)
+		// Minimum execution time: 6_519_000 picoseconds.
+		Weight::from_parts(7_098_698, 0)
+			// Standard Error: 20
+			.saturating_add(Weight::from_parts(8, 0).saturating_mul(n.into()))
 	}
-	/// Storage: `Broker::CoreCountInbox` (r:1 w:1)
-	/// Proof: `Broker::CoreCountInbox` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
+	/// Storage: UNKNOWN KEY `0x18194fcb5c1fcace44d2d0a004272614` (r:1 w:1)
+	/// Proof: UNKNOWN KEY `0x18194fcb5c1fcace44d2d0a004272614` (r:1 w:1)
 	/// The range of component `n` is `[0, 1000]`.
 	fn process_core_count(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `404`
-		//  Estimated: `1487`
-		// Minimum execution time: 6_806_000 picoseconds.
-		Weight::from_parts(7_264_002, 1487)
-			// Standard Error: 21
-			.saturating_add(Weight::from_parts(31, 0).saturating_mul(n.into()))
+		//  Measured:  `98`
+		//  Estimated: `3563`
+		// Minimum execution time: 7_608_000 picoseconds.
+		Weight::from_parts(8_157_815, 3563)
+			// Standard Error: 26
+			.saturating_add(Weight::from_parts(48, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -384,10 +386,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	fn process_revenue() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `972`
-		//  Estimated: `4437`
-		// Minimum execution time: 48_297_000 picoseconds.
-		Weight::from_parts(49_613_000, 4437)
+		//  Measured:  `905`
+		//  Estimated: `4370`
+		// Minimum execution time: 59_993_000 picoseconds.
+		Weight::from_parts(61_752_000, 4370)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -406,10 +408,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `6281`
 		//  Estimated: `8499`
-		// Minimum execution time: 36_715_000 picoseconds.
-		Weight::from_parts(38_580_380, 8499)
-			// Standard Error: 91
-			.saturating_add(Weight::from_parts(1_163, 0).saturating_mul(n.into()))
+		// Minimum execution time: 41_863_000 picoseconds.
+		Weight::from_parts(44_033_031, 8499)
+			// Standard Error: 116
+			.saturating_add(Weight::from_parts(764, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(15_u64))
 	}
@@ -421,8 +423,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `180`
 		//  Estimated: `3493`
-		// Minimum execution time: 7_564_000 picoseconds.
-		Weight::from_parts(7_932_000, 3493)
+		// Minimum execution time: 9_588_000 picoseconds.
+		Weight::from_parts(9_925_000, 3493)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -434,8 +436,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1423`
 		//  Estimated: `4681`
-		// Minimum execution time: 17_082_000 picoseconds.
-		Weight::from_parts(17_662_000, 4681)
+		// Minimum execution time: 19_308_000 picoseconds.
+		Weight::from_parts(20_482_000, 4681)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -443,35 +445,28 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 175_000 picoseconds.
-		Weight::from_parts(223_000, 0)
+		// Minimum execution time: 147_000 picoseconds.
+		Weight::from_parts(184_000, 0)
 	}
-	/// Storage: `Broker::CoreCountInbox` (r:0 w:1)
-	/// Proof: `Broker::CoreCountInbox` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
 	fn notify_core_count() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 2_432_000 picoseconds.
-		Weight::from_parts(2_536_000, 0)
-			.saturating_add(T::DbWeight::get().writes(1_u64))
+		T::DbWeight::get().reads_writes(1, 1)
 	}
 	/// Storage: `Broker::Status` (r:1 w:1)
 	/// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`)
 	/// Storage: `Broker::Configuration` (r:1 w:0)
 	/// Proof: `Broker::Configuration` (`max_values`: Some(1), `max_size`: Some(31), added: 526, mode: `MaxEncodedLen`)
-	/// Storage: `Broker::CoreCountInbox` (r:1 w:0)
-	/// Proof: `Broker::CoreCountInbox` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
+	/// Storage: UNKNOWN KEY `0x18194fcb5c1fcace44d2d0a004272614` (r:1 w:1)
+	/// Proof: UNKNOWN KEY `0x18194fcb5c1fcace44d2d0a004272614` (r:1 w:1)
 	/// Storage: UNKNOWN KEY `0xf308d869daf021a7724e69c557dd8dbe` (r:1 w:1)
 	/// Proof: UNKNOWN KEY `0xf308d869daf021a7724e69c557dd8dbe` (r:1 w:1)
 	fn do_tick_base() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `603`
-		//  Estimated: `4068`
-		// Minimum execution time: 13_080_000 picoseconds.
-		Weight::from_parts(13_937_000, 4068)
+		//  Measured:  `699`
+		//  Estimated: `4164`
+		// Minimum execution time: 19_824_000 picoseconds.
+		Weight::from_parts(20_983_000, 4164)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
+			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
 }
 
@@ -483,8 +478,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_701_000 picoseconds.
-		Weight::from_parts(2_902_000, 0)
+		// Minimum execution time: 3_040_000 picoseconds.
+		Weight::from_parts(3_344_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Broker::Reservations` (r:1 w:1)
@@ -493,8 +488,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `5016`
 		//  Estimated: `7496`
-		// Minimum execution time: 18_056_000 picoseconds.
-		Weight::from_parts(19_093_000, 7496)
+		// Minimum execution time: 21_259_000 picoseconds.
+		Weight::from_parts(22_110_000, 7496)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -504,8 +499,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `6218`
 		//  Estimated: `7496`
-		// Minimum execution time: 17_233_000 picoseconds.
-		Weight::from_parts(17_788_000, 7496)
+		// Minimum execution time: 20_330_000 picoseconds.
+		Weight::from_parts(20_826_000, 7496)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -515,8 +510,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `239`
 		//  Estimated: `1526`
-		// Minimum execution time: 9_740_000 picoseconds.
-		Weight::from_parts(10_504_000, 1526)
+		// Minimum execution time: 13_411_000 picoseconds.
+		Weight::from_parts(13_960_000, 1526)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -535,12 +530,14 @@ impl WeightInfo for () {
 	/// Storage: `Broker::Workplan` (r:0 w:10)
 	/// Proof: `Broker::Workplan` (`max_values`: None, `max_size`: Some(1216), added: 3691, mode: `MaxEncodedLen`)
 	/// The range of component `n` is `[0, 1000]`.
-	fn start_sales(_n: u32, ) -> Weight {
+	fn start_sales(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `6330`
 		//  Estimated: `8499`
-		// Minimum execution time: 49_728_000 picoseconds.
-		Weight::from_parts(52_765_861, 8499)
+		// Minimum execution time: 57_770_000 picoseconds.
+		Weight::from_parts(61_047_512, 8499)
+			// Standard Error: 165
+			.saturating_add(Weight::from_parts(3, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(16_u64))
 	}
@@ -556,10 +553,10 @@ impl WeightInfo for () {
 	/// Proof: `Broker::Regions` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	fn purchase() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `635`
-		//  Estimated: `2120`
-		// Minimum execution time: 41_986_000 picoseconds.
-		Weight::from_parts(43_465_000, 2120)
+		//  Measured:  `568`
+		//  Estimated: `2053`
+		// Minimum execution time: 51_196_000 picoseconds.
+		Weight::from_parts(52_382_000, 2053)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
@@ -579,10 +576,10 @@ impl WeightInfo for () {
 	/// Proof: `Broker::Workplan` (`max_values`: None, `max_size`: Some(1216), added: 3691, mode: `MaxEncodedLen`)
 	fn renew() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `753`
+		//  Measured:  `686`
 		//  Estimated: `4698`
-		// Minimum execution time: 61_779_000 picoseconds.
-		Weight::from_parts(62_563_000, 4698)
+		// Minimum execution time: 71_636_000 picoseconds.
+		Weight::from_parts(73_679_000, 4698)
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
@@ -592,8 +589,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3550`
-		// Minimum execution time: 16_962_000 picoseconds.
-		Weight::from_parts(17_733_000, 3550)
+		// Minimum execution time: 19_182_000 picoseconds.
+		Weight::from_parts(19_775_000, 3550)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -603,21 +600,21 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3550`
-		// Minimum execution time: 18_380_000 picoseconds.
-		Weight::from_parts(19_105_000, 3550)
+		// Minimum execution time: 20_688_000 picoseconds.
+		Weight::from_parts(21_557_000, 3550)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Broker::Regions` (r:1 w:3)
+	/// Storage: `Broker::Regions` (r:1 w:2)
 	/// Proof: `Broker::Regions` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	fn interlace() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3550`
-		// Minimum execution time: 20_115_000 picoseconds.
-		Weight::from_parts(20_741_000, 3550)
+		// Minimum execution time: 21_190_000 picoseconds.
+		Weight::from_parts(22_215_000, 3550)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
-			.saturating_add(RocksDbWeight::get().writes(3_u64))
+			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Broker::Configuration` (r:1 w:0)
 	/// Proof: `Broker::Configuration` (`max_values`: Some(1), `max_size`: Some(31), added: 526, mode: `MaxEncodedLen`)
@@ -631,8 +628,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `740`
 		//  Estimated: `4681`
-		// Minimum execution time: 31_339_000 picoseconds.
-		Weight::from_parts(32_639_000, 4681)
+		// Minimum execution time: 34_591_000 picoseconds.
+		Weight::from_parts(36_227_000, 4681)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
@@ -650,8 +647,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `775`
 		//  Estimated: `5996`
-		// Minimum execution time: 37_542_000 picoseconds.
-		Weight::from_parts(38_521_000, 5996)
+		// Minimum execution time: 40_346_000 picoseconds.
+		Weight::from_parts(41_951_000, 5996)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
@@ -666,10 +663,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `859`
 		//  Estimated: `6196 + m * (2520 ±0)`
-		// Minimum execution time: 66_176_000 picoseconds.
-		Weight::from_parts(68_356_745, 6196)
-			// Standard Error: 68_008
-			.saturating_add(Weight::from_parts(1_558_419, 0).saturating_mul(m.into()))
+		// Minimum execution time: 75_734_000 picoseconds.
+		Weight::from_parts(78_168_395, 6196)
+			// Standard Error: 63_180
+			.saturating_add(Weight::from_parts(1_076_259, 0).saturating_mul(m.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(m.into())))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
@@ -681,8 +678,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `103`
 		//  Estimated: `3593`
-		// Minimum execution time: 41_130_000 picoseconds.
-		Weight::from_parts(41_914_000, 3593)
+		// Minimum execution time: 46_383_000 picoseconds.
+		Weight::from_parts(47_405_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -694,8 +691,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `603`
 		//  Estimated: `3550`
-		// Minimum execution time: 31_042_000 picoseconds.
-		Weight::from_parts(34_087_000, 3550)
+		// Minimum execution time: 30_994_000 picoseconds.
+		Weight::from_parts(31_979_000, 3550)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -709,8 +706,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `601`
 		//  Estimated: `3533`
-		// Minimum execution time: 39_116_000 picoseconds.
-		Weight::from_parts(39_990_000, 3533)
+		// Minimum execution time: 37_584_000 picoseconds.
+		Weight::from_parts(44_010_000, 3533)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -724,10 +721,10 @@ impl WeightInfo for () {
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
 	fn drop_history() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `995`
+		//  Measured:  `830`
 		//  Estimated: `3593`
-		// Minimum execution time: 47_547_000 picoseconds.
-		Weight::from_parts(50_274_000, 3593)
+		// Minimum execution time: 45_266_000 picoseconds.
+		Weight::from_parts(48_000_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -737,32 +734,34 @@ impl WeightInfo for () {
 	/// Proof: `Broker::AllowedRenewals` (`max_values`: None, `max_size`: Some(1233), added: 3708, mode: `MaxEncodedLen`)
 	fn drop_renewal() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `661`
+		//  Measured:  `525`
 		//  Estimated: `4698`
-		// Minimum execution time: 26_707_000 picoseconds.
-		Weight::from_parts(27_217_000, 4698)
+		// Minimum execution time: 25_365_000 picoseconds.
+		Weight::from_parts(26_920_000, 4698)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// The range of component `n` is `[0, 1000]`.
-	fn request_core_count(_n: u32, ) -> Weight {
+	fn request_core_count(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_651_000 picoseconds.
-		Weight::from_parts(5_231_385, 0)
+		// Minimum execution time: 6_519_000 picoseconds.
+		Weight::from_parts(7_098_698, 0)
+			// Standard Error: 20
+			.saturating_add(Weight::from_parts(8, 0).saturating_mul(n.into()))
 	}
-	/// Storage: `Broker::CoreCountInbox` (r:1 w:1)
-	/// Proof: `Broker::CoreCountInbox` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
+	/// Storage: UNKNOWN KEY `0x18194fcb5c1fcace44d2d0a004272614` (r:1 w:1)
+	/// Proof: UNKNOWN KEY `0x18194fcb5c1fcace44d2d0a004272614` (r:1 w:1)
 	/// The range of component `n` is `[0, 1000]`.
 	fn process_core_count(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `404`
-		//  Estimated: `1487`
-		// Minimum execution time: 6_806_000 picoseconds.
-		Weight::from_parts(7_264_002, 1487)
-			// Standard Error: 21
-			.saturating_add(Weight::from_parts(31, 0).saturating_mul(n.into()))
+		//  Measured:  `98`
+		//  Estimated: `3563`
+		// Minimum execution time: 7_608_000 picoseconds.
+		Weight::from_parts(8_157_815, 3563)
+			// Standard Error: 26
+			.saturating_add(Weight::from_parts(48, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -778,10 +777,10 @@ impl WeightInfo for () {
 	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	fn process_revenue() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `972`
-		//  Estimated: `4437`
-		// Minimum execution time: 48_297_000 picoseconds.
-		Weight::from_parts(49_613_000, 4437)
+		//  Measured:  `905`
+		//  Estimated: `4370`
+		// Minimum execution time: 59_993_000 picoseconds.
+		Weight::from_parts(61_752_000, 4370)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -800,10 +799,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `6281`
 		//  Estimated: `8499`
-		// Minimum execution time: 36_715_000 picoseconds.
-		Weight::from_parts(38_580_380, 8499)
-			// Standard Error: 91
-			.saturating_add(Weight::from_parts(1_163, 0).saturating_mul(n.into()))
+		// Minimum execution time: 41_863_000 picoseconds.
+		Weight::from_parts(44_033_031, 8499)
+			// Standard Error: 116
+			.saturating_add(Weight::from_parts(764, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(15_u64))
 	}
@@ -815,8 +814,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `180`
 		//  Estimated: `3493`
-		// Minimum execution time: 7_564_000 picoseconds.
-		Weight::from_parts(7_932_000, 3493)
+		// Minimum execution time: 9_588_000 picoseconds.
+		Weight::from_parts(9_925_000, 3493)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -828,8 +827,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `1423`
 		//  Estimated: `4681`
-		// Minimum execution time: 17_082_000 picoseconds.
-		Weight::from_parts(17_662_000, 4681)
+		// Minimum execution time: 19_308_000 picoseconds.
+		Weight::from_parts(20_482_000, 4681)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
@@ -837,34 +836,28 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 175_000 picoseconds.
-		Weight::from_parts(223_000, 0)
+		// Minimum execution time: 147_000 picoseconds.
+		Weight::from_parts(184_000, 0)
 	}
-	/// Storage: `Broker::CoreCountInbox` (r:0 w:1)
-	/// Proof: `Broker::CoreCountInbox` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
 	fn notify_core_count() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 2_432_000 picoseconds.
-		Weight::from_parts(2_536_000, 0)
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
+		RocksDbWeight::get().reads(1)
+			.saturating_add(RocksDbWeight::get().writes(1))
 	}
 	/// Storage: `Broker::Status` (r:1 w:1)
 	/// Proof: `Broker::Status` (`max_values`: Some(1), `max_size`: Some(18), added: 513, mode: `MaxEncodedLen`)
 	/// Storage: `Broker::Configuration` (r:1 w:0)
 	/// Proof: `Broker::Configuration` (`max_values`: Some(1), `max_size`: Some(31), added: 526, mode: `MaxEncodedLen`)
-	/// Storage: `Broker::CoreCountInbox` (r:1 w:0)
-	/// Proof: `Broker::CoreCountInbox` (`max_values`: Some(1), `max_size`: Some(2), added: 497, mode: `MaxEncodedLen`)
+	/// Storage: UNKNOWN KEY `0x18194fcb5c1fcace44d2d0a004272614` (r:1 w:1)
+	/// Proof: UNKNOWN KEY `0x18194fcb5c1fcace44d2d0a004272614` (r:1 w:1)
 	/// Storage: UNKNOWN KEY `0xf308d869daf021a7724e69c557dd8dbe` (r:1 w:1)
 	/// Proof: UNKNOWN KEY `0xf308d869daf021a7724e69c557dd8dbe` (r:1 w:1)
 	fn do_tick_base() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `603`
-		//  Estimated: `4068`
-		// Minimum execution time: 13_080_000 picoseconds.
-		Weight::from_parts(13_937_000, 4068)
+		//  Measured:  `699`
+		//  Estimated: `4164`
+		// Minimum execution time: 19_824_000 picoseconds.
+		Weight::from_parts(20_983_000, 4164)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
+			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
 }
diff --git a/substrate/frame/child-bounties/src/weights.rs b/substrate/frame/child-bounties/src/weights.rs
index 6427517b45b..e4c1f238e88 100644
--- a/substrate/frame/child-bounties/src/weights.rs
+++ b/substrate/frame/child-bounties/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_child_bounties`
+//! Autogenerated weights for pallet_child_bounties
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/child-bounties/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/child-bounties/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_child_bounties`.
+/// Weight functions needed for pallet_child_bounties.
 pub trait WeightInfo {
 	fn add_child_bounty(d: u32, ) -> Weight;
 	fn propose_curator() -> Weight;
@@ -61,288 +62,288 @@ pub trait WeightInfo {
 	fn close_child_bounty_active() -> Weight;
 }
 
-/// Weights for `pallet_child_bounties` using the Substrate node and recommended hardware.
+/// Weights for pallet_child_bounties using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyCount` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBountyCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyDescriptions` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: System Account (r:2 w:2)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBountyCount (r:1 w:1)
+	/// Proof: ChildBounties ChildBountyCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBountyDescriptions (r:0 w:1)
+	/// Proof: ChildBounties ChildBountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBounties (r:0 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
 	/// The range of component `d` is `[0, 300]`.
 	fn add_child_bounty(_d: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `745`
+		//  Measured:  `712`
 		//  Estimated: `6196`
-		// Minimum execution time: 60_674_000 picoseconds.
-		Weight::from_parts(63_477_428, 6196)
+		// Minimum execution time: 69_805_000 picoseconds.
+		Weight::from_parts(73_216_717, 6196)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildrenCuratorFees` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildrenCuratorFees` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildrenCuratorFees (r:1 w:1)
+	/// Proof: ChildBounties ChildrenCuratorFees (max_values: None, max_size: Some(28), added: 2503, mode: MaxEncodedLen)
 	fn propose_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `799`
+		//  Measured:  `766`
 		//  Estimated: `3642`
-		// Minimum execution time: 17_754_000 picoseconds.
-		Weight::from_parts(18_655_000, 3642)
+		// Minimum execution time: 18_190_000 picoseconds.
+		Weight::from_parts(18_932_000, 3642)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn accept_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `945`
+		//  Measured:  `912`
 		//  Estimated: `3642`
-		// Minimum execution time: 31_580_000 picoseconds.
-		Weight::from_parts(32_499_000, 3642)
+		// Minimum execution time: 35_035_000 picoseconds.
+		Weight::from_parts(35_975_000, 3642)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn unassign_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `945`
+		//  Measured:  `912`
 		//  Estimated: `3642`
-		// Minimum execution time: 33_536_000 picoseconds.
-		Weight::from_parts(34_102_000, 3642)
+		// Minimum execution time: 37_636_000 picoseconds.
+		Weight::from_parts(38_610_000, 3642)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
 	fn award_child_bounty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `842`
+		//  Measured:  `809`
 		//  Estimated: `3642`
-		// Minimum execution time: 18_295_000 picoseconds.
-		Weight::from_parts(19_496_000, 3642)
+		// Minimum execution time: 22_457_000 picoseconds.
+		Weight::from_parts(23_691_000, 3642)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:3 w:3)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyDescriptions` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
+	/// Storage: System Account (r:3 w:3)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBountyDescriptions (r:0 w:1)
+	/// Proof: ChildBounties ChildBountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
 	fn claim_child_bounty() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `682`
 		//  Estimated: `8799`
-		// Minimum execution time: 102_367_000 picoseconds.
-		Weight::from_parts(104_352_000, 8799)
+		// Minimum execution time: 118_272_000 picoseconds.
+		Weight::from_parts(121_646_000, 8799)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildrenCuratorFees` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildrenCuratorFees` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyDescriptions` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildrenCuratorFees (r:1 w:1)
+	/// Proof: ChildBounties ChildrenCuratorFees (max_values: None, max_size: Some(28), added: 2503, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: System Account (r:2 w:2)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBountyDescriptions (r:0 w:1)
+	/// Proof: ChildBounties ChildBountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
 	fn close_child_bounty_added() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1045`
+		//  Measured:  `1012`
 		//  Estimated: `6196`
-		// Minimum execution time: 69_051_000 picoseconds.
-		Weight::from_parts(71_297_000, 6196)
+		// Minimum execution time: 75_717_000 picoseconds.
+		Weight::from_parts(77_837_000, 6196)
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:3 w:3)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildrenCuratorFees` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildrenCuratorFees` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyDescriptions` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
+	/// Storage: System Account (r:3 w:3)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildrenCuratorFees (r:1 w:1)
+	/// Proof: ChildBounties ChildrenCuratorFees (max_values: None, max_size: Some(28), added: 2503, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBountyDescriptions (r:0 w:1)
+	/// Proof: ChildBounties ChildBountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
 	fn close_child_bounty_active() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1232`
+		//  Measured:  `1199`
 		//  Estimated: `8799`
-		// Minimum execution time: 84_053_000 picoseconds.
-		Weight::from_parts(86_072_000, 8799)
+		// Minimum execution time: 94_215_000 picoseconds.
+		Weight::from_parts(97_017_000, 8799)
 			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().writes(7_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyCount` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBountyCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyDescriptions` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: System Account (r:2 w:2)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBountyCount (r:1 w:1)
+	/// Proof: ChildBounties ChildBountyCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBountyDescriptions (r:0 w:1)
+	/// Proof: ChildBounties ChildBountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBounties (r:0 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
 	/// The range of component `d` is `[0, 300]`.
 	fn add_child_bounty(_d: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `745`
+		//  Measured:  `712`
 		//  Estimated: `6196`
-		// Minimum execution time: 60_674_000 picoseconds.
-		Weight::from_parts(63_477_428, 6196)
+		// Minimum execution time: 69_805_000 picoseconds.
+		Weight::from_parts(73_216_717, 6196)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildrenCuratorFees` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildrenCuratorFees` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildrenCuratorFees (r:1 w:1)
+	/// Proof: ChildBounties ChildrenCuratorFees (max_values: None, max_size: Some(28), added: 2503, mode: MaxEncodedLen)
 	fn propose_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `799`
+		//  Measured:  `766`
 		//  Estimated: `3642`
-		// Minimum execution time: 17_754_000 picoseconds.
-		Weight::from_parts(18_655_000, 3642)
+		// Minimum execution time: 18_190_000 picoseconds.
+		Weight::from_parts(18_932_000, 3642)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn accept_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `945`
+		//  Measured:  `912`
 		//  Estimated: `3642`
-		// Minimum execution time: 31_580_000 picoseconds.
-		Weight::from_parts(32_499_000, 3642)
+		// Minimum execution time: 35_035_000 picoseconds.
+		Weight::from_parts(35_975_000, 3642)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn unassign_curator() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `945`
+		//  Measured:  `912`
 		//  Estimated: `3642`
-		// Minimum execution time: 33_536_000 picoseconds.
-		Weight::from_parts(34_102_000, 3642)
+		// Minimum execution time: 37_636_000 picoseconds.
+		Weight::from_parts(38_610_000, 3642)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
 	fn award_child_bounty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `842`
+		//  Measured:  `809`
 		//  Estimated: `3642`
-		// Minimum execution time: 18_295_000 picoseconds.
-		Weight::from_parts(19_496_000, 3642)
+		// Minimum execution time: 22_457_000 picoseconds.
+		Weight::from_parts(23_691_000, 3642)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:3 w:3)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyDescriptions` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
+	/// Storage: System Account (r:3 w:3)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBountyDescriptions (r:0 w:1)
+	/// Proof: ChildBounties ChildBountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
 	fn claim_child_bounty() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `682`
 		//  Estimated: `8799`
-		// Minimum execution time: 102_367_000 picoseconds.
-		Weight::from_parts(104_352_000, 8799)
+		// Minimum execution time: 118_272_000 picoseconds.
+		Weight::from_parts(121_646_000, 8799)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildrenCuratorFees` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildrenCuratorFees` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyDescriptions` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildrenCuratorFees (r:1 w:1)
+	/// Proof: ChildBounties ChildrenCuratorFees (max_values: None, max_size: Some(28), added: 2503, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: System Account (r:2 w:2)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBountyDescriptions (r:0 w:1)
+	/// Proof: ChildBounties ChildBountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
 	fn close_child_bounty_added() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1045`
+		//  Measured:  `1012`
 		//  Estimated: `6196`
-		// Minimum execution time: 69_051_000 picoseconds.
-		Weight::from_parts(71_297_000, 6196)
+		// Minimum execution time: 75_717_000 picoseconds.
+		Weight::from_parts(77_837_000, 6196)
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Bounties::Bounties` (r:1 w:0)
-	/// Proof: `Bounties::Bounties` (`max_values`: None, `max_size`: Some(177), added: 2652, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildBounties` (`max_values`: None, `max_size`: Some(145), added: 2620, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:3 w:3)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildrenCuratorFees` (r:1 w:1)
-	/// Proof: `ChildBounties::ChildrenCuratorFees` (`max_values`: None, `max_size`: Some(28), added: 2503, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ParentChildBounties` (r:1 w:1)
-	/// Proof: `ChildBounties::ParentChildBounties` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `ChildBounties::ChildBountyDescriptions` (r:0 w:1)
-	/// Proof: `ChildBounties::ChildBountyDescriptions` (`max_values`: None, `max_size`: Some(314), added: 2789, mode: `MaxEncodedLen`)
+	/// Storage: Bounties Bounties (r:1 w:0)
+	/// Proof: Bounties Bounties (max_values: None, max_size: Some(177), added: 2652, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ChildBounties (max_values: None, max_size: Some(145), added: 2620, mode: MaxEncodedLen)
+	/// Storage: System Account (r:3 w:3)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildrenCuratorFees (r:1 w:1)
+	/// Proof: ChildBounties ChildrenCuratorFees (max_values: None, max_size: Some(28), added: 2503, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ParentChildBounties (r:1 w:1)
+	/// Proof: ChildBounties ParentChildBounties (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: ChildBounties ChildBountyDescriptions (r:0 w:1)
+	/// Proof: ChildBounties ChildBountyDescriptions (max_values: None, max_size: Some(314), added: 2789, mode: MaxEncodedLen)
 	fn close_child_bounty_active() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1232`
+		//  Measured:  `1199`
 		//  Estimated: `8799`
-		// Minimum execution time: 84_053_000 picoseconds.
-		Weight::from_parts(86_072_000, 8799)
+		// Minimum execution time: 94_215_000 picoseconds.
+		Weight::from_parts(97_017_000, 8799)
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().writes(7_u64))
 	}
diff --git a/substrate/frame/collective/src/tests.rs b/substrate/frame/collective/src/tests.rs
index 92418794c5f..02c3377515c 100644
--- a/substrate/frame/collective/src/tests.rs
+++ b/substrate/frame/collective/src/tests.rs
@@ -29,7 +29,7 @@ use sp_core::H256;
 use sp_runtime::{testing::Header, traits::BlakeTwo256, BuildStorage};
 
 pub type Block = sp_runtime::generic::Block<Header, UncheckedExtrinsic>;
-pub type UncheckedExtrinsic = sp_runtime::generic::UncheckedExtrinsic<u32, RuntimeCall, u64, ()>;
+pub type UncheckedExtrinsic = sp_runtime::generic::UncheckedExtrinsic<u32, u64, RuntimeCall, ()>;
 
 frame_support::construct_runtime!(
 	pub enum Test
diff --git a/substrate/frame/collective/src/weights.rs b/substrate/frame/collective/src/weights.rs
index 85744b4de9d..eece6a006b8 100644
--- a/substrate/frame/collective/src/weights.rs
+++ b/substrate/frame/collective/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_collective`
+//! Autogenerated weights for pallet_collective
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/collective/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/collective/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_collective`.
+/// Weight functions needed for pallet_collective.
 pub trait WeightInfo {
 	fn set_members(m: u32, n: u32, p: u32, ) -> Weight;
 	fn execute(b: u32, m: u32, ) -> Weight;
@@ -63,30 +64,30 @@ pub trait WeightInfo {
 	fn disapprove_proposal(p: u32, ) -> Weight;
 }
 
-/// Weights for `pallet_collective` using the Substrate node and recommended hardware.
+/// Weights for pallet_collective using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Council::Members` (r:1 w:1)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:0)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Voting` (r:100 w:100)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Prime` (r:0 w:1)
-	/// Proof: `Council::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Council Members (r:1 w:1)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:0)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Voting (r:100 w:100)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Prime (r:0 w:1)
+	/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[0, 100]`.
 	/// The range of component `n` is `[0, 100]`.
 	/// The range of component `p` is `[0, 100]`.
 	fn set_members(m: u32, _n: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + m * (3232 ±0) + p * (3190 ±0)`
-		//  Estimated: `15894 + m * (1967 ±23) + p * (4332 ±23)`
-		// Minimum execution time: 15_559_000 picoseconds.
-		Weight::from_parts(15_870_000, 15894)
-			// Standard Error: 54_310
-			.saturating_add(Weight::from_parts(4_117_753, 0).saturating_mul(m.into()))
-			// Standard Error: 54_310
-			.saturating_add(Weight::from_parts(7_677_627, 0).saturating_mul(p.into()))
+		//  Estimated: `15861 + m * (1967 ±24) + p * (4332 ±24)`
+		// Minimum execution time: 17_506_000 picoseconds.
+		Weight::from_parts(17_767_000, 15861)
+			// Standard Error: 60_220
+			.saturating_add(Weight::from_parts(4_374_805, 0).saturating_mul(m.into()))
+			// Standard Error: 60_220
+			.saturating_add(Weight::from_parts(8_398_316, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
@@ -94,261 +95,245 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 			.saturating_add(Weight::from_parts(0, 1967).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 4332).saturating_mul(p.into()))
 	}
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `b` is `[2, 1024]`.
 	/// The range of component `m` is `[1, 100]`.
 	fn execute(b: u32, m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `380 + m * (32 ±0)`
-		//  Estimated: `3997 + m * (32 ±0)`
-		// Minimum execution time: 19_024_000 picoseconds.
-		Weight::from_parts(18_153_872, 3997)
-			// Standard Error: 46
-			.saturating_add(Weight::from_parts(1_933, 0).saturating_mul(b.into()))
-			// Standard Error: 478
-			.saturating_add(Weight::from_parts(18_872, 0).saturating_mul(m.into()))
-			.saturating_add(T::DbWeight::get().reads(3_u64))
+		//  Measured:  `202 + m * (32 ±0)`
+		//  Estimated: `1688 + m * (32 ±0)`
+		// Minimum execution time: 16_203_000 picoseconds.
+		Weight::from_parts(15_348_267, 1688)
+			// Standard Error: 37
+			.saturating_add(Weight::from_parts(1_766, 0).saturating_mul(b.into()))
+			// Standard Error: 382
+			.saturating_add(Weight::from_parts(15_765, 0).saturating_mul(m.into()))
+			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 	}
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:1 w:0)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:1 w:0)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `b` is `[2, 1024]`.
 	/// The range of component `m` is `[1, 100]`.
 	fn propose_execute(b: u32, m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `380 + m * (32 ±0)`
-		//  Estimated: `3997 + m * (32 ±0)`
-		// Minimum execution time: 20_895_000 picoseconds.
-		Weight::from_parts(20_081_761, 3997)
-			// Standard Error: 57
-			.saturating_add(Weight::from_parts(1_982, 0).saturating_mul(b.into()))
-			// Standard Error: 594
-			.saturating_add(Weight::from_parts(32_085, 0).saturating_mul(m.into()))
-			.saturating_add(T::DbWeight::get().reads(4_u64))
+		//  Measured:  `202 + m * (32 ±0)`
+		//  Estimated: `3668 + m * (32 ±0)`
+		// Minimum execution time: 18_642_000 picoseconds.
+		Weight::from_parts(17_708_609, 3668)
+			// Standard Error: 58
+			.saturating_add(Weight::from_parts(2_285, 0).saturating_mul(b.into()))
+			// Standard Error: 598
+			.saturating_add(Weight::from_parts(30_454, 0).saturating_mul(m.into()))
+			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 	}
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:1 w:1)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:1)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalCount` (r:1 w:1)
-	/// Proof: `Council::ProposalCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Voting` (r:0 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:1 w:1)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:1)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalCount (r:1 w:1)
+	/// Proof Skipped: Council ProposalCount (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Voting (r:0 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `b` is `[2, 1024]`.
 	/// The range of component `m` is `[2, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `525 + m * (32 ±0) + p * (36 ±0)`
-		//  Estimated: `3917 + m * (33 ±0) + p * (36 ±0)`
-		// Minimum execution time: 22_068_000 picoseconds.
-		Weight::from_parts(19_639_088, 3917)
-			// Standard Error: 104
-			.saturating_add(Weight::from_parts(3_896, 0).saturating_mul(b.into()))
-			// Standard Error: 1_095
-			.saturating_add(Weight::from_parts(31_634, 0).saturating_mul(m.into()))
-			// Standard Error: 1_081
-			.saturating_add(Weight::from_parts(178_702, 0).saturating_mul(p.into()))
+		//  Measured:  `492 + m * (32 ±0) + p * (36 ±0)`
+		//  Estimated: `3884 + m * (33 ±0) + p * (36 ±0)`
+		// Minimum execution time: 27_067_000 picoseconds.
+		Weight::from_parts(25_456_964, 3884)
+			// Standard Error: 112
+			.saturating_add(Weight::from_parts(3_773, 0).saturating_mul(b.into()))
+			// Standard Error: 1_177
+			.saturating_add(Weight::from_parts(32_783, 0).saturating_mul(m.into()))
+			// Standard Error: 1_162
+			.saturating_add(Weight::from_parts(194_388, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 			.saturating_add(Weight::from_parts(0, 33).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Voting` (r:1 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Voting (r:1 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `m` is `[5, 100]`.
 	fn vote(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `974 + m * (64 ±0)`
-		//  Estimated: `4438 + m * (64 ±0)`
-		// Minimum execution time: 22_395_000 picoseconds.
-		Weight::from_parts(23_025_217, 4438)
-			// Standard Error: 842
-			.saturating_add(Weight::from_parts(58_102, 0).saturating_mul(m.into()))
+		//  Measured:  `941 + m * (64 ±0)`
+		//  Estimated: `4405 + m * (64 ±0)`
+		// Minimum execution time: 26_055_000 picoseconds.
+		Weight::from_parts(27_251_907, 4405)
+			// Standard Error: 1_008
+			.saturating_add(Weight::from_parts(65_947, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `Council::Voting` (r:1 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:1)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:0 w:1)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Council Voting (r:1 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:1)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:0 w:1)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `m` is `[4, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_early_disapproved(m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `563 + m * (64 ±0) + p * (36 ±0)`
-		//  Estimated: `4008 + m * (65 ±0) + p * (36 ±0)`
-		// Minimum execution time: 24_179_000 picoseconds.
-		Weight::from_parts(23_846_394, 4008)
-			// Standard Error: 1_052
-			.saturating_add(Weight::from_parts(40_418, 0).saturating_mul(m.into()))
-			// Standard Error: 1_026
-			.saturating_add(Weight::from_parts(171_653, 0).saturating_mul(p.into()))
+		//  Measured:  `530 + m * (64 ±0) + p * (36 ±0)`
+		//  Estimated: `3975 + m * (65 ±0) + p * (36 ±0)`
+		// Minimum execution time: 28_363_000 picoseconds.
+		Weight::from_parts(28_733_464, 3975)
+			// Standard Error: 1_275
+			.saturating_add(Weight::from_parts(43_236, 0).saturating_mul(m.into()))
+			// Standard Error: 1_244
+			.saturating_add(Weight::from_parts(180_187, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Council::Voting` (r:1 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:1 w:1)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
-	/// Storage: `Council::Proposals` (r:1 w:1)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Council Voting (r:1 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:1 w:1)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:1)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `b` is `[2, 1024]`.
 	/// The range of component `m` is `[4, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1010 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
-		//  Estimated: `4327 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
-		// Minimum execution time: 42_129_000 picoseconds.
-		Weight::from_parts(40_808_957, 4327)
-			// Standard Error: 134
-			.saturating_add(Weight::from_parts(3_579, 0).saturating_mul(b.into()))
-			// Standard Error: 1_425
-			.saturating_add(Weight::from_parts(37_166, 0).saturating_mul(m.into()))
-			// Standard Error: 1_389
-			.saturating_add(Weight::from_parts(200_986, 0).saturating_mul(p.into()))
-			.saturating_add(T::DbWeight::get().reads(6_u64))
+		//  Measured:  `832 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
+		//  Estimated: `4149 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
+		// Minimum execution time: 40_391_000 picoseconds.
+		Weight::from_parts(42_695_215, 4149)
+			// Standard Error: 167
+			.saturating_add(Weight::from_parts(3_622, 0).saturating_mul(b.into()))
+			// Standard Error: 1_772
+			.saturating_add(Weight::from_parts(33_830, 0).saturating_mul(m.into()))
+			// Standard Error: 1_727
+			.saturating_add(Weight::from_parts(205_374, 0).saturating_mul(p.into()))
+			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
 			.saturating_add(Weight::from_parts(0, 66).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 40).saturating_mul(p.into()))
 	}
-	/// Storage: `Council::Voting` (r:1 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Prime` (r:1 w:0)
-	/// Proof: `Council::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:1)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:0 w:1)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Council Voting (r:1 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Prime (r:1 w:0)
+	/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:1)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:0 w:1)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `m` is `[4, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_disapproved(m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `583 + m * (64 ±0) + p * (36 ±0)`
-		//  Estimated: `4028 + m * (65 ±0) + p * (36 ±0)`
-		// Minimum execution time: 26_385_000 picoseconds.
-		Weight::from_parts(25_713_839, 4028)
-			// Standard Error: 1_254
-			.saturating_add(Weight::from_parts(36_206, 0).saturating_mul(m.into()))
-			// Standard Error: 1_223
-			.saturating_add(Weight::from_parts(195_114, 0).saturating_mul(p.into()))
+		//  Measured:  `550 + m * (64 ±0) + p * (36 ±0)`
+		//  Estimated: `3995 + m * (65 ±0) + p * (36 ±0)`
+		// Minimum execution time: 31_368_000 picoseconds.
+		Weight::from_parts(32_141_835, 3995)
+			// Standard Error: 1_451
+			.saturating_add(Weight::from_parts(36_372, 0).saturating_mul(m.into()))
+			// Standard Error: 1_415
+			.saturating_add(Weight::from_parts(210_635, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Council::Voting` (r:1 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Prime` (r:1 w:0)
-	/// Proof: `Council::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:1 w:1)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
-	/// Storage: `Council::Proposals` (r:1 w:1)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Council Voting (r:1 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Prime (r:1 w:0)
+	/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:1 w:1)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:1)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `b` is `[2, 1024]`.
 	/// The range of component `m` is `[4, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_approved(b: u32, m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1030 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
-		//  Estimated: `4347 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
-		// Minimum execution time: 42_903_000 picoseconds.
-		Weight::from_parts(43_152_907, 4347)
-			// Standard Error: 146
-			.saturating_add(Weight::from_parts(3_459, 0).saturating_mul(b.into()))
-			// Standard Error: 1_548
-			.saturating_add(Weight::from_parts(35_321, 0).saturating_mul(m.into()))
-			// Standard Error: 1_509
-			.saturating_add(Weight::from_parts(202_541, 0).saturating_mul(p.into()))
-			.saturating_add(T::DbWeight::get().reads(7_u64))
+		//  Measured:  `852 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
+		//  Estimated: `4169 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
+		// Minimum execution time: 43_271_000 picoseconds.
+		Weight::from_parts(45_495_648, 4169)
+			// Standard Error: 174
+			.saturating_add(Weight::from_parts(3_034, 0).saturating_mul(b.into()))
+			// Standard Error: 1_840
+			.saturating_add(Weight::from_parts(42_209, 0).saturating_mul(m.into()))
+			// Standard Error: 1_793
+			.saturating_add(Weight::from_parts(207_525, 0).saturating_mul(p.into()))
+			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
 			.saturating_add(Weight::from_parts(0, 66).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 40).saturating_mul(p.into()))
 	}
-	/// Storage: `Council::Proposals` (r:1 w:1)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Voting` (r:0 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:0 w:1)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Council Proposals (r:1 w:1)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Voting (r:0 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:0 w:1)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `p` is `[1, 100]`.
 	fn disapprove_proposal(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `392 + p * (32 ±0)`
-		//  Estimated: `1877 + p * (32 ±0)`
-		// Minimum execution time: 12_656_000 picoseconds.
-		Weight::from_parts(14_032_951, 1877)
-			// Standard Error: 1_025
-			.saturating_add(Weight::from_parts(159_143, 0).saturating_mul(p.into()))
+		//  Measured:  `359 + p * (32 ±0)`
+		//  Estimated: `1844 + p * (32 ±0)`
+		// Minimum execution time: 15_170_000 picoseconds.
+		Weight::from_parts(17_567_243, 1844)
+			// Standard Error: 1_430
+			.saturating_add(Weight::from_parts(169_040, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into()))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Council::Members` (r:1 w:1)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:0)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Voting` (r:100 w:100)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Prime` (r:0 w:1)
-	/// Proof: `Council::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Council Members (r:1 w:1)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:0)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Voting (r:100 w:100)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Prime (r:0 w:1)
+	/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[0, 100]`.
 	/// The range of component `n` is `[0, 100]`.
 	/// The range of component `p` is `[0, 100]`.
 	fn set_members(m: u32, _n: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + m * (3232 ±0) + p * (3190 ±0)`
-		//  Estimated: `15894 + m * (1967 ±23) + p * (4332 ±23)`
-		// Minimum execution time: 15_559_000 picoseconds.
-		Weight::from_parts(15_870_000, 15894)
-			// Standard Error: 54_310
-			.saturating_add(Weight::from_parts(4_117_753, 0).saturating_mul(m.into()))
-			// Standard Error: 54_310
-			.saturating_add(Weight::from_parts(7_677_627, 0).saturating_mul(p.into()))
+		//  Estimated: `15861 + m * (1967 ±24) + p * (4332 ±24)`
+		// Minimum execution time: 17_506_000 picoseconds.
+		Weight::from_parts(17_767_000, 15861)
+			// Standard Error: 60_220
+			.saturating_add(Weight::from_parts(4_374_805, 0).saturating_mul(m.into()))
+			// Standard Error: 60_220
+			.saturating_add(Weight::from_parts(8_398_316, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(p.into())))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
@@ -356,232 +341,216 @@ impl WeightInfo for () {
 			.saturating_add(Weight::from_parts(0, 1967).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 4332).saturating_mul(p.into()))
 	}
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `b` is `[2, 1024]`.
 	/// The range of component `m` is `[1, 100]`.
 	fn execute(b: u32, m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `380 + m * (32 ±0)`
-		//  Estimated: `3997 + m * (32 ±0)`
-		// Minimum execution time: 19_024_000 picoseconds.
-		Weight::from_parts(18_153_872, 3997)
-			// Standard Error: 46
-			.saturating_add(Weight::from_parts(1_933, 0).saturating_mul(b.into()))
-			// Standard Error: 478
-			.saturating_add(Weight::from_parts(18_872, 0).saturating_mul(m.into()))
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
+		//  Measured:  `202 + m * (32 ±0)`
+		//  Estimated: `1688 + m * (32 ±0)`
+		// Minimum execution time: 16_203_000 picoseconds.
+		Weight::from_parts(15_348_267, 1688)
+			// Standard Error: 37
+			.saturating_add(Weight::from_parts(1_766, 0).saturating_mul(b.into()))
+			// Standard Error: 382
+			.saturating_add(Weight::from_parts(15_765, 0).saturating_mul(m.into()))
+			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 	}
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:1 w:0)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:1 w:0)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `b` is `[2, 1024]`.
 	/// The range of component `m` is `[1, 100]`.
 	fn propose_execute(b: u32, m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `380 + m * (32 ±0)`
-		//  Estimated: `3997 + m * (32 ±0)`
-		// Minimum execution time: 20_895_000 picoseconds.
-		Weight::from_parts(20_081_761, 3997)
-			// Standard Error: 57
-			.saturating_add(Weight::from_parts(1_982, 0).saturating_mul(b.into()))
-			// Standard Error: 594
-			.saturating_add(Weight::from_parts(32_085, 0).saturating_mul(m.into()))
-			.saturating_add(RocksDbWeight::get().reads(4_u64))
+		//  Measured:  `202 + m * (32 ±0)`
+		//  Estimated: `3668 + m * (32 ±0)`
+		// Minimum execution time: 18_642_000 picoseconds.
+		Weight::from_parts(17_708_609, 3668)
+			// Standard Error: 58
+			.saturating_add(Weight::from_parts(2_285, 0).saturating_mul(b.into()))
+			// Standard Error: 598
+			.saturating_add(Weight::from_parts(30_454, 0).saturating_mul(m.into()))
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 	}
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:1 w:1)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:1)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalCount` (r:1 w:1)
-	/// Proof: `Council::ProposalCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Voting` (r:0 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:1 w:1)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:1)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalCount (r:1 w:1)
+	/// Proof Skipped: Council ProposalCount (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Voting (r:0 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `b` is `[2, 1024]`.
 	/// The range of component `m` is `[2, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn propose_proposed(b: u32, m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `525 + m * (32 ±0) + p * (36 ±0)`
-		//  Estimated: `3917 + m * (33 ±0) + p * (36 ±0)`
-		// Minimum execution time: 22_068_000 picoseconds.
-		Weight::from_parts(19_639_088, 3917)
-			// Standard Error: 104
-			.saturating_add(Weight::from_parts(3_896, 0).saturating_mul(b.into()))
-			// Standard Error: 1_095
-			.saturating_add(Weight::from_parts(31_634, 0).saturating_mul(m.into()))
-			// Standard Error: 1_081
-			.saturating_add(Weight::from_parts(178_702, 0).saturating_mul(p.into()))
+		//  Measured:  `492 + m * (32 ±0) + p * (36 ±0)`
+		//  Estimated: `3884 + m * (33 ±0) + p * (36 ±0)`
+		// Minimum execution time: 27_067_000 picoseconds.
+		Weight::from_parts(25_456_964, 3884)
+			// Standard Error: 112
+			.saturating_add(Weight::from_parts(3_773, 0).saturating_mul(b.into()))
+			// Standard Error: 1_177
+			.saturating_add(Weight::from_parts(32_783, 0).saturating_mul(m.into()))
+			// Standard Error: 1_162
+			.saturating_add(Weight::from_parts(194_388, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 			.saturating_add(Weight::from_parts(0, 33).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Voting` (r:1 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Voting (r:1 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `m` is `[5, 100]`.
 	fn vote(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `974 + m * (64 ±0)`
-		//  Estimated: `4438 + m * (64 ±0)`
-		// Minimum execution time: 22_395_000 picoseconds.
-		Weight::from_parts(23_025_217, 4438)
-			// Standard Error: 842
-			.saturating_add(Weight::from_parts(58_102, 0).saturating_mul(m.into()))
+		//  Measured:  `941 + m * (64 ±0)`
+		//  Estimated: `4405 + m * (64 ±0)`
+		// Minimum execution time: 26_055_000 picoseconds.
+		Weight::from_parts(27_251_907, 4405)
+			// Standard Error: 1_008
+			.saturating_add(Weight::from_parts(65_947, 0).saturating_mul(m.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `Council::Voting` (r:1 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:1)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:0 w:1)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Council Voting (r:1 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:1)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:0 w:1)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `m` is `[4, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_early_disapproved(m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `563 + m * (64 ±0) + p * (36 ±0)`
-		//  Estimated: `4008 + m * (65 ±0) + p * (36 ±0)`
-		// Minimum execution time: 24_179_000 picoseconds.
-		Weight::from_parts(23_846_394, 4008)
-			// Standard Error: 1_052
-			.saturating_add(Weight::from_parts(40_418, 0).saturating_mul(m.into()))
-			// Standard Error: 1_026
-			.saturating_add(Weight::from_parts(171_653, 0).saturating_mul(p.into()))
+		//  Measured:  `530 + m * (64 ±0) + p * (36 ±0)`
+		//  Estimated: `3975 + m * (65 ±0) + p * (36 ±0)`
+		// Minimum execution time: 28_363_000 picoseconds.
+		Weight::from_parts(28_733_464, 3975)
+			// Standard Error: 1_275
+			.saturating_add(Weight::from_parts(43_236, 0).saturating_mul(m.into()))
+			// Standard Error: 1_244
+			.saturating_add(Weight::from_parts(180_187, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Council::Voting` (r:1 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:1 w:1)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
-	/// Storage: `Council::Proposals` (r:1 w:1)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Council Voting (r:1 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:1 w:1)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:1)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `b` is `[2, 1024]`.
 	/// The range of component `m` is `[4, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_early_approved(b: u32, m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1010 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
-		//  Estimated: `4327 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
-		// Minimum execution time: 42_129_000 picoseconds.
-		Weight::from_parts(40_808_957, 4327)
-			// Standard Error: 134
-			.saturating_add(Weight::from_parts(3_579, 0).saturating_mul(b.into()))
-			// Standard Error: 1_425
-			.saturating_add(Weight::from_parts(37_166, 0).saturating_mul(m.into()))
-			// Standard Error: 1_389
-			.saturating_add(Weight::from_parts(200_986, 0).saturating_mul(p.into()))
-			.saturating_add(RocksDbWeight::get().reads(6_u64))
+		//  Measured:  `832 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
+		//  Estimated: `4149 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
+		// Minimum execution time: 40_391_000 picoseconds.
+		Weight::from_parts(42_695_215, 4149)
+			// Standard Error: 167
+			.saturating_add(Weight::from_parts(3_622, 0).saturating_mul(b.into()))
+			// Standard Error: 1_772
+			.saturating_add(Weight::from_parts(33_830, 0).saturating_mul(m.into()))
+			// Standard Error: 1_727
+			.saturating_add(Weight::from_parts(205_374, 0).saturating_mul(p.into()))
+			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
 			.saturating_add(Weight::from_parts(0, 66).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 40).saturating_mul(p.into()))
 	}
-	/// Storage: `Council::Voting` (r:1 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Prime` (r:1 w:0)
-	/// Proof: `Council::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:1)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:0 w:1)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Council Voting (r:1 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Prime (r:1 w:0)
+	/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:1)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:0 w:1)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `m` is `[4, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_disapproved(m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `583 + m * (64 ±0) + p * (36 ±0)`
-		//  Estimated: `4028 + m * (65 ±0) + p * (36 ±0)`
-		// Minimum execution time: 26_385_000 picoseconds.
-		Weight::from_parts(25_713_839, 4028)
-			// Standard Error: 1_254
-			.saturating_add(Weight::from_parts(36_206, 0).saturating_mul(m.into()))
-			// Standard Error: 1_223
-			.saturating_add(Weight::from_parts(195_114, 0).saturating_mul(p.into()))
+		//  Measured:  `550 + m * (64 ±0) + p * (36 ±0)`
+		//  Estimated: `3995 + m * (65 ±0) + p * (36 ±0)`
+		// Minimum execution time: 31_368_000 picoseconds.
+		Weight::from_parts(32_141_835, 3995)
+			// Standard Error: 1_451
+			.saturating_add(Weight::from_parts(36_372, 0).saturating_mul(m.into()))
+			// Standard Error: 1_415
+			.saturating_add(Weight::from_parts(210_635, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 65).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 36).saturating_mul(p.into()))
 	}
-	/// Storage: `Council::Voting` (r:1 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:1 w:0)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Prime` (r:1 w:0)
-	/// Proof: `Council::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:1 w:1)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
-	/// Storage: `Council::Proposals` (r:1 w:1)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Council Voting (r:1 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Members (r:1 w:0)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Prime (r:1 w:0)
+	/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:1 w:1)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:1)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `b` is `[2, 1024]`.
 	/// The range of component `m` is `[4, 100]`.
 	/// The range of component `p` is `[1, 100]`.
 	fn close_approved(b: u32, m: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1030 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
-		//  Estimated: `4347 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
-		// Minimum execution time: 42_903_000 picoseconds.
-		Weight::from_parts(43_152_907, 4347)
-			// Standard Error: 146
-			.saturating_add(Weight::from_parts(3_459, 0).saturating_mul(b.into()))
-			// Standard Error: 1_548
-			.saturating_add(Weight::from_parts(35_321, 0).saturating_mul(m.into()))
-			// Standard Error: 1_509
-			.saturating_add(Weight::from_parts(202_541, 0).saturating_mul(p.into()))
-			.saturating_add(RocksDbWeight::get().reads(7_u64))
+		//  Measured:  `852 + b * (1 ±0) + m * (64 ±0) + p * (40 ±0)`
+		//  Estimated: `4169 + b * (1 ±0) + m * (66 ±0) + p * (40 ±0)`
+		// Minimum execution time: 43_271_000 picoseconds.
+		Weight::from_parts(45_495_648, 4169)
+			// Standard Error: 174
+			.saturating_add(Weight::from_parts(3_034, 0).saturating_mul(b.into()))
+			// Standard Error: 1_840
+			.saturating_add(Weight::from_parts(42_209, 0).saturating_mul(m.into()))
+			// Standard Error: 1_793
+			.saturating_add(Weight::from_parts(207_525, 0).saturating_mul(p.into()))
+			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(b.into()))
 			.saturating_add(Weight::from_parts(0, 66).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 40).saturating_mul(p.into()))
 	}
-	/// Storage: `Council::Proposals` (r:1 w:1)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Voting` (r:0 w:1)
-	/// Proof: `Council::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::ProposalOf` (r:0 w:1)
-	/// Proof: `Council::ProposalOf` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Council Proposals (r:1 w:1)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Voting (r:0 w:1)
+	/// Proof Skipped: Council Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council ProposalOf (r:0 w:1)
+	/// Proof Skipped: Council ProposalOf (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `p` is `[1, 100]`.
 	fn disapprove_proposal(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `392 + p * (32 ±0)`
-		//  Estimated: `1877 + p * (32 ±0)`
-		// Minimum execution time: 12_656_000 picoseconds.
-		Weight::from_parts(14_032_951, 1877)
-			// Standard Error: 1_025
-			.saturating_add(Weight::from_parts(159_143, 0).saturating_mul(p.into()))
+		//  Measured:  `359 + p * (32 ±0)`
+		//  Estimated: `1844 + p * (32 ±0)`
+		// Minimum execution time: 15_170_000 picoseconds.
+		Weight::from_parts(17_567_243, 1844)
+			// Standard Error: 1_430
+			.saturating_add(Weight::from_parts(169_040, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(p.into()))
diff --git a/substrate/frame/contracts/src/weights.rs b/substrate/frame/contracts/src/weights.rs
index 6e09120c141..99bc4d8d3eb 100644
--- a/substrate/frame/contracts/src/weights.rs
+++ b/substrate/frame/contracts/src/weights.rs
@@ -25,6 +25,7 @@
 
 // Executed Command:
 // target/production/substrate-node
+// target/production/substrate-node
 // benchmark
 // pallet
 // --steps=50
@@ -35,8 +36,12 @@
 // --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
 // --pallet=pallet_contracts
 // --chain=dev
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_contracts
+// --chain=dev
 // --header=./substrate/HEADER-APACHE2
 // --output=./substrate/frame/contracts/src/weights.rs
+// --output=./substrate/frame/contracts/src/weights.rs
 // --template=./substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -213,8 +218,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: UNKNOWN KEY `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:2 w:0)
 	/// Storage: UNKNOWN KEY `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1)
 	/// Proof: UNKNOWN KEY `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1)
-	/// Storage: `Parameters::Parameters` (r:2 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:0 w:1)
@@ -248,7 +251,7 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:0)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	fn v14_migration_step() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `352`
@@ -332,8 +335,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -361,12 +362,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:2 w:2)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// Storage: `System::EventTopics` (r:3 w:3)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Contracts::Nonce` (r:1 w:1)
@@ -403,8 +402,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
 	/// Storage: `Contracts::PristineCode` (r:1 w:0)
 	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::Nonce` (r:1 w:1)
 	/// Proof: `Contracts::Nonce` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
@@ -416,7 +413,7 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Storage: `System::EventTopics` (r:2 w:2)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// The range of component `i` is `[0, 1048576]`.
 	/// The range of component `s` is `[0, 1048576]`.
 	fn instantiate(i: u32, s: u32, ) -> Weight {
@@ -434,8 +431,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -459,12 +454,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:2 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// Storage: `System::EventTopics` (r:1 w:1)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Contracts::PristineCode` (r:0 w:1)
@@ -510,7 +503,7 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// Storage: `System::EventTopics` (r:1 w:1)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Contracts::PristineCode` (r:0 w:1)
@@ -545,8 +538,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -574,8 +565,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1601 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -604,8 +593,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1601 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -634,8 +621,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -663,8 +648,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -690,8 +673,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -719,8 +700,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -748,8 +727,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -777,8 +754,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:2 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -806,8 +781,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -835,8 +808,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -864,8 +835,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -893,8 +862,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -922,8 +889,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -953,8 +918,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -982,8 +945,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1010,8 +971,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1039,8 +998,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1067,8 +1024,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:3 w:3)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:1 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:2 w:2)
@@ -1082,7 +1037,7 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Storage: `System::EventTopics` (r:4 w:4)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// Storage: `Contracts::DeletionQueue` (r:0 w:1)
 	/// Proof: `Contracts::DeletionQueue` (`max_values`: None, `max_size`: Some(142), added: 2617, mode: `Measured`)
 	/// The range of component `r` is `[0, 1]`.
@@ -1098,14 +1053,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(T::DbWeight::get().writes((10_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 5479).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 5266).saturating_mul(r.into()))
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1135,8 +1088,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1164,8 +1115,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1198,8 +1147,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1227,8 +1174,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `MaxEncodedLen`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `MaxEncodedLen`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1423,8 +1368,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1602 w:1601)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1454,8 +1397,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:801 w:801)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:2 w:0)
@@ -1485,8 +1426,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:736 w:0)
@@ -1516,8 +1455,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:3 w:2)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:2 w:2)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:2 w:0)
@@ -1550,8 +1487,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:802 w:802)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:801 w:801)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:801 w:800)
@@ -1565,7 +1500,7 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Storage: `System::EventTopics` (r:803 w:803)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:800 w:800)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// The range of component `r` is `[1, 800]`.
 	fn seal_instantiate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
@@ -1585,8 +1520,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:3 w:3)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:2 w:2)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:2 w:1)
@@ -1600,7 +1533,7 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Storage: `System::EventTopics` (r:4 w:4)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// The range of component `t` is `[0, 1]`.
 	/// The range of component `i` is `[0, 983040]`.
 	/// The range of component `s` is `[0, 983040]`.
@@ -1624,8 +1557,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1653,8 +1584,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1681,8 +1610,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1710,8 +1637,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1738,8 +1663,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1767,8 +1690,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1795,8 +1716,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1824,8 +1743,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1852,8 +1769,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1881,8 +1796,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1910,8 +1823,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1939,8 +1850,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -1968,8 +1877,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1536 w:1536)
@@ -1999,8 +1906,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:33 w:32)
@@ -2024,14 +1929,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 2607).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 2606).saturating_mul(r.into()))
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `MaxEncodedLen`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `MaxEncodedLen`)
 	/// Storage: `Contracts::CodeInfoOf` (r:33 w:32)
@@ -2045,7 +1948,7 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `r` is `[0, 32]`.
 	fn unlock_delegate_dependency(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `972 + r * (184 ±0)`
+		//  Measured:  `969 + r * (183 ±0)`
 		//  Estimated: `129453 + r * (2568 ±0)`
 		// Minimum execution time: 270_652_000 picoseconds.
 		Weight::from_parts(293_369_452, 129453)
@@ -2061,8 +1964,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2090,8 +1991,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2119,8 +2018,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2237,8 +2134,6 @@ impl WeightInfo for () {
 	/// Proof: UNKNOWN KEY `0x4342193e496fab7ec59d615ed0dc553053f13fd319a03c211337c76e0fe776df` (r:2 w:0)
 	/// Storage: UNKNOWN KEY `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1)
 	/// Proof: UNKNOWN KEY `0x4342193e496fab7ec59d615ed0dc553022fca90611ba8b7942f8bdb3b97f6580` (r:1 w:1)
-	/// Storage: `Parameters::Parameters` (r:2 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:0 w:1)
@@ -2272,7 +2167,7 @@ impl WeightInfo for () {
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:0)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	fn v14_migration_step() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `352`
@@ -2356,8 +2251,6 @@ impl WeightInfo for () {
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2385,12 +2278,10 @@ impl WeightInfo for () {
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:2 w:2)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// Storage: `System::EventTopics` (r:3 w:3)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Contracts::Nonce` (r:1 w:1)
@@ -2427,8 +2318,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
 	/// Storage: `Contracts::PristineCode` (r:1 w:0)
 	/// Proof: `Contracts::PristineCode` (`max_values`: None, `max_size`: Some(125988), added: 128463, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::Nonce` (r:1 w:1)
 	/// Proof: `Contracts::Nonce` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
@@ -2440,7 +2329,7 @@ impl WeightInfo for () {
 	/// Storage: `System::EventTopics` (r:2 w:2)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// The range of component `i` is `[0, 1048576]`.
 	/// The range of component `s` is `[0, 1048576]`.
 	fn instantiate(i: u32, s: u32, ) -> Weight {
@@ -2458,8 +2347,6 @@ impl WeightInfo for () {
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2483,12 +2370,10 @@ impl WeightInfo for () {
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:2 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// Storage: `System::EventTopics` (r:1 w:1)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Contracts::PristineCode` (r:0 w:1)
@@ -2534,7 +2419,7 @@ impl WeightInfo for () {
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::CodeInfoOf` (`max_values`: None, `max_size`: Some(93), added: 2568, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// Storage: `System::EventTopics` (r:1 w:1)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Contracts::PristineCode` (r:0 w:1)
@@ -2569,8 +2454,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2598,8 +2481,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1601 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2628,8 +2509,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1601 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2658,8 +2537,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2687,8 +2564,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2714,8 +2589,6 @@ impl WeightInfo for () {
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2743,8 +2616,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2772,8 +2643,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2801,8 +2670,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:2 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2830,8 +2697,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2859,8 +2724,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2888,8 +2751,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2917,8 +2778,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2946,8 +2805,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -2977,8 +2834,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3006,8 +2861,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3034,8 +2887,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3063,8 +2914,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3091,8 +2940,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:3 w:3)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:1 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:2 w:2)
@@ -3106,7 +2953,7 @@ impl WeightInfo for () {
 	/// Storage: `System::EventTopics` (r:4 w:4)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// Storage: `Contracts::DeletionQueue` (r:0 w:1)
 	/// Proof: `Contracts::DeletionQueue` (`max_values`: None, `max_size`: Some(142), added: 2617, mode: `Measured`)
 	/// The range of component `r` is `[0, 1]`.
@@ -3122,14 +2969,12 @@ impl WeightInfo for () {
 			.saturating_add(RocksDbWeight::get().reads((5_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(RocksDbWeight::get().writes((10_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 5479).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 5266).saturating_mul(r.into()))
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3159,8 +3004,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3188,8 +3031,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3222,8 +3063,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3251,8 +3090,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `MaxEncodedLen`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `MaxEncodedLen`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3447,8 +3284,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1602 w:1601)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3478,8 +3313,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:801 w:801)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:2 w:0)
@@ -3509,8 +3342,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:736 w:0)
@@ -3540,8 +3371,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:3 w:2)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:2 w:2)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:2 w:0)
@@ -3574,8 +3403,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:802 w:802)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:801 w:801)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:801 w:800)
@@ -3589,7 +3416,7 @@ impl WeightInfo for () {
 	/// Storage: `System::EventTopics` (r:803 w:803)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:800 w:800)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// The range of component `r` is `[1, 800]`.
 	fn seal_instantiate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
@@ -3609,8 +3436,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:3 w:3)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:2 w:2)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:2 w:1)
@@ -3624,7 +3449,7 @@ impl WeightInfo for () {
 	/// Storage: `System::EventTopics` (r:4 w:4)
 	/// Proof: `System::EventTopics` (`max_values`: None, `max_size`: None, mode: `Measured`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `Measured`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(157), added: 2632, mode: `Measured`)
 	/// The range of component `t` is `[0, 1]`.
 	/// The range of component `i` is `[0, 983040]`.
 	/// The range of component `s` is `[0, 983040]`.
@@ -3648,8 +3473,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3677,8 +3500,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3705,8 +3526,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3734,8 +3553,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3762,8 +3579,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3791,8 +3606,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3819,8 +3632,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3848,8 +3659,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3876,8 +3685,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3905,8 +3712,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3934,8 +3739,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3963,8 +3766,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -3992,8 +3793,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1536 w:1536)
@@ -4023,8 +3822,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:33 w:32)
@@ -4048,14 +3845,12 @@ impl WeightInfo for () {
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
-			.saturating_add(Weight::from_parts(0, 2607).saturating_mul(r.into()))
+			.saturating_add(Weight::from_parts(0, 2606).saturating_mul(r.into()))
 	}
 	/// Storage: `Contracts::MigrationInProgress` (r:1 w:0)
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `MaxEncodedLen`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `MaxEncodedLen`)
 	/// Storage: `Contracts::CodeInfoOf` (r:33 w:32)
@@ -4069,7 +3864,7 @@ impl WeightInfo for () {
 	/// The range of component `r` is `[0, 32]`.
 	fn unlock_delegate_dependency(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `972 + r * (184 ±0)`
+		//  Measured:  `969 + r * (183 ±0)`
 		//  Estimated: `129453 + r * (2568 ±0)`
 		// Minimum execution time: 270_652_000 picoseconds.
 		Weight::from_parts(293_369_452, 129453)
@@ -4085,8 +3880,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -4114,8 +3907,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
@@ -4143,8 +3934,6 @@ impl WeightInfo for () {
 	/// Proof: `Contracts::MigrationInProgress` (`max_values`: Some(1), `max_size`: Some(1026), added: 1521, mode: `Measured`)
 	/// Storage: `System::Account` (r:1 w:0)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `Measured`)
-	/// Storage: `Parameters::Parameters` (r:3 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `Measured`)
 	/// Storage: `Contracts::ContractInfoOf` (r:1 w:1)
 	/// Proof: `Contracts::ContractInfoOf` (`max_values`: None, `max_size`: Some(1795), added: 4270, mode: `Measured`)
 	/// Storage: `Contracts::CodeInfoOf` (r:1 w:0)
diff --git a/substrate/frame/conviction-voting/src/weights.rs b/substrate/frame/conviction-voting/src/weights.rs
index 75d9e8499ed..225f5c2cadd 100644
--- a/substrate/frame/conviction-voting/src/weights.rs
+++ b/substrate/frame/conviction-voting/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_conviction_voting`
+//! Autogenerated weights for pallet_conviction_voting
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/conviction-voting/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/conviction-voting/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_conviction_voting`.
+/// Weight functions needed for pallet_conviction_voting.
 pub trait WeightInfo {
 	fn vote_new() -> Weight;
 	fn vote_existing() -> Weight;
@@ -60,300 +61,280 @@ pub trait WeightInfo {
 	fn unlock() -> Weight;
 }
 
-/// Weights for `pallet_conviction_voting` using the Substrate node and recommended hardware.
+/// Weights for pallet_conviction_voting using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(59), added: 2534, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
+	/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(59), added: 2534, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn vote_new() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `13141`
+		//  Measured:  `13074`
 		//  Estimated: `219984`
-		// Minimum execution time: 102_539_000 picoseconds.
-		Weight::from_parts(105_873_000, 219984)
+		// Minimum execution time: 112_936_000 picoseconds.
+		Weight::from_parts(116_972_000, 219984)
 			.saturating_add(T::DbWeight::get().reads(7_u64))
-			.saturating_add(T::DbWeight::get().writes(7_u64))
+			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(59), added: 2534, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
+	/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(59), added: 2534, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn vote_existing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `20283`
+		//  Measured:  `20216`
 		//  Estimated: `219984`
-		// Minimum execution time: 275_424_000 picoseconds.
-		Weight::from_parts(283_690_000, 219984)
+		// Minimum execution time: 291_971_000 picoseconds.
+		Weight::from_parts(301_738_000, 219984)
 			.saturating_add(T::DbWeight::get().reads(7_u64))
-			.saturating_add(T::DbWeight::get().writes(7_u64))
+			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn remove_vote() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `20035`
+		//  Measured:  `19968`
 		//  Estimated: `219984`
-		// Minimum execution time: 275_109_000 picoseconds.
-		Weight::from_parts(281_315_000, 219984)
+		// Minimum execution time: 262_582_000 picoseconds.
+		Weight::from_parts(270_955_000, 219984)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(5_u64))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
 	fn remove_other_vote() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `12742`
+		//  Measured:  `12675`
 		//  Estimated: `30706`
-		// Minimum execution time: 49_629_000 picoseconds.
-		Weight::from_parts(51_300_000, 30706)
+		// Minimum execution time: 52_909_000 picoseconds.
+		Weight::from_parts(56_365_000, 30706)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:2 w:2)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(59), added: 2534, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:2 w:2)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
+	/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(59), added: 2534, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 1]`.
 	fn delegate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `306 + r * (1628 ±0)`
+		//  Measured:  `240 + r * (1627 ±0)`
 		//  Estimated: `109992 + r * (109992 ±0)`
-		// Minimum execution time: 45_776_000 picoseconds.
-		Weight::from_parts(47_917_822, 109992)
-			// Standard Error: 124_174
-			.saturating_add(Weight::from_parts(43_171_077, 0).saturating_mul(r.into()))
+		// Minimum execution time: 54_640_000 picoseconds.
+		Weight::from_parts(57_185_281, 109992)
+			// Standard Error: 193_362
+			.saturating_add(Weight::from_parts(44_897_418, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
-			.saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 109992).saturating_mul(r.into()))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:2 w:2)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:2 w:2)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 1]`.
 	fn undelegate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `472 + r * (1377 ±0)`
+		//  Measured:  `406 + r * (1376 ±0)`
 		//  Estimated: `109992 + r * (109992 ±0)`
-		// Minimum execution time: 23_600_000 picoseconds.
-		Weight::from_parts(25_001_426, 109992)
-			// Standard Error: 72_034
-			.saturating_add(Weight::from_parts(37_851_873, 0).saturating_mul(r.into()))
+		// Minimum execution time: 26_514_000 picoseconds.
+		Weight::from_parts(28_083_732, 109992)
+			// Standard Error: 104_905
+			.saturating_add(Weight::from_parts(40_722_467, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
-			.saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 109992).saturating_mul(r.into()))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(59), added: 2534, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
+	/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(59), added: 2534, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn unlock() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `11800`
+		//  Measured:  `11734`
 		//  Estimated: `30706`
-		// Minimum execution time: 66_247_000 picoseconds.
-		Weight::from_parts(67_552_000, 30706)
+		// Minimum execution time: 71_140_000 picoseconds.
+		Weight::from_parts(77_388_000, 30706)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(59), added: 2534, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
+	/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(59), added: 2534, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn vote_new() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `13141`
+		//  Measured:  `13074`
 		//  Estimated: `219984`
-		// Minimum execution time: 102_539_000 picoseconds.
-		Weight::from_parts(105_873_000, 219984)
+		// Minimum execution time: 112_936_000 picoseconds.
+		Weight::from_parts(116_972_000, 219984)
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
-			.saturating_add(RocksDbWeight::get().writes(7_u64))
+			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(59), added: 2534, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
+	/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(59), added: 2534, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn vote_existing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `20283`
+		//  Measured:  `20216`
 		//  Estimated: `219984`
-		// Minimum execution time: 275_424_000 picoseconds.
-		Weight::from_parts(283_690_000, 219984)
+		// Minimum execution time: 291_971_000 picoseconds.
+		Weight::from_parts(301_738_000, 219984)
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
-			.saturating_add(RocksDbWeight::get().writes(7_u64))
+			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn remove_vote() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `20035`
+		//  Measured:  `19968`
 		//  Estimated: `219984`
-		// Minimum execution time: 275_109_000 picoseconds.
-		Weight::from_parts(281_315_000, 219984)
+		// Minimum execution time: 262_582_000 picoseconds.
+		Weight::from_parts(270_955_000, 219984)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(5_u64))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
 	fn remove_other_vote() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `12742`
+		//  Measured:  `12675`
 		//  Estimated: `30706`
-		// Minimum execution time: 49_629_000 picoseconds.
-		Weight::from_parts(51_300_000, 30706)
+		// Minimum execution time: 52_909_000 picoseconds.
+		Weight::from_parts(56_365_000, 30706)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:2 w:2)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(59), added: 2534, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:2 w:2)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
+	/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(59), added: 2534, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 1]`.
 	fn delegate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `306 + r * (1628 ±0)`
+		//  Measured:  `240 + r * (1627 ±0)`
 		//  Estimated: `109992 + r * (109992 ±0)`
-		// Minimum execution time: 45_776_000 picoseconds.
-		Weight::from_parts(47_917_822, 109992)
-			// Standard Error: 124_174
-			.saturating_add(Weight::from_parts(43_171_077, 0).saturating_mul(r.into()))
+		// Minimum execution time: 54_640_000 picoseconds.
+		Weight::from_parts(57_185_281, 109992)
+			// Standard Error: 193_362
+			.saturating_add(Weight::from_parts(44_897_418, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
-			.saturating_add(RocksDbWeight::get().writes((4_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 109992).saturating_mul(r.into()))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:2 w:2)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:2 w:2)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 1]`.
 	fn undelegate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `472 + r * (1377 ±0)`
+		//  Measured:  `406 + r * (1376 ±0)`
 		//  Estimated: `109992 + r * (109992 ±0)`
-		// Minimum execution time: 23_600_000 picoseconds.
-		Weight::from_parts(25_001_426, 109992)
-			// Standard Error: 72_034
-			.saturating_add(Weight::from_parts(37_851_873, 0).saturating_mul(r.into()))
+		// Minimum execution time: 26_514_000 picoseconds.
+		Weight::from_parts(28_083_732, 109992)
+			// Standard Error: 104_905
+			.saturating_add(Weight::from_parts(40_722_467, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
-			.saturating_add(RocksDbWeight::get().writes((4_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 109992).saturating_mul(r.into()))
 	}
-	/// Storage: `ConvictionVoting::VotingFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::VotingFor` (`max_values`: None, `max_size`: Some(27241), added: 29716, mode: `MaxEncodedLen`)
-	/// Storage: `ConvictionVoting::ClassLocksFor` (r:1 w:1)
-	/// Proof: `ConvictionVoting::ClassLocksFor` (`max_values`: None, `max_size`: Some(59), added: 2534, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: ConvictionVoting VotingFor (r:1 w:1)
+	/// Proof: ConvictionVoting VotingFor (max_values: None, max_size: Some(27241), added: 29716, mode: MaxEncodedLen)
+	/// Storage: ConvictionVoting ClassLocksFor (r:1 w:1)
+	/// Proof: ConvictionVoting ClassLocksFor (max_values: None, max_size: Some(59), added: 2534, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn unlock() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `11800`
+		//  Measured:  `11734`
 		//  Estimated: `30706`
-		// Minimum execution time: 66_247_000 picoseconds.
-		Weight::from_parts(67_552_000, 30706)
+		// Minimum execution time: 71_140_000 picoseconds.
+		Weight::from_parts(77_388_000, 30706)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
diff --git a/substrate/frame/core-fellowship/src/weights.rs b/substrate/frame/core-fellowship/src/weights.rs
index fce1d3747a8..8bbfd1a4dd8 100644
--- a/substrate/frame/core-fellowship/src/weights.rs
+++ b/substrate/frame/core-fellowship/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_core_fellowship`
+//! Autogenerated weights for pallet_core_fellowship
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/core-fellowship/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/core-fellowship/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_core_fellowship`.
+/// Weight functions needed for pallet_core_fellowship.
 pub trait WeightInfo {
 	fn set_params() -> Weight;
 	fn bump_offboard() -> Weight;
@@ -63,344 +64,336 @@ pub trait WeightInfo {
 	fn submit_evidence() -> Weight;
 }
 
-/// Weights for `pallet_core_fellowship` using the Substrate node and recommended hardware.
+/// Weights for pallet_core_fellowship using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `CoreFellowship::Params` (r:0 w:1)
-	/// Proof: `CoreFellowship::Params` (`max_values`: Some(1), `max_size`: Some(364), added: 859, mode: `MaxEncodedLen`)
+	/// Storage: CoreFellowship Params (r:0 w:1)
+	/// Proof: CoreFellowship Params (max_values: Some(1), max_size: Some(364), added: 859, mode: MaxEncodedLen)
 	fn set_params() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 7_146_000 picoseconds.
-		Weight::from_parts(7_426_000, 0)
+		// Minimum execution time: 9_454_000 picoseconds.
+		Weight::from_parts(9_804_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Params` (r:1 w:0)
-	/// Proof: `CoreFellowship::Params` (`max_values`: Some(1), `max_size`: Some(364), added: 859, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:1 w:1)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:1 w:1)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:0 w:1)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Params (r:1 w:0)
+	/// Proof: CoreFellowship Params (max_values: Some(1), max_size: Some(364), added: 859, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:1 w:0)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship MemberEvidence (r:1 w:1)
+	/// Proof: CoreFellowship MemberEvidence (max_values: None, max_size: Some(16429), added: 18904, mode: MaxEncodedLen)
 	fn bump_offboard() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `17274`
+		//  Measured:  `16887`
 		//  Estimated: `19894`
-		// Minimum execution time: 54_511_000 picoseconds.
-		Weight::from_parts(56_995_000, 19894)
+		// Minimum execution time: 58_489_000 picoseconds.
+		Weight::from_parts(60_202_000, 19894)
 			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().writes(6_u64))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Params` (r:1 w:0)
-	/// Proof: `CoreFellowship::Params` (`max_values`: Some(1), `max_size`: Some(364), added: 859, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:1 w:1)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:1 w:1)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:0 w:1)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Params (r:1 w:0)
+	/// Proof: CoreFellowship Params (max_values: Some(1), max_size: Some(364), added: 859, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:1 w:0)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship MemberEvidence (r:1 w:1)
+	/// Proof: CoreFellowship MemberEvidence (max_values: None, max_size: Some(16429), added: 18904, mode: MaxEncodedLen)
 	fn bump_demote() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `17384`
+		//  Measured:  `16997`
 		//  Estimated: `19894`
-		// Minimum execution time: 56_453_000 picoseconds.
-		Weight::from_parts(59_030_000, 19894)
+		// Minimum execution time: 60_605_000 picoseconds.
+		Weight::from_parts(63_957_000, 19894)
 			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().writes(6_u64))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn set_active() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `388`
 		//  Estimated: `3514`
-		// Minimum execution time: 15_940_000 picoseconds.
-		Weight::from_parts(16_381_000, 3514)
+		// Minimum execution time: 17_816_000 picoseconds.
+		Weight::from_parts(18_524_000, 3514)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:0 w:1)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:0 w:1)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IndexToId (r:0 w:1)
+	/// Proof: RankedCollective IndexToId (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:0 w:1)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
 	fn induct() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `146`
 		//  Estimated: `3514`
-		// Minimum execution time: 24_193_000 picoseconds.
-		Weight::from_parts(24_963_000, 3514)
+		// Minimum execution time: 27_249_000 picoseconds.
+		Weight::from_parts(28_049_000, 3514)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Params` (r:1 w:0)
-	/// Proof: `CoreFellowship::Params` (`max_values`: Some(1), `max_size`: Some(364), added: 859, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:1 w:1)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:0 w:1)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:0 w:1)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Params (r:1 w:0)
+	/// Proof: CoreFellowship Params (max_values: Some(1), max_size: Some(364), added: 859, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship MemberEvidence (r:1 w:1)
+	/// Proof: CoreFellowship MemberEvidence (max_values: None, max_size: Some(16429), added: 18904, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IndexToId (r:0 w:1)
+	/// Proof: RankedCollective IndexToId (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:0 w:1)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
 	fn promote() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `16865`
 		//  Estimated: `19894`
-		// Minimum execution time: 48_138_000 picoseconds.
-		Weight::from_parts(50_007_000, 19894)
+		// Minimum execution time: 56_642_000 picoseconds.
+		Weight::from_parts(59_353_000, 19894)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:0 w:1)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship MemberEvidence (r:0 w:1)
+	/// Proof: CoreFellowship MemberEvidence (max_values: None, max_size: Some(16429), added: 18904, mode: MaxEncodedLen)
 	fn offboard() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `293`
+		//  Measured:  `359`
 		//  Estimated: `3514`
-		// Minimum execution time: 15_225_000 picoseconds.
-		Weight::from_parts(15_730_000, 3514)
+		// Minimum execution time: 17_459_000 picoseconds.
+		Weight::from_parts(18_033_000, 3514)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
 	fn import() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `313`
 		//  Estimated: `3514`
-		// Minimum execution time: 14_507_000 picoseconds.
-		Weight::from_parts(14_935_000, 3514)
+		// Minimum execution time: 16_728_000 picoseconds.
+		Weight::from_parts(17_263_000, 3514)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:1 w:1)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship MemberEvidence (r:1 w:1)
+	/// Proof: CoreFellowship MemberEvidence (max_values: None, max_size: Some(16429), added: 18904, mode: MaxEncodedLen)
 	fn approve() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `16843`
 		//  Estimated: `19894`
-		// Minimum execution time: 34_050_000 picoseconds.
-		Weight::from_parts(36_323_000, 19894)
+		// Minimum execution time: 41_487_000 picoseconds.
+		Weight::from_parts(43_459_000, 19894)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `CoreFellowship::Member` (r:1 w:0)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:1 w:1)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
+	/// Storage: CoreFellowship Member (r:1 w:0)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship MemberEvidence (r:1 w:1)
+	/// Proof: CoreFellowship MemberEvidence (max_values: None, max_size: Some(16429), added: 18904, mode: MaxEncodedLen)
 	fn submit_evidence() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `79`
 		//  Estimated: `19894`
-		// Minimum execution time: 24_016_000 picoseconds.
-		Weight::from_parts(24_607_000, 19894)
+		// Minimum execution time: 26_033_000 picoseconds.
+		Weight::from_parts(26_612_000, 19894)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `CoreFellowship::Params` (r:0 w:1)
-	/// Proof: `CoreFellowship::Params` (`max_values`: Some(1), `max_size`: Some(364), added: 859, mode: `MaxEncodedLen`)
+	/// Storage: CoreFellowship Params (r:0 w:1)
+	/// Proof: CoreFellowship Params (max_values: Some(1), max_size: Some(364), added: 859, mode: MaxEncodedLen)
 	fn set_params() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 7_146_000 picoseconds.
-		Weight::from_parts(7_426_000, 0)
+		// Minimum execution time: 9_454_000 picoseconds.
+		Weight::from_parts(9_804_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Params` (r:1 w:0)
-	/// Proof: `CoreFellowship::Params` (`max_values`: Some(1), `max_size`: Some(364), added: 859, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:1 w:1)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:1 w:1)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:0 w:1)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Params (r:1 w:0)
+	/// Proof: CoreFellowship Params (max_values: Some(1), max_size: Some(364), added: 859, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:1 w:0)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship MemberEvidence (r:1 w:1)
+	/// Proof: CoreFellowship MemberEvidence (max_values: None, max_size: Some(16429), added: 18904, mode: MaxEncodedLen)
 	fn bump_offboard() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `17274`
+		//  Measured:  `16887`
 		//  Estimated: `19894`
-		// Minimum execution time: 54_511_000 picoseconds.
-		Weight::from_parts(56_995_000, 19894)
+		// Minimum execution time: 58_489_000 picoseconds.
+		Weight::from_parts(60_202_000, 19894)
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().writes(6_u64))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Params` (r:1 w:0)
-	/// Proof: `CoreFellowship::Params` (`max_values`: Some(1), `max_size`: Some(364), added: 859, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:1 w:1)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:1 w:1)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:0 w:1)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Params (r:1 w:0)
+	/// Proof: CoreFellowship Params (max_values: Some(1), max_size: Some(364), added: 859, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:1 w:0)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship MemberEvidence (r:1 w:1)
+	/// Proof: CoreFellowship MemberEvidence (max_values: None, max_size: Some(16429), added: 18904, mode: MaxEncodedLen)
 	fn bump_demote() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `17384`
+		//  Measured:  `16997`
 		//  Estimated: `19894`
-		// Minimum execution time: 56_453_000 picoseconds.
-		Weight::from_parts(59_030_000, 19894)
+		// Minimum execution time: 60_605_000 picoseconds.
+		Weight::from_parts(63_957_000, 19894)
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().writes(6_u64))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn set_active() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `388`
 		//  Estimated: `3514`
-		// Minimum execution time: 15_940_000 picoseconds.
-		Weight::from_parts(16_381_000, 3514)
+		// Minimum execution time: 17_816_000 picoseconds.
+		Weight::from_parts(18_524_000, 3514)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:0 w:1)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:0 w:1)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IndexToId (r:0 w:1)
+	/// Proof: RankedCollective IndexToId (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:0 w:1)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
 	fn induct() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `146`
 		//  Estimated: `3514`
-		// Minimum execution time: 24_193_000 picoseconds.
-		Weight::from_parts(24_963_000, 3514)
+		// Minimum execution time: 27_249_000 picoseconds.
+		Weight::from_parts(28_049_000, 3514)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Params` (r:1 w:0)
-	/// Proof: `CoreFellowship::Params` (`max_values`: Some(1), `max_size`: Some(364), added: 859, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:1 w:1)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:0 w:1)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:0 w:1)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Params (r:1 w:0)
+	/// Proof: CoreFellowship Params (max_values: Some(1), max_size: Some(364), added: 859, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship MemberEvidence (r:1 w:1)
+	/// Proof: CoreFellowship MemberEvidence (max_values: None, max_size: Some(16429), added: 18904, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IndexToId (r:0 w:1)
+	/// Proof: RankedCollective IndexToId (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:0 w:1)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
 	fn promote() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `16865`
 		//  Estimated: `19894`
-		// Minimum execution time: 48_138_000 picoseconds.
-		Weight::from_parts(50_007_000, 19894)
+		// Minimum execution time: 56_642_000 picoseconds.
+		Weight::from_parts(59_353_000, 19894)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:0 w:1)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship MemberEvidence (r:0 w:1)
+	/// Proof: CoreFellowship MemberEvidence (max_values: None, max_size: Some(16429), added: 18904, mode: MaxEncodedLen)
 	fn offboard() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `293`
+		//  Measured:  `359`
 		//  Estimated: `3514`
-		// Minimum execution time: 15_225_000 picoseconds.
-		Weight::from_parts(15_730_000, 3514)
+		// Minimum execution time: 17_459_000 picoseconds.
+		Weight::from_parts(18_033_000, 3514)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
 	fn import() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `313`
 		//  Estimated: `3514`
-		// Minimum execution time: 14_507_000 picoseconds.
-		Weight::from_parts(14_935_000, 3514)
+		// Minimum execution time: 16_728_000 picoseconds.
+		Weight::from_parts(17_263_000, 3514)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Member` (r:1 w:1)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:1 w:1)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship Member (r:1 w:1)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship MemberEvidence (r:1 w:1)
+	/// Proof: CoreFellowship MemberEvidence (max_values: None, max_size: Some(16429), added: 18904, mode: MaxEncodedLen)
 	fn approve() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `16843`
 		//  Estimated: `19894`
-		// Minimum execution time: 34_050_000 picoseconds.
-		Weight::from_parts(36_323_000, 19894)
+		// Minimum execution time: 41_487_000 picoseconds.
+		Weight::from_parts(43_459_000, 19894)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `CoreFellowship::Member` (r:1 w:0)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:1 w:1)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
+	/// Storage: CoreFellowship Member (r:1 w:0)
+	/// Proof: CoreFellowship Member (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: CoreFellowship MemberEvidence (r:1 w:1)
+	/// Proof: CoreFellowship MemberEvidence (max_values: None, max_size: Some(16429), added: 18904, mode: MaxEncodedLen)
 	fn submit_evidence() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `79`
 		//  Estimated: `19894`
-		// Minimum execution time: 24_016_000 picoseconds.
-		Weight::from_parts(24_607_000, 19894)
+		// Minimum execution time: 26_033_000 picoseconds.
+		Weight::from_parts(26_612_000, 19894)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
diff --git a/substrate/frame/democracy/src/weights.rs b/substrate/frame/democracy/src/weights.rs
index d6097922a82..241f6c3cb38 100644
--- a/substrate/frame/democracy/src/weights.rs
+++ b/substrate/frame/democracy/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_democracy`
+//! Autogenerated weights for pallet_democracy
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/democracy/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/democracy/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_democracy`.
+/// Weight functions needed for pallet_democracy.
 pub trait WeightInfo {
 	fn propose() -> Weight;
 	fn second() -> Weight;
@@ -81,916 +82,904 @@ pub trait WeightInfo {
 	fn clear_referendum_metadata() -> Weight;
 }
 
-/// Weights for `pallet_democracy` using the Substrate node and recommended hardware.
+/// Weights for pallet_democracy using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Democracy::PublicPropCount` (r:1 w:1)
-	/// Proof: `Democracy::PublicPropCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::PublicProps` (r:1 w:1)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::Blacklist` (r:1 w:0)
-	/// Proof: `Democracy::Blacklist` (`max_values`: None, `max_size`: Some(3238), added: 5713, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::DepositOf` (r:0 w:1)
-	/// Proof: `Democracy::DepositOf` (`max_values`: None, `max_size`: Some(3230), added: 5705, mode: `MaxEncodedLen`)
+	/// Storage: Democracy PublicPropCount (r:1 w:1)
+	/// Proof: Democracy PublicPropCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Democracy PublicProps (r:1 w:1)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
+	/// Storage: Democracy Blacklist (r:1 w:0)
+	/// Proof: Democracy Blacklist (max_values: None, max_size: Some(3238), added: 5713, mode: MaxEncodedLen)
+	/// Storage: Democracy DepositOf (r:0 w:1)
+	/// Proof: Democracy DepositOf (max_values: None, max_size: Some(3230), added: 5705, mode: MaxEncodedLen)
 	fn propose() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `4834`
+		//  Measured:  `4801`
 		//  Estimated: `18187`
-		// Minimum execution time: 39_930_000 picoseconds.
-		Weight::from_parts(41_746_000, 18187)
+		// Minimum execution time: 49_339_000 picoseconds.
+		Weight::from_parts(50_942_000, 18187)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::DepositOf` (r:1 w:1)
-	/// Proof: `Democracy::DepositOf` (`max_values`: None, `max_size`: Some(3230), added: 5705, mode: `MaxEncodedLen`)
+	/// Storage: Democracy DepositOf (r:1 w:1)
+	/// Proof: Democracy DepositOf (max_values: None, max_size: Some(3230), added: 5705, mode: MaxEncodedLen)
 	fn second() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3589`
+		//  Measured:  `3556`
 		//  Estimated: `6695`
-		// Minimum execution time: 36_490_000 picoseconds.
-		Weight::from_parts(37_615_000, 6695)
+		// Minimum execution time: 43_291_000 picoseconds.
+		Weight::from_parts(44_856_000, 6695)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::VotingOf` (r:1 w:1)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy VotingOf (r:1 w:1)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn vote_new() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3503`
+		//  Measured:  `3470`
 		//  Estimated: `7260`
-		// Minimum execution time: 54_257_000 picoseconds.
-		Weight::from_parts(55_912_000, 7260)
+		// Minimum execution time: 61_890_000 picoseconds.
+		Weight::from_parts(63_626_000, 7260)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::VotingOf` (r:1 w:1)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy VotingOf (r:1 w:1)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn vote_existing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3525`
+		//  Measured:  `3492`
 		//  Estimated: `7260`
-		// Minimum execution time: 56_878_000 picoseconds.
-		Weight::from_parts(58_796_000, 7260)
+		// Minimum execution time: 67_802_000 picoseconds.
+		Weight::from_parts(69_132_000, 7260)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::Cancellations` (r:1 w:1)
-	/// Proof: `Democracy::Cancellations` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy Cancellations (r:1 w:1)
+	/// Proof: Democracy Cancellations (max_values: None, max_size: Some(33), added: 2508, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn emergency_cancel() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `399`
+		//  Measured:  `366`
 		//  Estimated: `3666`
-		// Minimum execution time: 22_700_000 picoseconds.
-		Weight::from_parts(23_539_000, 3666)
+		// Minimum execution time: 25_757_000 picoseconds.
+		Weight::from_parts(27_226_000, 3666)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::PublicProps` (r:1 w:1)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::DepositOf` (r:1 w:1)
-	/// Proof: `Democracy::DepositOf` (`max_values`: None, `max_size`: Some(3230), added: 5705, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:3 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::NextExternal` (r:1 w:1)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::Blacklist` (r:0 w:1)
-	/// Proof: `Democracy::Blacklist` (`max_values`: None, `max_size`: Some(3238), added: 5713, mode: `MaxEncodedLen`)
+	/// Storage: Democracy PublicProps (r:1 w:1)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
+	/// Storage: Democracy DepositOf (r:1 w:1)
+	/// Proof: Democracy DepositOf (max_values: None, max_size: Some(3230), added: 5705, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:3 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
+	/// Storage: Democracy NextExternal (r:1 w:1)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy Blacklist (r:0 w:1)
+	/// Proof: Democracy Blacklist (max_values: None, max_size: Some(3238), added: 5713, mode: MaxEncodedLen)
 	fn blacklist() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `5943`
+		//  Measured:  `5910`
 		//  Estimated: `18187`
-		// Minimum execution time: 95_398_000 picoseconds.
-		Weight::from_parts(97_261_000, 18187)
+		// Minimum execution time: 113_060_000 picoseconds.
+		Weight::from_parts(114_813_000, 18187)
 			.saturating_add(T::DbWeight::get().reads(8_u64))
 			.saturating_add(T::DbWeight::get().writes(7_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:1 w:1)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::Blacklist` (r:1 w:0)
-	/// Proof: `Democracy::Blacklist` (`max_values`: None, `max_size`: Some(3238), added: 5713, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:1 w:1)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Democracy Blacklist (r:1 w:0)
+	/// Proof: Democracy Blacklist (max_values: None, max_size: Some(3238), added: 5713, mode: MaxEncodedLen)
 	fn external_propose() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3449`
+		//  Measured:  `3416`
 		//  Estimated: `6703`
-		// Minimum execution time: 11_745_000 picoseconds.
-		Weight::from_parts(12_304_000, 6703)
+		// Minimum execution time: 13_413_000 picoseconds.
+		Weight::from_parts(13_794_000, 6703)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:0 w:1)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:0 w:1)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
 	fn external_propose_majority() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_710_000 picoseconds.
-		Weight::from_parts(2_918_000, 0)
+		// Minimum execution time: 3_213_000 picoseconds.
+		Weight::from_parts(3_429_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:0 w:1)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:0 w:1)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
 	fn external_propose_default() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_664_000 picoseconds.
-		Weight::from_parts(2_776_000, 0)
+		// Minimum execution time: 3_280_000 picoseconds.
+		Weight::from_parts(3_389_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:1 w:1)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumCount` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:2)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:0 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:1 w:1)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumCount (r:1 w:1)
+	/// Proof: Democracy ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:2)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:0 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
 	fn fast_track() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `319`
+		//  Measured:  `286`
 		//  Estimated: `3518`
-		// Minimum execution time: 22_585_000 picoseconds.
-		Weight::from_parts(23_689_000, 3518)
+		// Minimum execution time: 28_142_000 picoseconds.
+		Weight::from_parts(28_862_000, 3518)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:1 w:1)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::Blacklist` (r:1 w:1)
-	/// Proof: `Democracy::Blacklist` (`max_values`: None, `max_size`: Some(3238), added: 5713, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:1 w:1)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Democracy Blacklist (r:1 w:1)
+	/// Proof: Democracy Blacklist (max_values: None, max_size: Some(3238), added: 5713, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn veto_external() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3552`
+		//  Measured:  `3519`
 		//  Estimated: `6703`
-		// Minimum execution time: 26_391_000 picoseconds.
-		Weight::from_parts(27_141_000, 6703)
+		// Minimum execution time: 32_395_000 picoseconds.
+		Weight::from_parts(33_617_000, 6703)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::PublicProps` (r:1 w:1)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::DepositOf` (r:1 w:1)
-	/// Proof: `Democracy::DepositOf` (`max_values`: None, `max_size`: Some(3230), added: 5705, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy PublicProps (r:1 w:1)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
+	/// Storage: Democracy DepositOf (r:1 w:1)
+	/// Proof: Democracy DepositOf (max_values: None, max_size: Some(3230), added: 5705, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn cancel_proposal() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `5854`
+		//  Measured:  `5821`
 		//  Estimated: `18187`
-		// Minimum execution time: 77_905_000 picoseconds.
-		Weight::from_parts(79_628_000, 18187)
+		// Minimum execution time: 92_255_000 picoseconds.
+		Weight::from_parts(93_704_000, 18187)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:0 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:0 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
 	fn cancel_referendum() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `304`
+		//  Measured:  `271`
 		//  Estimated: `3518`
-		// Minimum execution time: 15_735_000 picoseconds.
-		Weight::from_parts(16_525_000, 3518)
+		// Minimum execution time: 19_623_000 picoseconds.
+		Weight::from_parts(20_545_000, 3518)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Democracy::LowestUnbaked` (r:1 w:1)
-	/// Proof: `Democracy::LowestUnbaked` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumCount` (r:1 w:0)
-	/// Proof: `Democracy::ReferendumCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:99 w:0)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
+	/// Storage: Democracy LowestUnbaked (r:1 w:1)
+	/// Proof: Democracy LowestUnbaked (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumCount (r:1 w:0)
+	/// Proof: Democracy ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:99 w:0)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 99]`.
 	fn on_initialize_base(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `277 + r * (86 ±0)`
+		//  Measured:  `244 + r * (86 ±0)`
 		//  Estimated: `1489 + r * (2676 ±0)`
-		// Minimum execution time: 5_274_000 picoseconds.
-		Weight::from_parts(6_162_399, 1489)
-			// Standard Error: 6_924
-			.saturating_add(Weight::from_parts(3_186_702, 0).saturating_mul(r.into()))
+		// Minimum execution time: 7_032_000 picoseconds.
+		Weight::from_parts(7_931_421, 1489)
+			// Standard Error: 7_395
+			.saturating_add(Weight::from_parts(3_236_964, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 2676).saturating_mul(r.into()))
 	}
-	/// Storage: `Democracy::LowestUnbaked` (r:1 w:1)
-	/// Proof: `Democracy::LowestUnbaked` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumCount` (r:1 w:0)
-	/// Proof: `Democracy::ReferendumCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::LastTabledWasExternal` (r:1 w:0)
-	/// Proof: `Democracy::LastTabledWasExternal` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::NextExternal` (r:1 w:0)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::PublicProps` (r:1 w:0)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:99 w:0)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
+	/// Storage: Democracy LowestUnbaked (r:1 w:1)
+	/// Proof: Democracy LowestUnbaked (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumCount (r:1 w:0)
+	/// Proof: Democracy ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Democracy LastTabledWasExternal (r:1 w:0)
+	/// Proof: Democracy LastTabledWasExternal (max_values: Some(1), max_size: Some(1), added: 496, mode: MaxEncodedLen)
+	/// Storage: Democracy NextExternal (r:1 w:0)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Democracy PublicProps (r:1 w:0)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:99 w:0)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 99]`.
 	fn on_initialize_base_with_launch_period(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `277 + r * (86 ±0)`
+		//  Measured:  `244 + r * (86 ±0)`
 		//  Estimated: `18187 + r * (2676 ±0)`
-		// Minimum execution time: 7_950_000 picoseconds.
-		Weight::from_parts(7_381_228, 18187)
-			// Standard Error: 6_650
-			.saturating_add(Weight::from_parts(3_198_515, 0).saturating_mul(r.into()))
+		// Minimum execution time: 10_524_000 picoseconds.
+		Weight::from_parts(10_369_064, 18187)
+			// Standard Error: 8_385
+			.saturating_add(Weight::from_parts(3_242_334, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 2676).saturating_mul(r.into()))
 	}
-	/// Storage: `Democracy::VotingOf` (r:3 w:3)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:99 w:99)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Democracy VotingOf (r:3 w:3)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:99 w:99)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 99]`.
 	fn delegate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `863 + r * (108 ±0)`
+		//  Measured:  `830 + r * (108 ±0)`
 		//  Estimated: `19800 + r * (2676 ±0)`
-		// Minimum execution time: 40_109_000 picoseconds.
-		Weight::from_parts(43_164_384, 19800)
-			// Standard Error: 7_267
-			.saturating_add(Weight::from_parts(4_161_526, 0).saturating_mul(r.into()))
+		// Minimum execution time: 46_106_000 picoseconds.
+		Weight::from_parts(48_936_654, 19800)
+			// Standard Error: 8_879
+			.saturating_add(Weight::from_parts(4_708_141, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2676).saturating_mul(r.into()))
 	}
-	/// Storage: `Democracy::VotingOf` (r:2 w:2)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:99 w:99)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
+	/// Storage: Democracy VotingOf (r:2 w:2)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:99 w:99)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 99]`.
 	fn undelegate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `526 + r * (108 ±0)`
+		//  Measured:  `493 + r * (108 ±0)`
 		//  Estimated: `13530 + r * (2676 ±0)`
-		// Minimum execution time: 17_466_000 picoseconds.
-		Weight::from_parts(18_004_456, 13530)
-			// Standard Error: 6_327
-			.saturating_add(Weight::from_parts(4_194_583, 0).saturating_mul(r.into()))
+		// Minimum execution time: 21_078_000 picoseconds.
+		Weight::from_parts(22_732_737, 13530)
+			// Standard Error: 7_969
+			.saturating_add(Weight::from_parts(4_626_458, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2676).saturating_mul(r.into()))
 	}
-	/// Storage: `Democracy::PublicProps` (r:0 w:1)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
+	/// Storage: Democracy PublicProps (r:0 w:1)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
 	fn clear_public_proposals() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_824_000 picoseconds.
-		Weight::from_parts(2_948_000, 0)
+		// Minimum execution time: 3_229_000 picoseconds.
+		Weight::from_parts(3_415_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::VotingOf` (r:1 w:1)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Democracy VotingOf (r:1 w:1)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 99]`.
 	fn unlock_remove(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `596`
+		//  Measured:  `563`
 		//  Estimated: `7260`
-		// Minimum execution time: 23_373_000 picoseconds.
-		Weight::from_parts(34_306_582, 7260)
-			// Standard Error: 2_849
-			.saturating_add(Weight::from_parts(85_027, 0).saturating_mul(r.into()))
+		// Minimum execution time: 25_735_000 picoseconds.
+		Weight::from_parts(41_341_468, 7260)
+			// Standard Error: 3_727
+			.saturating_add(Weight::from_parts(94_755, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::VotingOf` (r:1 w:1)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Democracy VotingOf (r:1 w:1)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 99]`.
 	fn unlock_set(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `597 + r * (22 ±0)`
+		//  Measured:  `564 + r * (22 ±0)`
 		//  Estimated: `7260`
-		// Minimum execution time: 31_574_000 picoseconds.
-		Weight::from_parts(33_906_658, 7260)
-			// Standard Error: 1_514
-			.saturating_add(Weight::from_parts(124_471, 0).saturating_mul(r.into()))
+		// Minimum execution time: 36_233_000 picoseconds.
+		Weight::from_parts(39_836_017, 7260)
+			// Standard Error: 1_791
+			.saturating_add(Weight::from_parts(132_158, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::VotingOf` (r:1 w:1)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy VotingOf (r:1 w:1)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 100]`.
 	fn remove_vote(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `761 + r * (26 ±0)`
+		//  Measured:  `728 + r * (26 ±0)`
 		//  Estimated: `7260`
-		// Minimum execution time: 15_204_000 picoseconds.
-		Weight::from_parts(18_405_879, 7260)
-			// Standard Error: 1_851
-			.saturating_add(Weight::from_parts(119_018, 0).saturating_mul(r.into()))
+		// Minimum execution time: 16_081_000 picoseconds.
+		Weight::from_parts(19_624_101, 7260)
+			// Standard Error: 1_639
+			.saturating_add(Weight::from_parts(133_630, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::VotingOf` (r:1 w:1)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy VotingOf (r:1 w:1)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 100]`.
 	fn remove_other_vote(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `761 + r * (26 ±0)`
+		//  Measured:  `728 + r * (26 ±0)`
 		//  Estimated: `7260`
-		// Minimum execution time: 15_120_000 picoseconds.
-		Weight::from_parts(18_282_222, 7260)
-			// Standard Error: 1_669
-			.saturating_add(Weight::from_parts(127_649, 0).saturating_mul(r.into()))
+		// Minimum execution time: 15_634_000 picoseconds.
+		Weight::from_parts(19_573_407, 7260)
+			// Standard Error: 1_790
+			.saturating_add(Weight::from_parts(139_707, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:1 w:0)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:0)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:0 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:1 w:0)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Preimage StatusFor (r:1 w:0)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:0 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn set_external_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `456`
+		//  Measured:  `356`
 		//  Estimated: `3556`
-		// Minimum execution time: 17_351_000 picoseconds.
-		Weight::from_parts(17_964_000, 3556)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
+		// Minimum execution time: 18_344_000 picoseconds.
+		Weight::from_parts(18_727_000, 3556)
+			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:1 w:0)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:1 w:0)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn clear_external_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `319`
+		//  Measured:  `286`
 		//  Estimated: `3518`
-		// Minimum execution time: 13_669_000 picoseconds.
-		Weight::from_parts(14_410_000, 3518)
+		// Minimum execution time: 16_497_000 picoseconds.
+		Weight::from_parts(16_892_000, 3518)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::PublicProps` (r:1 w:0)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:0)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:0 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy PublicProps (r:1 w:0)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
+	/// Storage: Preimage StatusFor (r:1 w:0)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:0 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn set_proposal_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `4988`
+		//  Measured:  `4888`
 		//  Estimated: `18187`
-		// Minimum execution time: 39_162_000 picoseconds.
-		Weight::from_parts(40_109_000, 18187)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
+		// Minimum execution time: 39_517_000 picoseconds.
+		Weight::from_parts(40_632_000, 18187)
+			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::PublicProps` (r:1 w:0)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy PublicProps (r:1 w:0)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn clear_proposal_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `4855`
+		//  Measured:  `4822`
 		//  Estimated: `18187`
-		// Minimum execution time: 34_141_000 picoseconds.
-		Weight::from_parts(34_732_000, 18187)
+		// Minimum execution time: 37_108_000 picoseconds.
+		Weight::from_parts(37_599_000, 18187)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:0)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:0 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Preimage StatusFor (r:1 w:0)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:0 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn set_referendum_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `211`
+		//  Measured:  `144`
 		//  Estimated: `3556`
-		// Minimum execution time: 13_413_000 picoseconds.
-		Weight::from_parts(14_039_000, 3556)
-			.saturating_add(T::DbWeight::get().reads(2_u64))
+		// Minimum execution time: 13_997_000 picoseconds.
+		Weight::from_parts(14_298_000, 3556)
+			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:0)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:0)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn clear_referendum_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `335`
+		//  Measured:  `302`
 		//  Estimated: `3666`
-		// Minimum execution time: 16_010_000 picoseconds.
-		Weight::from_parts(16_474_000, 3666)
+		// Minimum execution time: 18_122_000 picoseconds.
+		Weight::from_parts(18_655_000, 3666)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Democracy::PublicPropCount` (r:1 w:1)
-	/// Proof: `Democracy::PublicPropCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::PublicProps` (r:1 w:1)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::Blacklist` (r:1 w:0)
-	/// Proof: `Democracy::Blacklist` (`max_values`: None, `max_size`: Some(3238), added: 5713, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::DepositOf` (r:0 w:1)
-	/// Proof: `Democracy::DepositOf` (`max_values`: None, `max_size`: Some(3230), added: 5705, mode: `MaxEncodedLen`)
+	/// Storage: Democracy PublicPropCount (r:1 w:1)
+	/// Proof: Democracy PublicPropCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Democracy PublicProps (r:1 w:1)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
+	/// Storage: Democracy Blacklist (r:1 w:0)
+	/// Proof: Democracy Blacklist (max_values: None, max_size: Some(3238), added: 5713, mode: MaxEncodedLen)
+	/// Storage: Democracy DepositOf (r:0 w:1)
+	/// Proof: Democracy DepositOf (max_values: None, max_size: Some(3230), added: 5705, mode: MaxEncodedLen)
 	fn propose() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `4834`
+		//  Measured:  `4801`
 		//  Estimated: `18187`
-		// Minimum execution time: 39_930_000 picoseconds.
-		Weight::from_parts(41_746_000, 18187)
+		// Minimum execution time: 49_339_000 picoseconds.
+		Weight::from_parts(50_942_000, 18187)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::DepositOf` (r:1 w:1)
-	/// Proof: `Democracy::DepositOf` (`max_values`: None, `max_size`: Some(3230), added: 5705, mode: `MaxEncodedLen`)
+	/// Storage: Democracy DepositOf (r:1 w:1)
+	/// Proof: Democracy DepositOf (max_values: None, max_size: Some(3230), added: 5705, mode: MaxEncodedLen)
 	fn second() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3589`
+		//  Measured:  `3556`
 		//  Estimated: `6695`
-		// Minimum execution time: 36_490_000 picoseconds.
-		Weight::from_parts(37_615_000, 6695)
+		// Minimum execution time: 43_291_000 picoseconds.
+		Weight::from_parts(44_856_000, 6695)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::VotingOf` (r:1 w:1)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy VotingOf (r:1 w:1)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn vote_new() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3503`
+		//  Measured:  `3470`
 		//  Estimated: `7260`
-		// Minimum execution time: 54_257_000 picoseconds.
-		Weight::from_parts(55_912_000, 7260)
+		// Minimum execution time: 61_890_000 picoseconds.
+		Weight::from_parts(63_626_000, 7260)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::VotingOf` (r:1 w:1)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy VotingOf (r:1 w:1)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn vote_existing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3525`
+		//  Measured:  `3492`
 		//  Estimated: `7260`
-		// Minimum execution time: 56_878_000 picoseconds.
-		Weight::from_parts(58_796_000, 7260)
+		// Minimum execution time: 67_802_000 picoseconds.
+		Weight::from_parts(69_132_000, 7260)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::Cancellations` (r:1 w:1)
-	/// Proof: `Democracy::Cancellations` (`max_values`: None, `max_size`: Some(33), added: 2508, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy Cancellations (r:1 w:1)
+	/// Proof: Democracy Cancellations (max_values: None, max_size: Some(33), added: 2508, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn emergency_cancel() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `399`
+		//  Measured:  `366`
 		//  Estimated: `3666`
-		// Minimum execution time: 22_700_000 picoseconds.
-		Weight::from_parts(23_539_000, 3666)
+		// Minimum execution time: 25_757_000 picoseconds.
+		Weight::from_parts(27_226_000, 3666)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::PublicProps` (r:1 w:1)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::DepositOf` (r:1 w:1)
-	/// Proof: `Democracy::DepositOf` (`max_values`: None, `max_size`: Some(3230), added: 5705, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:3 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::NextExternal` (r:1 w:1)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::Blacklist` (r:0 w:1)
-	/// Proof: `Democracy::Blacklist` (`max_values`: None, `max_size`: Some(3238), added: 5713, mode: `MaxEncodedLen`)
+	/// Storage: Democracy PublicProps (r:1 w:1)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
+	/// Storage: Democracy DepositOf (r:1 w:1)
+	/// Proof: Democracy DepositOf (max_values: None, max_size: Some(3230), added: 5705, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:3 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
+	/// Storage: Democracy NextExternal (r:1 w:1)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy Blacklist (r:0 w:1)
+	/// Proof: Democracy Blacklist (max_values: None, max_size: Some(3238), added: 5713, mode: MaxEncodedLen)
 	fn blacklist() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `5943`
+		//  Measured:  `5910`
 		//  Estimated: `18187`
-		// Minimum execution time: 95_398_000 picoseconds.
-		Weight::from_parts(97_261_000, 18187)
+		// Minimum execution time: 113_060_000 picoseconds.
+		Weight::from_parts(114_813_000, 18187)
 			.saturating_add(RocksDbWeight::get().reads(8_u64))
 			.saturating_add(RocksDbWeight::get().writes(7_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:1 w:1)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::Blacklist` (r:1 w:0)
-	/// Proof: `Democracy::Blacklist` (`max_values`: None, `max_size`: Some(3238), added: 5713, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:1 w:1)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Democracy Blacklist (r:1 w:0)
+	/// Proof: Democracy Blacklist (max_values: None, max_size: Some(3238), added: 5713, mode: MaxEncodedLen)
 	fn external_propose() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3449`
+		//  Measured:  `3416`
 		//  Estimated: `6703`
-		// Minimum execution time: 11_745_000 picoseconds.
-		Weight::from_parts(12_304_000, 6703)
+		// Minimum execution time: 13_413_000 picoseconds.
+		Weight::from_parts(13_794_000, 6703)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:0 w:1)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:0 w:1)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
 	fn external_propose_majority() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_710_000 picoseconds.
-		Weight::from_parts(2_918_000, 0)
+		// Minimum execution time: 3_213_000 picoseconds.
+		Weight::from_parts(3_429_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:0 w:1)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:0 w:1)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
 	fn external_propose_default() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_664_000 picoseconds.
-		Weight::from_parts(2_776_000, 0)
+		// Minimum execution time: 3_280_000 picoseconds.
+		Weight::from_parts(3_389_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:1 w:1)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumCount` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:2)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:0 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:1 w:1)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumCount (r:1 w:1)
+	/// Proof: Democracy ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:2)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:0 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
 	fn fast_track() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `319`
+		//  Measured:  `286`
 		//  Estimated: `3518`
-		// Minimum execution time: 22_585_000 picoseconds.
-		Weight::from_parts(23_689_000, 3518)
+		// Minimum execution time: 28_142_000 picoseconds.
+		Weight::from_parts(28_862_000, 3518)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:1 w:1)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::Blacklist` (r:1 w:1)
-	/// Proof: `Democracy::Blacklist` (`max_values`: None, `max_size`: Some(3238), added: 5713, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:1 w:1)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Democracy Blacklist (r:1 w:1)
+	/// Proof: Democracy Blacklist (max_values: None, max_size: Some(3238), added: 5713, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn veto_external() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3552`
+		//  Measured:  `3519`
 		//  Estimated: `6703`
-		// Minimum execution time: 26_391_000 picoseconds.
-		Weight::from_parts(27_141_000, 6703)
+		// Minimum execution time: 32_395_000 picoseconds.
+		Weight::from_parts(33_617_000, 6703)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::PublicProps` (r:1 w:1)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::DepositOf` (r:1 w:1)
-	/// Proof: `Democracy::DepositOf` (`max_values`: None, `max_size`: Some(3230), added: 5705, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy PublicProps (r:1 w:1)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
+	/// Storage: Democracy DepositOf (r:1 w:1)
+	/// Proof: Democracy DepositOf (max_values: None, max_size: Some(3230), added: 5705, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn cancel_proposal() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `5854`
+		//  Measured:  `5821`
 		//  Estimated: `18187`
-		// Minimum execution time: 77_905_000 picoseconds.
-		Weight::from_parts(79_628_000, 18187)
+		// Minimum execution time: 92_255_000 picoseconds.
+		Weight::from_parts(93_704_000, 18187)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:0 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:0 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
 	fn cancel_referendum() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `304`
+		//  Measured:  `271`
 		//  Estimated: `3518`
-		// Minimum execution time: 15_735_000 picoseconds.
-		Weight::from_parts(16_525_000, 3518)
+		// Minimum execution time: 19_623_000 picoseconds.
+		Weight::from_parts(20_545_000, 3518)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Democracy::LowestUnbaked` (r:1 w:1)
-	/// Proof: `Democracy::LowestUnbaked` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumCount` (r:1 w:0)
-	/// Proof: `Democracy::ReferendumCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:99 w:0)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
+	/// Storage: Democracy LowestUnbaked (r:1 w:1)
+	/// Proof: Democracy LowestUnbaked (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumCount (r:1 w:0)
+	/// Proof: Democracy ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:99 w:0)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 99]`.
 	fn on_initialize_base(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `277 + r * (86 ±0)`
+		//  Measured:  `244 + r * (86 ±0)`
 		//  Estimated: `1489 + r * (2676 ±0)`
-		// Minimum execution time: 5_274_000 picoseconds.
-		Weight::from_parts(6_162_399, 1489)
-			// Standard Error: 6_924
-			.saturating_add(Weight::from_parts(3_186_702, 0).saturating_mul(r.into()))
+		// Minimum execution time: 7_032_000 picoseconds.
+		Weight::from_parts(7_931_421, 1489)
+			// Standard Error: 7_395
+			.saturating_add(Weight::from_parts(3_236_964, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 2676).saturating_mul(r.into()))
 	}
-	/// Storage: `Democracy::LowestUnbaked` (r:1 w:1)
-	/// Proof: `Democracy::LowestUnbaked` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumCount` (r:1 w:0)
-	/// Proof: `Democracy::ReferendumCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::LastTabledWasExternal` (r:1 w:0)
-	/// Proof: `Democracy::LastTabledWasExternal` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::NextExternal` (r:1 w:0)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::PublicProps` (r:1 w:0)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:99 w:0)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
+	/// Storage: Democracy LowestUnbaked (r:1 w:1)
+	/// Proof: Democracy LowestUnbaked (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumCount (r:1 w:0)
+	/// Proof: Democracy ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Democracy LastTabledWasExternal (r:1 w:0)
+	/// Proof: Democracy LastTabledWasExternal (max_values: Some(1), max_size: Some(1), added: 496, mode: MaxEncodedLen)
+	/// Storage: Democracy NextExternal (r:1 w:0)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Democracy PublicProps (r:1 w:0)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:99 w:0)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 99]`.
 	fn on_initialize_base_with_launch_period(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `277 + r * (86 ±0)`
+		//  Measured:  `244 + r * (86 ±0)`
 		//  Estimated: `18187 + r * (2676 ±0)`
-		// Minimum execution time: 7_950_000 picoseconds.
-		Weight::from_parts(7_381_228, 18187)
-			// Standard Error: 6_650
-			.saturating_add(Weight::from_parts(3_198_515, 0).saturating_mul(r.into()))
+		// Minimum execution time: 10_524_000 picoseconds.
+		Weight::from_parts(10_369_064, 18187)
+			// Standard Error: 8_385
+			.saturating_add(Weight::from_parts(3_242_334, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 2676).saturating_mul(r.into()))
 	}
-	/// Storage: `Democracy::VotingOf` (r:3 w:3)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:99 w:99)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Democracy VotingOf (r:3 w:3)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:99 w:99)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 99]`.
 	fn delegate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `863 + r * (108 ±0)`
+		//  Measured:  `830 + r * (108 ±0)`
 		//  Estimated: `19800 + r * (2676 ±0)`
-		// Minimum execution time: 40_109_000 picoseconds.
-		Weight::from_parts(43_164_384, 19800)
-			// Standard Error: 7_267
-			.saturating_add(Weight::from_parts(4_161_526, 0).saturating_mul(r.into()))
+		// Minimum execution time: 46_106_000 picoseconds.
+		Weight::from_parts(48_936_654, 19800)
+			// Standard Error: 8_879
+			.saturating_add(Weight::from_parts(4_708_141, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2676).saturating_mul(r.into()))
 	}
-	/// Storage: `Democracy::VotingOf` (r:2 w:2)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::ReferendumInfoOf` (r:99 w:99)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
+	/// Storage: Democracy VotingOf (r:2 w:2)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
+	/// Storage: Democracy ReferendumInfoOf (r:99 w:99)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 99]`.
 	fn undelegate(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `526 + r * (108 ±0)`
+		//  Measured:  `493 + r * (108 ±0)`
 		//  Estimated: `13530 + r * (2676 ±0)`
-		// Minimum execution time: 17_466_000 picoseconds.
-		Weight::from_parts(18_004_456, 13530)
-			// Standard Error: 6_327
-			.saturating_add(Weight::from_parts(4_194_583, 0).saturating_mul(r.into()))
+		// Minimum execution time: 21_078_000 picoseconds.
+		Weight::from_parts(22_732_737, 13530)
+			// Standard Error: 7_969
+			.saturating_add(Weight::from_parts(4_626_458, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(r.into())))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2676).saturating_mul(r.into()))
 	}
-	/// Storage: `Democracy::PublicProps` (r:0 w:1)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
+	/// Storage: Democracy PublicProps (r:0 w:1)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
 	fn clear_public_proposals() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_824_000 picoseconds.
-		Weight::from_parts(2_948_000, 0)
+		// Minimum execution time: 3_229_000 picoseconds.
+		Weight::from_parts(3_415_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::VotingOf` (r:1 w:1)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Democracy VotingOf (r:1 w:1)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 99]`.
 	fn unlock_remove(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `596`
+		//  Measured:  `563`
 		//  Estimated: `7260`
-		// Minimum execution time: 23_373_000 picoseconds.
-		Weight::from_parts(34_306_582, 7260)
-			// Standard Error: 2_849
-			.saturating_add(Weight::from_parts(85_027, 0).saturating_mul(r.into()))
+		// Minimum execution time: 25_735_000 picoseconds.
+		Weight::from_parts(41_341_468, 7260)
+			// Standard Error: 3_727
+			.saturating_add(Weight::from_parts(94_755, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::VotingOf` (r:1 w:1)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Democracy VotingOf (r:1 w:1)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 99]`.
 	fn unlock_set(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `597 + r * (22 ±0)`
+		//  Measured:  `564 + r * (22 ±0)`
 		//  Estimated: `7260`
-		// Minimum execution time: 31_574_000 picoseconds.
-		Weight::from_parts(33_906_658, 7260)
-			// Standard Error: 1_514
-			.saturating_add(Weight::from_parts(124_471, 0).saturating_mul(r.into()))
+		// Minimum execution time: 36_233_000 picoseconds.
+		Weight::from_parts(39_836_017, 7260)
+			// Standard Error: 1_791
+			.saturating_add(Weight::from_parts(132_158, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::VotingOf` (r:1 w:1)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy VotingOf (r:1 w:1)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 100]`.
 	fn remove_vote(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `761 + r * (26 ±0)`
+		//  Measured:  `728 + r * (26 ±0)`
 		//  Estimated: `7260`
-		// Minimum execution time: 15_204_000 picoseconds.
-		Weight::from_parts(18_405_879, 7260)
-			// Standard Error: 1_851
-			.saturating_add(Weight::from_parts(119_018, 0).saturating_mul(r.into()))
+		// Minimum execution time: 16_081_000 picoseconds.
+		Weight::from_parts(19_624_101, 7260)
+			// Standard Error: 1_639
+			.saturating_add(Weight::from_parts(133_630, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:1)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::VotingOf` (r:1 w:1)
-	/// Proof: `Democracy::VotingOf` (`max_values`: None, `max_size`: Some(3795), added: 6270, mode: `MaxEncodedLen`)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:1)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy VotingOf (r:1 w:1)
+	/// Proof: Democracy VotingOf (max_values: None, max_size: Some(3795), added: 6270, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 100]`.
 	fn remove_other_vote(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `761 + r * (26 ±0)`
+		//  Measured:  `728 + r * (26 ±0)`
 		//  Estimated: `7260`
-		// Minimum execution time: 15_120_000 picoseconds.
-		Weight::from_parts(18_282_222, 7260)
-			// Standard Error: 1_669
-			.saturating_add(Weight::from_parts(127_649, 0).saturating_mul(r.into()))
+		// Minimum execution time: 15_634_000 picoseconds.
+		Weight::from_parts(19_573_407, 7260)
+			// Standard Error: 1_790
+			.saturating_add(Weight::from_parts(139_707, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:1 w:0)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:0)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:0 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:1 w:0)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Preimage StatusFor (r:1 w:0)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:0 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn set_external_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `456`
+		//  Measured:  `356`
 		//  Estimated: `3556`
-		// Minimum execution time: 17_351_000 picoseconds.
-		Weight::from_parts(17_964_000, 3556)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
+		// Minimum execution time: 18_344_000 picoseconds.
+		Weight::from_parts(18_727_000, 3556)
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::NextExternal` (r:1 w:0)
-	/// Proof: `Democracy::NextExternal` (`max_values`: Some(1), `max_size`: Some(132), added: 627, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy NextExternal (r:1 w:0)
+	/// Proof: Democracy NextExternal (max_values: Some(1), max_size: Some(132), added: 627, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn clear_external_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `319`
+		//  Measured:  `286`
 		//  Estimated: `3518`
-		// Minimum execution time: 13_669_000 picoseconds.
-		Weight::from_parts(14_410_000, 3518)
+		// Minimum execution time: 16_497_000 picoseconds.
+		Weight::from_parts(16_892_000, 3518)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::PublicProps` (r:1 w:0)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:0)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:0 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy PublicProps (r:1 w:0)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
+	/// Storage: Preimage StatusFor (r:1 w:0)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:0 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn set_proposal_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `4988`
+		//  Measured:  `4888`
 		//  Estimated: `18187`
-		// Minimum execution time: 39_162_000 picoseconds.
-		Weight::from_parts(40_109_000, 18187)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
+		// Minimum execution time: 39_517_000 picoseconds.
+		Weight::from_parts(40_632_000, 18187)
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::PublicProps` (r:1 w:0)
-	/// Proof: `Democracy::PublicProps` (`max_values`: Some(1), `max_size`: Some(16702), added: 17197, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy PublicProps (r:1 w:0)
+	/// Proof: Democracy PublicProps (max_values: Some(1), max_size: Some(16702), added: 17197, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn clear_proposal_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `4855`
+		//  Measured:  `4822`
 		//  Estimated: `18187`
-		// Minimum execution time: 34_141_000 picoseconds.
-		Weight::from_parts(34_732_000, 18187)
+		// Minimum execution time: 37_108_000 picoseconds.
+		Weight::from_parts(37_599_000, 18187)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:0)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:0 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Preimage StatusFor (r:1 w:0)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:0 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn set_referendum_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `211`
+		//  Measured:  `144`
 		//  Estimated: `3556`
-		// Minimum execution time: 13_413_000 picoseconds.
-		Weight::from_parts(14_039_000, 3556)
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
+		// Minimum execution time: 13_997_000 picoseconds.
+		Weight::from_parts(14_298_000, 3556)
+			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Democracy::ReferendumInfoOf` (r:1 w:0)
-	/// Proof: `Democracy::ReferendumInfoOf` (`max_values`: None, `max_size`: Some(201), added: 2676, mode: `MaxEncodedLen`)
-	/// Storage: `Democracy::MetadataOf` (r:1 w:1)
-	/// Proof: `Democracy::MetadataOf` (`max_values`: None, `max_size`: Some(53), added: 2528, mode: `MaxEncodedLen`)
+	/// Storage: Democracy ReferendumInfoOf (r:1 w:0)
+	/// Proof: Democracy ReferendumInfoOf (max_values: None, max_size: Some(201), added: 2676, mode: MaxEncodedLen)
+	/// Storage: Democracy MetadataOf (r:1 w:1)
+	/// Proof: Democracy MetadataOf (max_values: None, max_size: Some(53), added: 2528, mode: MaxEncodedLen)
 	fn clear_referendum_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `335`
+		//  Measured:  `302`
 		//  Estimated: `3666`
-		// Minimum execution time: 16_010_000 picoseconds.
-		Weight::from_parts(16_474_000, 3666)
+		// Minimum execution time: 18_122_000 picoseconds.
+		Weight::from_parts(18_655_000, 3666)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
diff --git a/substrate/frame/election-provider-multi-phase/src/mock.rs b/substrate/frame/election-provider-multi-phase/src/mock.rs
index 312dc557090..18dcd7061c1 100644
--- a/substrate/frame/election-provider-multi-phase/src/mock.rs
+++ b/substrate/frame/election-provider-multi-phase/src/mock.rs
@@ -441,7 +441,7 @@ where
 	type Extrinsic = Extrinsic;
 }
 
-pub type Extrinsic = sp_runtime::generic::UncheckedExtrinsic<u64, RuntimeCall, (), ()>;
+pub type Extrinsic = sp_runtime::testing::TestXt<RuntimeCall, ()>;
 
 parameter_types! {
 	pub MaxNominations: u32 = <TestNposSolution as NposSolution>::LIMIT as u32;
diff --git a/substrate/frame/election-provider-multi-phase/src/unsigned.rs b/substrate/frame/election-provider-multi-phase/src/unsigned.rs
index 94cfd059b6c..94348181334 100644
--- a/substrate/frame/election-provider-multi-phase/src/unsigned.rs
+++ b/substrate/frame/election-provider-multi-phase/src/unsigned.rs
@@ -1813,7 +1813,7 @@ mod tests {
 
 			let encoded = pool.read().transactions[0].clone();
 			let extrinsic: Extrinsic = codec::Decode::decode(&mut &*encoded).unwrap();
-			let call = extrinsic.function;
+			let call = extrinsic.call;
 			assert!(matches!(call, RuntimeCall::MultiPhase(Call::submit_unsigned { .. })));
 		})
 	}
@@ -1830,7 +1830,7 @@ mod tests {
 
 			let encoded = pool.read().transactions[0].clone();
 			let extrinsic = Extrinsic::decode(&mut &*encoded).unwrap();
-			let call = match extrinsic.function {
+			let call = match extrinsic.call {
 				RuntimeCall::MultiPhase(call @ Call::submit_unsigned { .. }) => call,
 				_ => panic!("bad call: unexpected submission"),
 			};
diff --git a/substrate/frame/election-provider-multi-phase/src/weights.rs b/substrate/frame/election-provider-multi-phase/src/weights.rs
index ed3e942716e..be578fac8c4 100644
--- a/substrate/frame/election-provider-multi-phase/src/weights.rs
+++ b/substrate/frame/election-provider-multi-phase/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_election_provider_multi_phase`
+//! Autogenerated weights for pallet_election_provider_multi_phase
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/election-provider-multi-phase/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/election-provider-multi-phase/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_election_provider_multi_phase`.
+/// Weight functions needed for pallet_election_provider_multi_phase.
 pub trait WeightInfo {
 	fn on_initialize_nothing() -> Weight;
 	fn on_initialize_open_signed() -> Weight;
@@ -63,171 +64,169 @@ pub trait WeightInfo {
 	fn feasibility_check(v: u32, t: u32, a: u32, d: u32, ) -> Weight;
 }
 
-/// Weights for `pallet_election_provider_multi_phase` using the Substrate node and recommended hardware.
+/// Weights for pallet_election_provider_multi_phase using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Staking::CurrentEra` (r:1 w:0)
-	/// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::CurrentPlannedSession` (r:1 w:0)
-	/// Proof: `Staking::CurrentPlannedSession` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::ErasStartSessionIndex` (r:1 w:0)
-	/// Proof: `Staking::ErasStartSessionIndex` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `Babe::EpochIndex` (r:1 w:0)
-	/// Proof: `Babe::EpochIndex` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Babe::GenesisSlot` (r:1 w:0)
-	/// Proof: `Babe::GenesisSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Babe::CurrentSlot` (r:1 w:0)
-	/// Proof: `Babe::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::ForceEra` (r:1 w:0)
-	/// Proof: `Staking::ForceEra` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Staking CurrentEra (r:1 w:0)
+	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking CurrentPlannedSession (r:1 w:0)
+	/// Proof: Staking CurrentPlannedSession (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking ErasStartSessionIndex (r:1 w:0)
+	/// Proof: Staking ErasStartSessionIndex (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: Babe EpochIndex (r:1 w:0)
+	/// Proof: Babe EpochIndex (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Babe GenesisSlot (r:1 w:0)
+	/// Proof: Babe GenesisSlot (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Babe CurrentSlot (r:1 w:0)
+	/// Proof: Babe CurrentSlot (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Staking ForceEra (r:1 w:0)
+	/// Proof: Staking ForceEra (max_values: Some(1), max_size: Some(1), added: 496, mode: MaxEncodedLen)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
 	fn on_initialize_nothing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1061`
+		//  Measured:  `1028`
 		//  Estimated: `3481`
-		// Minimum execution time: 19_340_000 picoseconds.
-		Weight::from_parts(19_886_000, 3481)
+		// Minimum execution time: 22_089_000 picoseconds.
+		Weight::from_parts(22_677_000, 3481)
 			.saturating_add(T::DbWeight::get().reads(8_u64))
 	}
-	/// Storage: `ElectionProviderMultiPhase::Round` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Round` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase Round (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase Round (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
 	fn on_initialize_open_signed() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `148`
 		//  Estimated: `1633`
-		// Minimum execution time: 8_067_000 picoseconds.
-		Weight::from_parts(8_508_000, 1633)
+		// Minimum execution time: 11_986_000 picoseconds.
+		Weight::from_parts(12_445_000, 1633)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `ElectionProviderMultiPhase::Round` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Round` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase Round (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase Round (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
 	fn on_initialize_open_unsigned() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `148`
 		//  Estimated: `1633`
-		// Minimum execution time: 8_810_000 picoseconds.
-		Weight::from_parts(9_061_000, 1633)
+		// Minimum execution time: 12_988_000 picoseconds.
+		Weight::from_parts(13_281_000, 1633)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ElectionProviderMultiPhase::QueuedSolution` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::QueuedSolution` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: ElectionProviderMultiPhase QueuedSolution (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase QueuedSolution (max_values: Some(1), max_size: None, mode: Measured)
 	fn finalize_signed_phase_accept_solution() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `174`
 		//  Estimated: `3593`
-		// Minimum execution time: 24_339_000 picoseconds.
-		Weight::from_parts(25_322_000, 3593)
+		// Minimum execution time: 32_659_000 picoseconds.
+		Weight::from_parts(33_281_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn finalize_signed_phase_reject_solution() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `174`
 		//  Estimated: `3593`
-		// Minimum execution time: 16_635_000 picoseconds.
-		Weight::from_parts(17_497_000, 3593)
+		// Minimum execution time: 22_471_000 picoseconds.
+		Weight::from_parts(23_046_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `ElectionProviderMultiPhase::SnapshotMetadata` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SnapshotMetadata` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::DesiredTargets` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::DesiredTargets` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Snapshot` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::Snapshot` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase SnapshotMetadata (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SnapshotMetadata (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase DesiredTargets (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase DesiredTargets (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Snapshot (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase Snapshot (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `v` is `[1000, 2000]`.
 	/// The range of component `t` is `[500, 1000]`.
 	fn create_snapshot_internal(v: u32, _t: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 170_730_000 picoseconds.
-		Weight::from_parts(175_009_000, 0)
-			// Standard Error: 2_010
-			.saturating_add(Weight::from_parts(224_974, 0).saturating_mul(v.into()))
+		// Minimum execution time: 262_360_000 picoseconds.
+		Weight::from_parts(279_313_000, 0)
+			// Standard Error: 2_384
+			.saturating_add(Weight::from_parts(176_415, 0).saturating_mul(v.into()))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `ElectionProviderMultiPhase::SignedSubmissionIndices` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SignedSubmissionIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SignedSubmissionNextIndex` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SignedSubmissionNextIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SnapshotMetadata` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SnapshotMetadata` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SignedSubmissionsMap` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::SignedSubmissionsMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::QueuedSolution` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::QueuedSolution` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Round` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::Round` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::DesiredTargets` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::DesiredTargets` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Snapshot` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::Snapshot` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase SignedSubmissionIndices (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SignedSubmissionIndices (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SignedSubmissionNextIndex (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SignedSubmissionNextIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SnapshotMetadata (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SnapshotMetadata (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SignedSubmissionsMap (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase SignedSubmissionsMap (max_values: None, max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase QueuedSolution (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase QueuedSolution (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Round (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase Round (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase DesiredTargets (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase DesiredTargets (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Snapshot (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase Snapshot (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `a` is `[500, 800]`.
 	/// The range of component `d` is `[200, 400]`.
 	fn elect_queued(a: u32, d: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `371 + a * (768 ±0) + d * (48 ±0)`
 		//  Estimated: `3923 + a * (768 ±0) + d * (49 ±0)`
-		// Minimum execution time: 280_705_000 picoseconds.
-		Weight::from_parts(303_018_000, 3923)
-			// Standard Error: 4_633
-			.saturating_add(Weight::from_parts(307_274, 0).saturating_mul(a.into()))
+		// Minimum execution time: 301_283_000 picoseconds.
+		Weight::from_parts(324_586_000, 3923)
+			// Standard Error: 4_763
+			.saturating_add(Weight::from_parts(279_812, 0).saturating_mul(a.into()))
 			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().writes(8_u64))
 			.saturating_add(Weight::from_parts(0, 768).saturating_mul(a.into()))
 			.saturating_add(Weight::from_parts(0, 49).saturating_mul(d.into()))
 	}
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Round` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Round` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SnapshotMetadata` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::SnapshotMetadata` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SignedSubmissionIndices` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SignedSubmissionIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SignedSubmissionNextIndex` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SignedSubmissionNextIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `ElectionProviderMultiPhase::SignedSubmissionsMap` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SignedSubmissionsMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SnapshotMetadata (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase SnapshotMetadata (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0)
+	/// Proof: TransactionPayment NextFeeMultiplier (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: ElectionProviderMultiPhase SignedSubmissionIndices (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SignedSubmissionIndices (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SignedSubmissionNextIndex (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SignedSubmissionNextIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SignedSubmissionsMap (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SignedSubmissionsMap (max_values: None, max_size: None, mode: Measured)
 	fn submit() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `927`
 		//  Estimated: `2412`
-		// Minimum execution time: 43_405_000 picoseconds.
-		Weight::from_parts(45_734_000, 2412)
-			.saturating_add(T::DbWeight::get().reads(6_u64))
+		// Minimum execution time: 52_276_000 picoseconds.
+		Weight::from_parts(53_846_000, 2412)
+			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Round` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Round` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::DesiredTargets` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::DesiredTargets` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::QueuedSolution` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::QueuedSolution` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SnapshotMetadata` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::SnapshotMetadata` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Snapshot` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Snapshot` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::MinimumUntrustedScore` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::MinimumUntrustedScore` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Round (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase Round (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase DesiredTargets (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase DesiredTargets (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase QueuedSolution (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase QueuedSolution (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SnapshotMetadata (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase SnapshotMetadata (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Snapshot (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase Snapshot (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase MinimumUntrustedScore (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase MinimumUntrustedScore (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `v` is `[1000, 2000]`.
 	/// The range of component `t` is `[500, 1000]`.
 	/// The range of component `a` is `[500, 800]`.
@@ -236,25 +235,25 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `253 + t * (32 ±0) + v * (553 ±0)`
 		//  Estimated: `1738 + t * (32 ±0) + v * (553 ±0)`
-		// Minimum execution time: 5_059_092_000 picoseconds.
-		Weight::from_parts(5_263_076_000, 1738)
-			// Standard Error: 17_317
-			.saturating_add(Weight::from_parts(384_051, 0).saturating_mul(v.into()))
-			// Standard Error: 51_319
-			.saturating_add(Weight::from_parts(4_095_128, 0).saturating_mul(a.into()))
+		// Minimum execution time: 5_448_459_000 picoseconds.
+		Weight::from_parts(5_525_622_000, 1738)
+			// Standard Error: 21_478
+			.saturating_add(Weight::from_parts(256_345, 0).saturating_mul(v.into()))
+			// Standard Error: 63_648
+			.saturating_add(Weight::from_parts(5_103_224, 0).saturating_mul(a.into()))
 			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(t.into()))
 			.saturating_add(Weight::from_parts(0, 553).saturating_mul(v.into()))
 	}
-	/// Storage: `ElectionProviderMultiPhase::DesiredTargets` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::DesiredTargets` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Snapshot` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Snapshot` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Round` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Round` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::MinimumUntrustedScore` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::MinimumUntrustedScore` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase DesiredTargets (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase DesiredTargets (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Snapshot (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase Snapshot (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Round (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase Round (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase MinimumUntrustedScore (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase MinimumUntrustedScore (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `v` is `[1000, 2000]`.
 	/// The range of component `t` is `[500, 1000]`.
 	/// The range of component `a` is `[500, 800]`.
@@ -263,182 +262,180 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `228 + t * (32 ±0) + v * (553 ±0)`
 		//  Estimated: `1713 + t * (32 ±0) + v * (553 ±0)`
-		// Minimum execution time: 4_426_416_000 picoseconds.
-		Weight::from_parts(4_466_923_000, 1713)
-			// Standard Error: 15_415
-			.saturating_add(Weight::from_parts(334_047, 0).saturating_mul(v.into()))
-			// Standard Error: 45_682
-			.saturating_add(Weight::from_parts(3_097_318, 0).saturating_mul(a.into()))
+		// Minimum execution time: 4_724_399_000 picoseconds.
+		Weight::from_parts(4_886_472_000, 1713)
+			// Standard Error: 15_220
+			.saturating_add(Weight::from_parts(365_569, 0).saturating_mul(v.into()))
+			// Standard Error: 45_104
+			.saturating_add(Weight::from_parts(3_176_675, 0).saturating_mul(a.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(t.into()))
 			.saturating_add(Weight::from_parts(0, 553).saturating_mul(v.into()))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Staking::CurrentEra` (r:1 w:0)
-	/// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::CurrentPlannedSession` (r:1 w:0)
-	/// Proof: `Staking::CurrentPlannedSession` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::ErasStartSessionIndex` (r:1 w:0)
-	/// Proof: `Staking::ErasStartSessionIndex` (`max_values`: None, `max_size`: Some(16), added: 2491, mode: `MaxEncodedLen`)
-	/// Storage: `Babe::EpochIndex` (r:1 w:0)
-	/// Proof: `Babe::EpochIndex` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Babe::GenesisSlot` (r:1 w:0)
-	/// Proof: `Babe::GenesisSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Babe::CurrentSlot` (r:1 w:0)
-	/// Proof: `Babe::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::ForceEra` (r:1 w:0)
-	/// Proof: `Staking::ForceEra` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Staking CurrentEra (r:1 w:0)
+	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking CurrentPlannedSession (r:1 w:0)
+	/// Proof: Staking CurrentPlannedSession (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking ErasStartSessionIndex (r:1 w:0)
+	/// Proof: Staking ErasStartSessionIndex (max_values: None, max_size: Some(16), added: 2491, mode: MaxEncodedLen)
+	/// Storage: Babe EpochIndex (r:1 w:0)
+	/// Proof: Babe EpochIndex (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Babe GenesisSlot (r:1 w:0)
+	/// Proof: Babe GenesisSlot (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Babe CurrentSlot (r:1 w:0)
+	/// Proof: Babe CurrentSlot (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Staking ForceEra (r:1 w:0)
+	/// Proof: Staking ForceEra (max_values: Some(1), max_size: Some(1), added: 496, mode: MaxEncodedLen)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
 	fn on_initialize_nothing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1061`
+		//  Measured:  `1028`
 		//  Estimated: `3481`
-		// Minimum execution time: 19_340_000 picoseconds.
-		Weight::from_parts(19_886_000, 3481)
+		// Minimum execution time: 22_089_000 picoseconds.
+		Weight::from_parts(22_677_000, 3481)
 			.saturating_add(RocksDbWeight::get().reads(8_u64))
 	}
-	/// Storage: `ElectionProviderMultiPhase::Round` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Round` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase Round (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase Round (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
 	fn on_initialize_open_signed() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `148`
 		//  Estimated: `1633`
-		// Minimum execution time: 8_067_000 picoseconds.
-		Weight::from_parts(8_508_000, 1633)
+		// Minimum execution time: 11_986_000 picoseconds.
+		Weight::from_parts(12_445_000, 1633)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `ElectionProviderMultiPhase::Round` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Round` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase Round (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase Round (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
 	fn on_initialize_open_unsigned() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `148`
 		//  Estimated: `1633`
-		// Minimum execution time: 8_810_000 picoseconds.
-		Weight::from_parts(9_061_000, 1633)
+		// Minimum execution time: 12_988_000 picoseconds.
+		Weight::from_parts(13_281_000, 1633)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `ElectionProviderMultiPhase::QueuedSolution` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::QueuedSolution` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: ElectionProviderMultiPhase QueuedSolution (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase QueuedSolution (max_values: Some(1), max_size: None, mode: Measured)
 	fn finalize_signed_phase_accept_solution() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `174`
 		//  Estimated: `3593`
-		// Minimum execution time: 24_339_000 picoseconds.
-		Weight::from_parts(25_322_000, 3593)
+		// Minimum execution time: 32_659_000 picoseconds.
+		Weight::from_parts(33_281_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn finalize_signed_phase_reject_solution() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `174`
 		//  Estimated: `3593`
-		// Minimum execution time: 16_635_000 picoseconds.
-		Weight::from_parts(17_497_000, 3593)
+		// Minimum execution time: 22_471_000 picoseconds.
+		Weight::from_parts(23_046_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `ElectionProviderMultiPhase::SnapshotMetadata` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SnapshotMetadata` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::DesiredTargets` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::DesiredTargets` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Snapshot` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::Snapshot` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase SnapshotMetadata (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SnapshotMetadata (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase DesiredTargets (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase DesiredTargets (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Snapshot (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase Snapshot (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `v` is `[1000, 2000]`.
 	/// The range of component `t` is `[500, 1000]`.
 	fn create_snapshot_internal(v: u32, _t: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 170_730_000 picoseconds.
-		Weight::from_parts(175_009_000, 0)
-			// Standard Error: 2_010
-			.saturating_add(Weight::from_parts(224_974, 0).saturating_mul(v.into()))
+		// Minimum execution time: 262_360_000 picoseconds.
+		Weight::from_parts(279_313_000, 0)
+			// Standard Error: 2_384
+			.saturating_add(Weight::from_parts(176_415, 0).saturating_mul(v.into()))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `ElectionProviderMultiPhase::SignedSubmissionIndices` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SignedSubmissionIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SignedSubmissionNextIndex` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SignedSubmissionNextIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SnapshotMetadata` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SnapshotMetadata` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SignedSubmissionsMap` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::SignedSubmissionsMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::QueuedSolution` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::QueuedSolution` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Round` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::Round` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::DesiredTargets` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::DesiredTargets` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Snapshot` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::Snapshot` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase SignedSubmissionIndices (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SignedSubmissionIndices (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SignedSubmissionNextIndex (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SignedSubmissionNextIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SnapshotMetadata (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SnapshotMetadata (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SignedSubmissionsMap (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase SignedSubmissionsMap (max_values: None, max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase QueuedSolution (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase QueuedSolution (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Round (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase Round (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase DesiredTargets (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase DesiredTargets (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Snapshot (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase Snapshot (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `a` is `[500, 800]`.
 	/// The range of component `d` is `[200, 400]`.
 	fn elect_queued(a: u32, d: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `371 + a * (768 ±0) + d * (48 ±0)`
 		//  Estimated: `3923 + a * (768 ±0) + d * (49 ±0)`
-		// Minimum execution time: 280_705_000 picoseconds.
-		Weight::from_parts(303_018_000, 3923)
-			// Standard Error: 4_633
-			.saturating_add(Weight::from_parts(307_274, 0).saturating_mul(a.into()))
+		// Minimum execution time: 301_283_000 picoseconds.
+		Weight::from_parts(324_586_000, 3923)
+			// Standard Error: 4_763
+			.saturating_add(Weight::from_parts(279_812, 0).saturating_mul(a.into()))
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().writes(8_u64))
 			.saturating_add(Weight::from_parts(0, 768).saturating_mul(a.into()))
 			.saturating_add(Weight::from_parts(0, 49).saturating_mul(d.into()))
 	}
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Round` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Round` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SnapshotMetadata` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::SnapshotMetadata` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SignedSubmissionIndices` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SignedSubmissionIndices` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SignedSubmissionNextIndex` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SignedSubmissionNextIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `ElectionProviderMultiPhase::SignedSubmissionsMap` (r:0 w:1)
-	/// Proof: `ElectionProviderMultiPhase::SignedSubmissionsMap` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SnapshotMetadata (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase SnapshotMetadata (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TransactionPayment NextFeeMultiplier (r:1 w:0)
+	/// Proof: TransactionPayment NextFeeMultiplier (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: ElectionProviderMultiPhase SignedSubmissionIndices (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SignedSubmissionIndices (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SignedSubmissionNextIndex (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SignedSubmissionNextIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SignedSubmissionsMap (r:0 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase SignedSubmissionsMap (max_values: None, max_size: None, mode: Measured)
 	fn submit() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `927`
 		//  Estimated: `2412`
-		// Minimum execution time: 43_405_000 picoseconds.
-		Weight::from_parts(45_734_000, 2412)
-			.saturating_add(RocksDbWeight::get().reads(6_u64))
+		// Minimum execution time: 52_276_000 picoseconds.
+		Weight::from_parts(53_846_000, 2412)
+			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Round` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Round` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::DesiredTargets` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::DesiredTargets` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::QueuedSolution` (r:1 w:1)
-	/// Proof: `ElectionProviderMultiPhase::QueuedSolution` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::SnapshotMetadata` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::SnapshotMetadata` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Snapshot` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Snapshot` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::MinimumUntrustedScore` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::MinimumUntrustedScore` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Round (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase Round (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase DesiredTargets (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase DesiredTargets (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase QueuedSolution (r:1 w:1)
+	/// Proof Skipped: ElectionProviderMultiPhase QueuedSolution (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase SnapshotMetadata (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase SnapshotMetadata (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Snapshot (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase Snapshot (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase MinimumUntrustedScore (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase MinimumUntrustedScore (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `v` is `[1000, 2000]`.
 	/// The range of component `t` is `[500, 1000]`.
 	/// The range of component `a` is `[500, 800]`.
@@ -447,25 +444,25 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `253 + t * (32 ±0) + v * (553 ±0)`
 		//  Estimated: `1738 + t * (32 ±0) + v * (553 ±0)`
-		// Minimum execution time: 5_059_092_000 picoseconds.
-		Weight::from_parts(5_263_076_000, 1738)
-			// Standard Error: 17_317
-			.saturating_add(Weight::from_parts(384_051, 0).saturating_mul(v.into()))
-			// Standard Error: 51_319
-			.saturating_add(Weight::from_parts(4_095_128, 0).saturating_mul(a.into()))
+		// Minimum execution time: 5_448_459_000 picoseconds.
+		Weight::from_parts(5_525_622_000, 1738)
+			// Standard Error: 21_478
+			.saturating_add(Weight::from_parts(256_345, 0).saturating_mul(v.into()))
+			// Standard Error: 63_648
+			.saturating_add(Weight::from_parts(5_103_224, 0).saturating_mul(a.into()))
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(t.into()))
 			.saturating_add(Weight::from_parts(0, 553).saturating_mul(v.into()))
 	}
-	/// Storage: `ElectionProviderMultiPhase::DesiredTargets` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::DesiredTargets` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Snapshot` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Snapshot` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::Round` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::Round` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ElectionProviderMultiPhase::MinimumUntrustedScore` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::MinimumUntrustedScore` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: ElectionProviderMultiPhase DesiredTargets (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase DesiredTargets (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Snapshot (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase Snapshot (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase Round (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase Round (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ElectionProviderMultiPhase MinimumUntrustedScore (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase MinimumUntrustedScore (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `v` is `[1000, 2000]`.
 	/// The range of component `t` is `[500, 1000]`.
 	/// The range of component `a` is `[500, 800]`.
@@ -474,12 +471,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `228 + t * (32 ±0) + v * (553 ±0)`
 		//  Estimated: `1713 + t * (32 ±0) + v * (553 ±0)`
-		// Minimum execution time: 4_426_416_000 picoseconds.
-		Weight::from_parts(4_466_923_000, 1713)
-			// Standard Error: 15_415
-			.saturating_add(Weight::from_parts(334_047, 0).saturating_mul(v.into()))
-			// Standard Error: 45_682
-			.saturating_add(Weight::from_parts(3_097_318, 0).saturating_mul(a.into()))
+		// Minimum execution time: 4_724_399_000 picoseconds.
+		Weight::from_parts(4_886_472_000, 1713)
+			// Standard Error: 15_220
+			.saturating_add(Weight::from_parts(365_569, 0).saturating_mul(v.into()))
+			// Standard Error: 45_104
+			.saturating_add(Weight::from_parts(3_176_675, 0).saturating_mul(a.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(t.into()))
 			.saturating_add(Weight::from_parts(0, 553).saturating_mul(v.into()))
diff --git a/substrate/frame/election-provider-multi-phase/test-staking-e2e/src/mock.rs b/substrate/frame/election-provider-multi-phase/test-staking-e2e/src/mock.rs
index 7fade251e6d..882b894bb22 100644
--- a/substrate/frame/election-provider-multi-phase/test-staking-e2e/src/mock.rs
+++ b/substrate/frame/election-provider-multi-phase/test-staking-e2e/src/mock.rs
@@ -62,7 +62,7 @@ pub const INIT_TIMESTAMP: BlockNumber = 30_000;
 pub const BLOCK_TIME: BlockNumber = 1000;
 
 type Block = frame_system::mocking::MockBlockU32<Runtime>;
-type Extrinsic = sp_runtime::generic::UncheckedExtrinsic<u64, RuntimeCall, (), ()>;
+type Extrinsic = testing::TestXt<RuntimeCall, ()>;
 
 frame_support::construct_runtime!(
 	pub enum Runtime {
@@ -699,7 +699,7 @@ pub fn roll_to_with_ocw(n: BlockNumber, pool: Arc<RwLock<PoolState>>, delay_solu
 			for encoded in &pool.read().transactions {
 				let extrinsic = Extrinsic::decode(&mut &encoded[..]).unwrap();
 
-				let _ = match extrinsic.function {
+				let _ = match extrinsic.call {
 					RuntimeCall::ElectionProviderMultiPhase(
 						call @ Call::submit_unsigned { .. },
 					) => {
diff --git a/substrate/frame/elections-phragmen/src/lib.rs b/substrate/frame/elections-phragmen/src/lib.rs
index e08412a6e87..308f2cdc1aa 100644
--- a/substrate/frame/elections-phragmen/src/lib.rs
+++ b/substrate/frame/elections-phragmen/src/lib.rs
@@ -1422,7 +1422,7 @@ mod tests {
 
 	pub type Block = sp_runtime::generic::Block<Header, UncheckedExtrinsic>;
 	pub type UncheckedExtrinsic =
-		sp_runtime::generic::UncheckedExtrinsic<u32, RuntimeCall, u64, ()>;
+		sp_runtime::generic::UncheckedExtrinsic<u32, u64, RuntimeCall, ()>;
 
 	frame_support::construct_runtime!(
 		pub enum Test
diff --git a/substrate/frame/elections-phragmen/src/weights.rs b/substrate/frame/elections-phragmen/src/weights.rs
index cd67918e85b..b7ed13dae9f 100644
--- a/substrate/frame/elections-phragmen/src/weights.rs
+++ b/substrate/frame/elections-phragmen/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_elections_phragmen`
+//! Autogenerated weights for pallet_elections_phragmen
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/elections-phragmen/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/elections-phragmen/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_elections_phragmen`.
+/// Weight functions needed for pallet_elections_phragmen.
 pub trait WeightInfo {
 	fn vote_equal(v: u32, ) -> Weight;
 	fn vote_more(v: u32, ) -> Weight;
@@ -65,165 +66,165 @@ pub trait WeightInfo {
 	fn election_phragmen(c: u32, v: u32, e: u32, ) -> Weight;
 }
 
-/// Weights for `pallet_elections_phragmen` using the Substrate node and recommended hardware.
+/// Weights for pallet_elections_phragmen using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Elections::Candidates` (r:1 w:0)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:0)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Voting` (r:1 w:1)
-	/// Proof: `Elections::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Elections Candidates (r:1 w:0)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:0)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Voting (r:1 w:1)
+	/// Proof Skipped: Elections Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	/// The range of component `v` is `[1, 16]`.
 	fn vote_equal(v: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `403 + v * (80 ±0)`
 		//  Estimated: `4764 + v * (80 ±0)`
-		// Minimum execution time: 29_390_000 picoseconds.
-		Weight::from_parts(30_525_476, 4764)
-			// Standard Error: 3_185
-			.saturating_add(Weight::from_parts(143_073, 0).saturating_mul(v.into()))
+		// Minimum execution time: 33_028_000 picoseconds.
+		Weight::from_parts(34_073_914, 4764)
+			// Standard Error: 3_474
+			.saturating_add(Weight::from_parts(205_252, 0).saturating_mul(v.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into()))
 	}
-	/// Storage: `Elections::Candidates` (r:1 w:0)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:0)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Voting` (r:1 w:1)
-	/// Proof: `Elections::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Elections Candidates (r:1 w:0)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:0)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Voting (r:1 w:1)
+	/// Proof Skipped: Elections Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	/// The range of component `v` is `[2, 16]`.
 	fn vote_more(v: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `371 + v * (80 ±0)`
 		//  Estimated: `4764 + v * (80 ±0)`
-		// Minimum execution time: 39_765_000 picoseconds.
-		Weight::from_parts(41_374_102, 4764)
-			// Standard Error: 4_310
-			.saturating_add(Weight::from_parts(153_015, 0).saturating_mul(v.into()))
+		// Minimum execution time: 45_725_000 picoseconds.
+		Weight::from_parts(47_169_586, 4764)
+			// Standard Error: 5_148
+			.saturating_add(Weight::from_parts(213_742, 0).saturating_mul(v.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into()))
 	}
-	/// Storage: `Elections::Candidates` (r:1 w:0)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:0)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Voting` (r:1 w:1)
-	/// Proof: `Elections::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Elections Candidates (r:1 w:0)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:0)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Voting (r:1 w:1)
+	/// Proof Skipped: Elections Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	/// The range of component `v` is `[2, 16]`.
 	fn vote_less(v: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `403 + v * (80 ±0)`
 		//  Estimated: `4764 + v * (80 ±0)`
-		// Minimum execution time: 39_647_000 picoseconds.
-		Weight::from_parts(41_474_523, 4764)
-			// Standard Error: 5_503
-			.saturating_add(Weight::from_parts(149_029, 0).saturating_mul(v.into()))
+		// Minimum execution time: 45_519_000 picoseconds.
+		Weight::from_parts(47_339_108, 4764)
+			// Standard Error: 5_501
+			.saturating_add(Weight::from_parts(195_247, 0).saturating_mul(v.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into()))
 	}
-	/// Storage: `Elections::Voting` (r:1 w:1)
-	/// Proof: `Elections::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Elections Voting (r:1 w:1)
+	/// Proof Skipped: Elections Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn remove_voter() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `925`
 		//  Estimated: `4764`
-		// Minimum execution time: 41_882_000 picoseconds.
-		Weight::from_parts(42_794_000, 4764)
+		// Minimum execution time: 50_386_000 picoseconds.
+		Weight::from_parts(51_378_000, 4764)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Elections::Candidates` (r:1 w:1)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:0)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Candidates (r:1 w:1)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:0)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `c` is `[1, 64]`.
 	fn submit_candidacy(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `1570 + c * (48 ±0)`
 		//  Estimated: `3055 + c * (48 ±0)`
-		// Minimum execution time: 33_719_000 picoseconds.
-		Weight::from_parts(35_017_073, 3055)
-			// Standard Error: 1_587
-			.saturating_add(Weight::from_parts(121_130, 0).saturating_mul(c.into()))
+		// Minimum execution time: 38_987_000 picoseconds.
+		Weight::from_parts(41_302_276, 3055)
+			// Standard Error: 2_047
+			.saturating_add(Weight::from_parts(125_200, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 48).saturating_mul(c.into()))
 	}
-	/// Storage: `Elections::Candidates` (r:1 w:1)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Candidates (r:1 w:1)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `c` is `[1, 64]`.
 	fn renounce_candidacy_candidate(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `285 + c * (48 ±0)`
 		//  Estimated: `1770 + c * (48 ±0)`
-		// Minimum execution time: 27_263_000 picoseconds.
-		Weight::from_parts(28_215_666, 1770)
-			// Standard Error: 1_196
-			.saturating_add(Weight::from_parts(86_804, 0).saturating_mul(c.into()))
+		// Minimum execution time: 33_510_000 picoseconds.
+		Weight::from_parts(34_947_760, 1770)
+			// Standard Error: 1_781
+			.saturating_add(Weight::from_parts(78_851, 0).saturating_mul(c.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 48).saturating_mul(c.into()))
 	}
-	/// Storage: `Elections::Members` (r:1 w:1)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:1)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Prime` (r:1 w:1)
-	/// Proof: `Council::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:0)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:0 w:1)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Members (r:1 w:1)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:1)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Prime (r:1 w:1)
+	/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:0)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Members (r:0 w:1)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
 	fn renounce_candidacy_members() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1933`
-		//  Estimated: `3418`
-		// Minimum execution time: 41_531_000 picoseconds.
-		Weight::from_parts(42_937_000, 3418)
+		//  Measured:  `1900`
+		//  Estimated: `3385`
+		// Minimum execution time: 50_603_000 picoseconds.
+		Weight::from_parts(51_715_000, 3385)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Elections::RunnersUp` (r:1 w:1)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Elections RunnersUp (r:1 w:1)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
 	fn renounce_candidacy_runners_up() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `880`
 		//  Estimated: `2365`
-		// Minimum execution time: 27_680_000 picoseconds.
-		Weight::from_parts(28_810_000, 2365)
+		// Minimum execution time: 33_441_000 picoseconds.
+		Weight::from_parts(34_812_000, 2365)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Benchmark::Override` (r:0 w:0)
-	/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Benchmark Override (r:0 w:0)
+	/// Proof Skipped: Benchmark Override (max_values: None, max_size: None, mode: Measured)
 	fn remove_member_without_replacement() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
@@ -231,90 +232,87 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Minimum execution time: 2_000_000_000_000 picoseconds.
 		Weight::from_parts(2_000_000_000_000, 0)
 	}
-	/// Storage: `Elections::Members` (r:1 w:1)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:1)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Prime` (r:1 w:1)
-	/// Proof: `Council::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:0)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:0 w:1)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Members (r:1 w:1)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Elections RunnersUp (r:1 w:1)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Prime (r:1 w:1)
+	/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:0)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Members (r:0 w:1)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
 	fn remove_member_with_replacement() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1933`
+		//  Measured:  `1900`
 		//  Estimated: `3593`
-		// Minimum execution time: 45_333_000 picoseconds.
-		Weight::from_parts(46_523_000, 3593)
+		// Minimum execution time: 57_289_000 picoseconds.
+		Weight::from_parts(58_328_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Elections::Voting` (r:257 w:256)
-	/// Proof: `Elections::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:0)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Candidates` (r:1 w:0)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Balances::Locks` (r:256 w:256)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:256 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:256 w:256)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Elections Voting (r:513 w:512)
+	/// Proof Skipped: Elections Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:0)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Candidates (r:1 w:0)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Balances Locks (r:512 w:512)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:512 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: System Account (r:512 w:512)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `v` is `[256, 512]`.
 	/// The range of component `d` is `[0, 256]`.
-	fn clean_defunct_voters(v: u32, d: u32, ) -> Weight {
+	fn clean_defunct_voters(v: u32, _d: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `0 + d * (818 ±0) + v * (57 ±0)`
-		//  Estimated: `24906 + d * (3774 ±1) + v * (24 ±0)`
-		// Minimum execution time: 5_620_000 picoseconds.
-		Weight::from_parts(5_817_000, 24906)
-			// Standard Error: 18_357
-			.saturating_add(Weight::from_parts(106_164, 0).saturating_mul(v.into()))
-			// Standard Error: 39_980
-			.saturating_add(Weight::from_parts(52_456_337, 0).saturating_mul(d.into()))
+		//  Measured:  `1149 + v * (811 ±0)`
+		//  Estimated: `4621 + v * (3774 ±0)`
+		// Minimum execution time: 18_774_231_000 picoseconds.
+		Weight::from_parts(18_933_040_000, 4621)
+			// Standard Error: 301_534
+			.saturating_add(Weight::from_parts(44_306_903, 0).saturating_mul(v.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(d.into())))
-			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(d.into())))
-			.saturating_add(Weight::from_parts(0, 3774).saturating_mul(d.into()))
-			.saturating_add(Weight::from_parts(0, 24).saturating_mul(v.into()))
+			.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(v.into())))
+			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(v.into())))
+			.saturating_add(Weight::from_parts(0, 3774).saturating_mul(v.into()))
 	}
-	/// Storage: `Elections::Candidates` (r:1 w:1)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:1)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:1)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Voting` (r:513 w:0)
-	/// Proof: `Elections::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:0)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:44 w:44)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Elections::ElectionRounds` (r:1 w:1)
-	/// Proof: `Elections::ElectionRounds` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:0 w:1)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Prime` (r:0 w:1)
-	/// Proof: `Council::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Candidates (r:1 w:1)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:1)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:1)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Voting (r:513 w:0)
+	/// Proof Skipped: Elections Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:0)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: System Account (r:44 w:44)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Elections ElectionRounds (r:1 w:1)
+	/// Proof Skipped: Elections ElectionRounds (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Members (r:0 w:1)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Prime (r:0 w:1)
+	/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `c` is `[1, 64]`.
 	/// The range of component `v` is `[1, 512]`.
 	/// The range of component `e` is `[512, 8192]`.
 	fn election_phragmen(c: u32, v: u32, e: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + e * (28 ±0) + v * (606 ±0)`
-		//  Estimated: `178920 + c * (2135 ±7) + e * (12 ±0) + v * (2653 ±6)`
-		// Minimum execution time: 1_082_582_000 picoseconds.
-		Weight::from_parts(1_084_730_000, 178920)
-			// Standard Error: 594_096
-			.saturating_add(Weight::from_parts(19_096_288, 0).saturating_mul(v.into()))
-			// Standard Error: 38_118
-			.saturating_add(Weight::from_parts(792_945, 0).saturating_mul(e.into()))
+		//  Estimated: `178887 + c * (2135 ±7) + e * (12 ±0) + v * (2653 ±6)`
+		// Minimum execution time: 1_281_877_000 picoseconds.
+		Weight::from_parts(1_288_147_000, 178887)
+			// Standard Error: 528_851
+			.saturating_add(Weight::from_parts(17_761_407, 0).saturating_mul(v.into()))
+			// Standard Error: 33_932
+			.saturating_add(Weight::from_parts(698_277, 0).saturating_mul(e.into()))
 			.saturating_add(T::DbWeight::get().reads(21_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(c.into())))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into())))
@@ -326,164 +324,164 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Elections::Candidates` (r:1 w:0)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:0)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Voting` (r:1 w:1)
-	/// Proof: `Elections::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Elections Candidates (r:1 w:0)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:0)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Voting (r:1 w:1)
+	/// Proof Skipped: Elections Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	/// The range of component `v` is `[1, 16]`.
 	fn vote_equal(v: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `403 + v * (80 ±0)`
 		//  Estimated: `4764 + v * (80 ±0)`
-		// Minimum execution time: 29_390_000 picoseconds.
-		Weight::from_parts(30_525_476, 4764)
-			// Standard Error: 3_185
-			.saturating_add(Weight::from_parts(143_073, 0).saturating_mul(v.into()))
+		// Minimum execution time: 33_028_000 picoseconds.
+		Weight::from_parts(34_073_914, 4764)
+			// Standard Error: 3_474
+			.saturating_add(Weight::from_parts(205_252, 0).saturating_mul(v.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into()))
 	}
-	/// Storage: `Elections::Candidates` (r:1 w:0)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:0)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Voting` (r:1 w:1)
-	/// Proof: `Elections::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Elections Candidates (r:1 w:0)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:0)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Voting (r:1 w:1)
+	/// Proof Skipped: Elections Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	/// The range of component `v` is `[2, 16]`.
 	fn vote_more(v: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `371 + v * (80 ±0)`
 		//  Estimated: `4764 + v * (80 ±0)`
-		// Minimum execution time: 39_765_000 picoseconds.
-		Weight::from_parts(41_374_102, 4764)
-			// Standard Error: 4_310
-			.saturating_add(Weight::from_parts(153_015, 0).saturating_mul(v.into()))
+		// Minimum execution time: 45_725_000 picoseconds.
+		Weight::from_parts(47_169_586, 4764)
+			// Standard Error: 5_148
+			.saturating_add(Weight::from_parts(213_742, 0).saturating_mul(v.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into()))
 	}
-	/// Storage: `Elections::Candidates` (r:1 w:0)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:0)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Voting` (r:1 w:1)
-	/// Proof: `Elections::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Elections Candidates (r:1 w:0)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:0)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Voting (r:1 w:1)
+	/// Proof Skipped: Elections Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	/// The range of component `v` is `[2, 16]`.
 	fn vote_less(v: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `403 + v * (80 ±0)`
 		//  Estimated: `4764 + v * (80 ±0)`
-		// Minimum execution time: 39_647_000 picoseconds.
-		Weight::from_parts(41_474_523, 4764)
-			// Standard Error: 5_503
-			.saturating_add(Weight::from_parts(149_029, 0).saturating_mul(v.into()))
+		// Minimum execution time: 45_519_000 picoseconds.
+		Weight::from_parts(47_339_108, 4764)
+			// Standard Error: 5_501
+			.saturating_add(Weight::from_parts(195_247, 0).saturating_mul(v.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 80).saturating_mul(v.into()))
 	}
-	/// Storage: `Elections::Voting` (r:1 w:1)
-	/// Proof: `Elections::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
+	/// Storage: Elections Voting (r:1 w:1)
+	/// Proof Skipped: Elections Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn remove_voter() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `925`
 		//  Estimated: `4764`
-		// Minimum execution time: 41_882_000 picoseconds.
-		Weight::from_parts(42_794_000, 4764)
+		// Minimum execution time: 50_386_000 picoseconds.
+		Weight::from_parts(51_378_000, 4764)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Elections::Candidates` (r:1 w:1)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:0)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Candidates (r:1 w:1)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:0)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `c` is `[1, 64]`.
 	fn submit_candidacy(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `1570 + c * (48 ±0)`
 		//  Estimated: `3055 + c * (48 ±0)`
-		// Minimum execution time: 33_719_000 picoseconds.
-		Weight::from_parts(35_017_073, 3055)
-			// Standard Error: 1_587
-			.saturating_add(Weight::from_parts(121_130, 0).saturating_mul(c.into()))
+		// Minimum execution time: 38_987_000 picoseconds.
+		Weight::from_parts(41_302_276, 3055)
+			// Standard Error: 2_047
+			.saturating_add(Weight::from_parts(125_200, 0).saturating_mul(c.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 48).saturating_mul(c.into()))
 	}
-	/// Storage: `Elections::Candidates` (r:1 w:1)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Candidates (r:1 w:1)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `c` is `[1, 64]`.
 	fn renounce_candidacy_candidate(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `285 + c * (48 ±0)`
 		//  Estimated: `1770 + c * (48 ±0)`
-		// Minimum execution time: 27_263_000 picoseconds.
-		Weight::from_parts(28_215_666, 1770)
-			// Standard Error: 1_196
-			.saturating_add(Weight::from_parts(86_804, 0).saturating_mul(c.into()))
+		// Minimum execution time: 33_510_000 picoseconds.
+		Weight::from_parts(34_947_760, 1770)
+			// Standard Error: 1_781
+			.saturating_add(Weight::from_parts(78_851, 0).saturating_mul(c.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 48).saturating_mul(c.into()))
 	}
-	/// Storage: `Elections::Members` (r:1 w:1)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:1)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Prime` (r:1 w:1)
-	/// Proof: `Council::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:0)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:0 w:1)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Members (r:1 w:1)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:1)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Prime (r:1 w:1)
+	/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:0)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Members (r:0 w:1)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
 	fn renounce_candidacy_members() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1933`
-		//  Estimated: `3418`
-		// Minimum execution time: 41_531_000 picoseconds.
-		Weight::from_parts(42_937_000, 3418)
+		//  Measured:  `1900`
+		//  Estimated: `3385`
+		// Minimum execution time: 50_603_000 picoseconds.
+		Weight::from_parts(51_715_000, 3385)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Elections::RunnersUp` (r:1 w:1)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Elections RunnersUp (r:1 w:1)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
 	fn renounce_candidacy_runners_up() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `880`
 		//  Estimated: `2365`
-		// Minimum execution time: 27_680_000 picoseconds.
-		Weight::from_parts(28_810_000, 2365)
+		// Minimum execution time: 33_441_000 picoseconds.
+		Weight::from_parts(34_812_000, 2365)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Benchmark::Override` (r:0 w:0)
-	/// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Benchmark Override (r:0 w:0)
+	/// Proof Skipped: Benchmark Override (max_values: None, max_size: None, mode: Measured)
 	fn remove_member_without_replacement() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
@@ -491,90 +489,87 @@ impl WeightInfo for () {
 		// Minimum execution time: 2_000_000_000_000 picoseconds.
 		Weight::from_parts(2_000_000_000_000, 0)
 	}
-	/// Storage: `Elections::Members` (r:1 w:1)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:1)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Prime` (r:1 w:1)
-	/// Proof: `Council::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:0)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:0 w:1)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Members (r:1 w:1)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Elections RunnersUp (r:1 w:1)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Prime (r:1 w:1)
+	/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:0)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Members (r:0 w:1)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
 	fn remove_member_with_replacement() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1933`
+		//  Measured:  `1900`
 		//  Estimated: `3593`
-		// Minimum execution time: 45_333_000 picoseconds.
-		Weight::from_parts(46_523_000, 3593)
+		// Minimum execution time: 57_289_000 picoseconds.
+		Weight::from_parts(58_328_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Elections::Voting` (r:257 w:256)
-	/// Proof: `Elections::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:0)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Candidates` (r:1 w:0)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Balances::Locks` (r:256 w:256)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:256 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:256 w:256)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Elections Voting (r:513 w:512)
+	/// Proof Skipped: Elections Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:0)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Candidates (r:1 w:0)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Balances Locks (r:512 w:512)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:512 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: System Account (r:512 w:512)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `v` is `[256, 512]`.
 	/// The range of component `d` is `[0, 256]`.
-	fn clean_defunct_voters(v: u32, d: u32, ) -> Weight {
+	fn clean_defunct_voters(v: u32, _d: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `0 + d * (818 ±0) + v * (57 ±0)`
-		//  Estimated: `24906 + d * (3774 ±1) + v * (24 ±0)`
-		// Minimum execution time: 5_620_000 picoseconds.
-		Weight::from_parts(5_817_000, 24906)
-			// Standard Error: 18_357
-			.saturating_add(Weight::from_parts(106_164, 0).saturating_mul(v.into()))
-			// Standard Error: 39_980
-			.saturating_add(Weight::from_parts(52_456_337, 0).saturating_mul(d.into()))
+		//  Measured:  `1149 + v * (811 ±0)`
+		//  Estimated: `4621 + v * (3774 ±0)`
+		// Minimum execution time: 18_774_231_000 picoseconds.
+		Weight::from_parts(18_933_040_000, 4621)
+			// Standard Error: 301_534
+			.saturating_add(Weight::from_parts(44_306_903, 0).saturating_mul(v.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().reads((4_u64).saturating_mul(d.into())))
-			.saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(d.into())))
-			.saturating_add(Weight::from_parts(0, 3774).saturating_mul(d.into()))
-			.saturating_add(Weight::from_parts(0, 24).saturating_mul(v.into()))
+			.saturating_add(RocksDbWeight::get().reads((4_u64).saturating_mul(v.into())))
+			.saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(v.into())))
+			.saturating_add(Weight::from_parts(0, 3774).saturating_mul(v.into()))
 	}
-	/// Storage: `Elections::Candidates` (r:1 w:1)
-	/// Proof: `Elections::Candidates` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:1)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::RunnersUp` (r:1 w:1)
-	/// Proof: `Elections::RunnersUp` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Voting` (r:513 w:0)
-	/// Proof: `Elections::Voting` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Proposals` (r:1 w:0)
-	/// Proof: `Council::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:44 w:44)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Elections::ElectionRounds` (r:1 w:1)
-	/// Proof: `Elections::ElectionRounds` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Members` (r:0 w:1)
-	/// Proof: `Council::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Council::Prime` (r:0 w:1)
-	/// Proof: `Council::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Candidates (r:1 w:1)
+	/// Proof Skipped: Elections Candidates (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:1)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections RunnersUp (r:1 w:1)
+	/// Proof Skipped: Elections RunnersUp (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Elections Voting (r:513 w:0)
+	/// Proof Skipped: Elections Voting (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Council Proposals (r:1 w:0)
+	/// Proof Skipped: Council Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: System Account (r:44 w:44)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Elections ElectionRounds (r:1 w:1)
+	/// Proof Skipped: Elections ElectionRounds (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Members (r:0 w:1)
+	/// Proof Skipped: Council Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Council Prime (r:0 w:1)
+	/// Proof Skipped: Council Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `c` is `[1, 64]`.
 	/// The range of component `v` is `[1, 512]`.
 	/// The range of component `e` is `[512, 8192]`.
 	fn election_phragmen(c: u32, v: u32, e: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + e * (28 ±0) + v * (606 ±0)`
-		//  Estimated: `178920 + c * (2135 ±7) + e * (12 ±0) + v * (2653 ±6)`
-		// Minimum execution time: 1_082_582_000 picoseconds.
-		Weight::from_parts(1_084_730_000, 178920)
-			// Standard Error: 594_096
-			.saturating_add(Weight::from_parts(19_096_288, 0).saturating_mul(v.into()))
-			// Standard Error: 38_118
-			.saturating_add(Weight::from_parts(792_945, 0).saturating_mul(e.into()))
+		//  Estimated: `178887 + c * (2135 ±7) + e * (12 ±0) + v * (2653 ±6)`
+		// Minimum execution time: 1_281_877_000 picoseconds.
+		Weight::from_parts(1_288_147_000, 178887)
+			// Standard Error: 528_851
+			.saturating_add(Weight::from_parts(17_761_407, 0).saturating_mul(v.into()))
+			// Standard Error: 33_932
+			.saturating_add(Weight::from_parts(698_277, 0).saturating_mul(e.into()))
 			.saturating_add(RocksDbWeight::get().reads(21_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(c.into())))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(v.into())))
diff --git a/substrate/frame/examples/basic/src/lib.rs b/substrate/frame/examples/basic/src/lib.rs
index 94b2f276e00..12cadc969fd 100644
--- a/substrate/frame/examples/basic/src/lib.rs
+++ b/substrate/frame/examples/basic/src/lib.rs
@@ -46,10 +46,9 @@
 //!   use the [`Config::WeightInfo`] trait to calculate call weights. This can also be overridden,
 //!   as demonstrated by [`Call::set_dummy`].
 //! - A private function that performs a storage update.
-//! - A simple transaction extension implementation (see:
-//!   [`sp_runtime::traits::TransactionExtension`]) which increases the priority of the
-//!   [`Call::set_dummy`] if it's present and drops any transaction with an encoded length higher
-//!   than 200 bytes.
+//! - A simple signed extension implementation (see: [`sp_runtime::traits::SignedExtension`]) which
+//!   increases the priority of the [`Call::set_dummy`] if it's present and drops any transaction
+//!   with an encoded length higher than 200 bytes.
 
 // Ensure we're `no_std` when compiling for Wasm.
 #![cfg_attr(not(feature = "std"), no_std)]
@@ -65,12 +64,10 @@ use frame_system::ensure_signed;
 use log::info;
 use scale_info::TypeInfo;
 use sp_runtime::{
-	impl_tx_ext_default,
-	traits::{
-		Bounded, DispatchInfoOf, OriginOf, SaturatedConversion, Saturating, TransactionExtension,
-		TransactionExtensionBase, ValidateResult,
+	traits::{Bounded, DispatchInfoOf, SaturatedConversion, Saturating, SignedExtension},
+	transaction_validity::{
+		InvalidTransaction, TransactionValidity, TransactionValidityError, ValidTransaction,
 	},
-	transaction_validity::{InvalidTransaction, ValidTransaction},
 };
 use sp_std::vec::Vec;
 
@@ -443,8 +440,8 @@ impl<T: Config> Pallet<T> {
 
 // Similar to other FRAME pallets, your pallet can also define a signed extension and perform some
 // checks and [pre/post]processing [before/after] the transaction. A signed extension can be any
-// decodable type that implements `TransactionExtension`. See the trait definition for the full list
-// of bounds. As a convention, you can follow this approach to create an extension for your pallet:
+// decodable type that implements `SignedExtension`. See the trait definition for the full list of
+// bounds. As a convention, you can follow this approach to create an extension for your pallet:
 //   - If the extension does not carry any data, then use a tuple struct with just a `marker`
 //     (needed for the compiler to accept `T: Config`) will suffice.
 //   - Otherwise, create a tuple struct which contains the external data. Of course, for the entire
@@ -458,18 +455,18 @@ impl<T: Config> Pallet<T> {
 //
 // Using the extension, you can add some hooks to the life cycle of each transaction. Note that by
 // default, an extension is applied to all `Call` functions (i.e. all transactions). the `Call` enum
-// variant is given to each function of `TransactionExtension`. Hence, you can filter based on
-// pallet or a particular call if needed.
+// variant is given to each function of `SignedExtension`. Hence, you can filter based on pallet or
+// a particular call if needed.
 //
 // Some extra information, such as encoded length, some static dispatch info like weight and the
 // sender of the transaction (if signed) are also provided.
 //
 // The full list of hooks that can be added to a signed extension can be found
-// [here](https://paritytech.github.io/polkadot-sdk/master/sp_runtime/traits/trait.TransactionExtension.html).
+// [here](https://paritytech.github.io/polkadot-sdk/master/sp_runtime/traits/trait.SignedExtension.html).
 //
 // The signed extensions are aggregated in the runtime file of a substrate chain. All extensions
 // should be aggregated in a tuple and passed to the `CheckedExtrinsic` and `UncheckedExtrinsic`
-// types defined in the runtime. Lookup `pub type TxExtension = (...)` in `node/runtime` and
+// types defined in the runtime. Lookup `pub type SignedExtra = (...)` in `node/runtime` and
 // `node-template` for an example of this.
 
 /// A simple signed extension that checks for the `set_dummy` call. In that case, it increases the
@@ -487,45 +484,52 @@ impl<T: Config + Send + Sync> core::fmt::Debug for WatchDummy<T> {
 	}
 }
 
-impl<T: Config + Send + Sync> TransactionExtensionBase for WatchDummy<T> {
-	const IDENTIFIER: &'static str = "WatchDummy";
-	type Implicit = ();
-}
-impl<T: Config + Send + Sync, Context>
-	TransactionExtension<<T as frame_system::Config>::RuntimeCall, Context> for WatchDummy<T>
+impl<T: Config + Send + Sync> SignedExtension for WatchDummy<T>
 where
 	<T as frame_system::Config>::RuntimeCall: IsSubType<Call<T>>,
 {
+	const IDENTIFIER: &'static str = "WatchDummy";
+	type AccountId = T::AccountId;
+	type Call = <T as frame_system::Config>::RuntimeCall;
+	type AdditionalSigned = ();
 	type Pre = ();
-	type Val = ();
+
+	fn additional_signed(&self) -> core::result::Result<(), TransactionValidityError> {
+		Ok(())
+	}
+
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		self.validate(who, call, info, len).map(|_| ())
+	}
 
 	fn validate(
 		&self,
-		origin: OriginOf<<T as frame_system::Config>::RuntimeCall>,
-		call: &<T as frame_system::Config>::RuntimeCall,
-		_info: &DispatchInfoOf<<T as frame_system::Config>::RuntimeCall>,
+		_who: &Self::AccountId,
+		call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
 		len: usize,
-		_context: &mut Context,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> ValidateResult<Self::Val, <T as frame_system::Config>::RuntimeCall> {
+	) -> TransactionValidity {
 		// if the transaction is too big, just drop it.
 		if len > 200 {
-			return Err(InvalidTransaction::ExhaustsResources.into())
+			return InvalidTransaction::ExhaustsResources.into()
 		}
 
 		// check for `set_dummy`
-		let validity = match call.is_sub_type() {
+		match call.is_sub_type() {
 			Some(Call::set_dummy { .. }) => {
 				sp_runtime::print("set_dummy was received.");
 
 				let valid_tx =
 					ValidTransaction { priority: Bounded::max_value(), ..Default::default() };
-				valid_tx
+				Ok(valid_tx)
 			},
-			_ => Default::default(),
-		};
-		Ok((validity, (), origin))
+			_ => Ok(Default::default()),
+		}
 	}
-	impl_tx_ext_default!(<T as frame_system::Config>::RuntimeCall; Context; prepare);
 }
diff --git a/substrate/frame/examples/basic/src/tests.rs b/substrate/frame/examples/basic/src/tests.rs
index e460ad0992f..207e46e428d 100644
--- a/substrate/frame/examples/basic/src/tests.rs
+++ b/substrate/frame/examples/basic/src/tests.rs
@@ -27,7 +27,7 @@ use sp_core::H256;
 // The testing primitives are very useful for avoiding having to work with signatures
 // or public keys. `u64` is used as the `AccountId` and no `Signature`s are required.
 use sp_runtime::{
-	traits::{BlakeTwo256, DispatchTransaction, IdentityLookup},
+	traits::{BlakeTwo256, IdentityLookup},
 	BuildStorage,
 };
 // Reexport crate as its pallet name for construct_runtime.
@@ -158,16 +158,13 @@ fn signed_ext_watch_dummy_works() {
 
 		assert_eq!(
 			WatchDummy::<Test>(PhantomData)
-				.validate_only(Some(1).into(), &call, &info, 150)
+				.validate(&1, &call, &info, 150)
 				.unwrap()
-				.0
 				.priority,
 			u64::MAX,
 		);
 		assert_eq!(
-			WatchDummy::<Test>(PhantomData)
-				.validate_only(Some(1).into(), &call, &info, 250)
-				.unwrap_err(),
+			WatchDummy::<Test>(PhantomData).validate(&1, &call, &info, 250),
 			InvalidTransaction::ExhaustsResources.into(),
 		);
 	})
diff --git a/substrate/frame/examples/offchain-worker/src/tests.rs b/substrate/frame/examples/offchain-worker/src/tests.rs
index 81f2a40840b..ea37a2da493 100644
--- a/substrate/frame/examples/offchain-worker/src/tests.rs
+++ b/substrate/frame/examples/offchain-worker/src/tests.rs
@@ -30,7 +30,7 @@ use sp_core::{
 
 use sp_keystore::{testing::MemoryKeystore, Keystore, KeystoreExt};
 use sp_runtime::{
-	generic::UncheckedExtrinsic,
+	testing::TestXt,
 	traits::{BlakeTwo256, Extrinsic as ExtrinsicT, IdentifyAccount, IdentityLookup, Verify},
 	RuntimeAppPublic,
 };
@@ -73,7 +73,7 @@ impl frame_system::Config for Test {
 	type MaxConsumers = ConstU32<16>;
 }
 
-type Extrinsic = UncheckedExtrinsic<u64, RuntimeCall, (), ()>;
+type Extrinsic = TestXt<RuntimeCall, ()>;
 type AccountId = <<Signature as Verify>::Signer as IdentifyAccount>::AccountId;
 
 impl frame_system::offchain::SigningTypes for Test {
@@ -99,7 +99,7 @@ where
 		_account: AccountId,
 		nonce: u64,
 	) -> Option<(RuntimeCall, <Extrinsic as ExtrinsicT>::SignaturePayload)> {
-		Some((call, (nonce, (), ())))
+		Some((call, (nonce, ())))
 	}
 }
 
@@ -219,8 +219,8 @@ fn should_submit_signed_transaction_on_chain() {
 		let tx = pool_state.write().transactions.pop().unwrap();
 		assert!(pool_state.read().transactions.is_empty());
 		let tx = Extrinsic::decode(&mut &*tx).unwrap();
-		assert!(matches!(tx.preamble, sp_runtime::generic::Preamble::Signed(0, (), ())));
-		assert_eq!(tx.function, RuntimeCall::Example(crate::Call::submit_price { price: 15523 }));
+		assert_eq!(tx.signature.unwrap().0, 0);
+		assert_eq!(tx.call, RuntimeCall::Example(crate::Call::submit_price { price: 15523 }));
 	});
 }
 
@@ -259,11 +259,11 @@ fn should_submit_unsigned_transaction_on_chain_for_any_account() {
 		// then
 		let tx = pool_state.write().transactions.pop().unwrap();
 		let tx = Extrinsic::decode(&mut &*tx).unwrap();
-		assert!(tx.is_inherent());
+		assert_eq!(tx.signature, None);
 		if let RuntimeCall::Example(crate::Call::submit_price_unsigned_with_signed_payload {
 			price_payload: body,
 			signature,
-		}) = tx.function
+		}) = tx.call
 		{
 			assert_eq!(body, price_payload);
 
@@ -313,11 +313,11 @@ fn should_submit_unsigned_transaction_on_chain_for_all_accounts() {
 		// then
 		let tx = pool_state.write().transactions.pop().unwrap();
 		let tx = Extrinsic::decode(&mut &*tx).unwrap();
-		assert!(tx.is_inherent());
+		assert_eq!(tx.signature, None);
 		if let RuntimeCall::Example(crate::Call::submit_price_unsigned_with_signed_payload {
 			price_payload: body,
 			signature,
-		}) = tx.function
+		}) = tx.call
 		{
 			assert_eq!(body, price_payload);
 
@@ -353,9 +353,9 @@ fn should_submit_raw_unsigned_transaction_on_chain() {
 		let tx = pool_state.write().transactions.pop().unwrap();
 		assert!(pool_state.read().transactions.is_empty());
 		let tx = Extrinsic::decode(&mut &*tx).unwrap();
-		assert!(tx.is_inherent());
+		assert_eq!(tx.signature, None);
 		assert_eq!(
-			tx.function,
+			tx.call,
 			RuntimeCall::Example(crate::Call::submit_price_unsigned {
 				block_number: 1,
 				price: 15523
diff --git a/substrate/frame/examples/tasks/src/weights.rs b/substrate/frame/examples/tasks/src/weights.rs
index c9ddea6f9a8..793af6e9622 100644
--- a/substrate/frame/examples/tasks/src/weights.rs
+++ b/substrate/frame/examples/tasks/src/weights.rs
@@ -15,31 +15,30 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `tasks_example`
+//! Autogenerated weights for `pallet_example_tasks`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-02, STEPS: `20`, REPEAT: `10`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `MacBook.local`, CPU: `<UNKNOWN>`
+//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/release/node-template
 // benchmark
 // pallet
-// --chain=dev
-// --steps=50
-// --repeat=20
-// --pallet=tasks_example
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --wasm-execution=compiled
-// --heap-pages=4096
-// --output=./substrate/frame/examples/tasks/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --chain
+// dev
+// --pallet
+// pallet_example_tasks
+// --extrinsic
+// *
+// --steps
+// 20
+// --repeat
+// 10
+// --output
+// frame/examples/tasks/src/weights.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,42 +48,37 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `tasks_example`.
+/// Weight functions needed for pallet_template.
 pub trait WeightInfo {
 	fn add_number_into_total() -> Weight;
 }
 
-/// Weights for `tasks_example` using the Substrate node and recommended hardware.
+/// Weight functions for `pallet_example_kitchensink`.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `TasksExample::Numbers` (r:1 w:1)
-	/// Proof: `TasksExample::Numbers` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `TasksExample::Total` (r:1 w:1)
-	/// Proof: `TasksExample::Total` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Kitchensink OtherFoo (r:0 w:1)
+	/// Proof Skipped: Kitchensink OtherFoo (max_values: Some(1), max_size: None, mode: Measured)
 	fn add_number_into_total() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `149`
-		//  Estimated: `3614`
-		// Minimum execution time: 5_776_000 picoseconds.
-		Weight::from_parts(6_178_000, 3614)
-			.saturating_add(T::DbWeight::get().reads(2_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 1_000_000 picoseconds.
+		Weight::from_parts(1_000_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 }
 
-// For backwards compatibility and tests.
 impl WeightInfo for () {
-	/// Storage: `TasksExample::Numbers` (r:1 w:1)
-	/// Proof: `TasksExample::Numbers` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `TasksExample::Total` (r:1 w:1)
-	/// Proof: `TasksExample::Total` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: Kitchensink OtherFoo (r:0 w:1)
+	/// Proof Skipped: Kitchensink OtherFoo (max_values: Some(1), max_size: None, mode: Measured)
 	fn add_number_into_total() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `149`
-		//  Estimated: `3614`
-		// Minimum execution time: 5_776_000 picoseconds.
-		Weight::from_parts(6_178_000, 3614)
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 1_000_000 picoseconds.
+		Weight::from_parts(1_000_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(RocksDbWeight::get().writes(1))
 	}
 }
diff --git a/substrate/frame/executive/src/tests.rs b/substrate/frame/executive/src/tests.rs
index a3f70a9fc3c..70b55f6e855 100644
--- a/substrate/frame/executive/src/tests.rs
+++ b/substrate/frame/executive/src/tests.rs
@@ -327,42 +327,10 @@ impl frame_system::Config for Runtime {
 
 type Balance = u64;
 
-pub struct BalancesWeights;
-impl pallet_balances::WeightInfo for BalancesWeights {
-	fn transfer_allow_death() -> Weight {
-		Weight::from_parts(25, 0)
-	}
-	fn transfer_keep_alive() -> Weight {
-		Weight::zero()
-	}
-	fn force_set_balance_creating() -> Weight {
-		Weight::zero()
-	}
-	fn force_set_balance_killing() -> Weight {
-		Weight::zero()
-	}
-	fn force_transfer() -> Weight {
-		Weight::zero()
-	}
-	fn transfer_all() -> Weight {
-		Weight::zero()
-	}
-	fn force_unreserve() -> Weight {
-		Weight::zero()
-	}
-	fn upgrade_accounts(_u: u32) -> Weight {
-		Weight::zero()
-	}
-	fn force_adjust_total_issuance() -> Weight {
-		Weight::zero()
-	}
-}
-
 #[derive_impl(pallet_balances::config_preludes::TestDefaultConfig as pallet_balances::DefaultConfig)]
 impl pallet_balances::Config for Runtime {
 	type Balance = Balance;
 	type AccountStore = System;
-	type WeightInfo = BalancesWeights;
 }
 
 parameter_types! {
@@ -375,7 +343,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type WeightToFee = IdentityFee<Balance>;
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = ();
-	type WeightInfo = ();
 }
 
 impl custom::Config for Runtime {}
@@ -388,46 +355,19 @@ impl frame_support::traits::Get<sp_version::RuntimeVersion> for RuntimeVersion {
 	}
 }
 
-#[derive(Clone, Debug, Encode, codec::Decode, PartialEq, Eq, scale_info::TypeInfo)]
-pub struct AccountU64(u64);
-impl sp_runtime::traits::IdentifyAccount for AccountU64 {
-	type AccountId = u64;
-	fn into_account(self) -> u64 {
-		self.0
-	}
-}
-
-impl sp_runtime::traits::Verify for AccountU64 {
-	type Signer = AccountU64;
-	fn verify<L: sp_runtime::traits::Lazy<[u8]>>(
-		&self,
-		_msg: L,
-		_signer: &<Self::Signer as sp_runtime::traits::IdentifyAccount>::AccountId,
-	) -> bool {
-		true
-	}
-}
-
-impl From<u64> for AccountU64 {
-	fn from(value: u64) -> Self {
-		Self(value)
-	}
-}
-
 parameter_types! {
 	pub static RuntimeVersionTestValues: sp_version::RuntimeVersion =
 		Default::default();
 }
 
-type TxExtension = (
+type SignedExtra = (
 	frame_system::CheckEra<Runtime>,
 	frame_system::CheckNonce<Runtime>,
 	frame_system::CheckWeight<Runtime>,
 	pallet_transaction_payment::ChargeTransactionPayment<Runtime>,
 );
-type UncheckedXt =
-	sp_runtime::generic::UncheckedExtrinsic<u64, RuntimeCall, AccountU64, TxExtension>;
-type TestBlock = Block<UncheckedXt>;
+type TestXt = sp_runtime::testing::TestXt<RuntimeCall, SignedExtra>;
+type TestBlock = Block<TestXt>;
 
 // Will contain `true` when the custom runtime logic was called.
 const CUSTOM_ON_RUNTIME_KEY: &[u8] = b":custom:on_runtime";
@@ -447,7 +387,7 @@ impl OnRuntimeUpgrade for CustomOnRuntimeUpgrade {
 
 type Executive = super::Executive<
 	Runtime,
-	Block<UncheckedXt>,
+	Block<TestXt>,
 	ChainContext<Runtime>,
 	Runtime,
 	AllPalletsWithSystem,
@@ -522,14 +462,17 @@ impl MultiStepMigrator for MockedModeGetter {
 	}
 }
 
-fn tx_ext(nonce: u64, fee: Balance) -> TxExtension {
+fn extra(nonce: u64, fee: Balance) -> SignedExtra {
 	(
 		frame_system::CheckEra::from(Era::Immortal),
 		frame_system::CheckNonce::from(nonce),
 		frame_system::CheckWeight::new(),
 		pallet_transaction_payment::ChargeTransactionPayment::from(fee),
 	)
-		.into()
+}
+
+fn sign_extra(who: u64, nonce: u64, fee: Balance) -> Option<(u64, SignedExtra)> {
+	Some((who, extra(nonce, fee)))
 }
 
 fn call_transfer(dest: u64, value: u64) -> RuntimeCall {
@@ -542,7 +485,7 @@ fn balance_transfer_dispatch_works() {
 	pallet_balances::GenesisConfig::<Runtime> { balances: vec![(1, 211)] }
 		.assimilate_storage(&mut t)
 		.unwrap();
-	let xt = UncheckedXt::new_signed(call_transfer(2, 69), 1, 1.into(), tx_ext(0, 0));
+	let xt = TestXt::new(call_transfer(2, 69), sign_extra(1, 0, 0));
 	let weight = xt.get_dispatch_info().weight +
 		<Runtime as frame_system::Config>::BlockWeights::get()
 			.get(DispatchClass::Normal)
@@ -653,7 +596,7 @@ fn block_import_of_bad_extrinsic_root_fails() {
 fn bad_extrinsic_not_inserted() {
 	let mut t = new_test_ext(1);
 	// bad nonce check!
-	let xt = UncheckedXt::new_signed(call_transfer(33, 69), 1, 1.into(), tx_ext(30, 0));
+	let xt = TestXt::new(call_transfer(33, 69), sign_extra(1, 30, 0));
 	t.execute_with(|| {
 		Executive::initialize_block(&Header::new_from_number(1));
 		assert_err!(
@@ -667,24 +610,27 @@ fn bad_extrinsic_not_inserted() {
 #[test]
 fn block_weight_limit_enforced() {
 	let mut t = new_test_ext(10000);
-	let transfer_weight =
-			<<Runtime as pallet_balances::Config>::WeightInfo as pallet_balances::WeightInfo>::transfer_allow_death();
+	// given: TestXt uses the encoded len as fixed Len:
+	let xt = TestXt::new(
+		RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 33, value: 0 }),
+		sign_extra(1, 0, 0),
+	);
+	let encoded = xt.encode();
+	let encoded_len = encoded.len() as u64;
 	// on_initialize weight + base block execution weight
 	let block_weights = <Runtime as frame_system::Config>::BlockWeights::get();
 	let base_block_weight = Weight::from_parts(175, 0) + block_weights.base_block;
 	let limit = block_weights.get(DispatchClass::Normal).max_total.unwrap() - base_block_weight;
-	let num_to_exhaust_block = limit.ref_time() / (transfer_weight.ref_time() + 5);
+	let num_to_exhaust_block = limit.ref_time() / (encoded_len + 5);
 	t.execute_with(|| {
 		Executive::initialize_block(&Header::new_from_number(1));
 		// Base block execution weight + `on_initialize` weight from the custom module.
 		assert_eq!(<frame_system::Pallet<Runtime>>::block_weight().total(), base_block_weight);
 
 		for nonce in 0..=num_to_exhaust_block {
-			let xt = UncheckedXt::new_signed(
+			let xt = TestXt::new(
 				RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 33, value: 0 }),
-				1,
-				1.into(),
-				tx_ext(nonce.into(), 0),
+				sign_extra(1, nonce.into(), 0),
 			);
 			let res = Executive::apply_extrinsic(xt);
 			if nonce != num_to_exhaust_block {
@@ -692,8 +638,7 @@ fn block_weight_limit_enforced() {
 				assert_eq!(
 					<frame_system::Pallet<Runtime>>::block_weight().total(),
 					//--------------------- on_initialize + block_execution + extrinsic_base weight
-					Weight::from_parts((transfer_weight.ref_time() + 5) * (nonce + 1), 0) +
-						base_block_weight,
+					Weight::from_parts((encoded_len + 5) * (nonce + 1), 0) + base_block_weight,
 				);
 				assert_eq!(
 					<frame_system::Pallet<Runtime>>::extrinsic_index(),
@@ -708,26 +653,19 @@ fn block_weight_limit_enforced() {
 
 #[test]
 fn block_weight_and_size_is_stored_per_tx() {
-	let xt = UncheckedXt::new_signed(
+	let xt = TestXt::new(
 		RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 33, value: 0 }),
-		1,
-		1.into(),
-		tx_ext(0, 0),
+		sign_extra(1, 0, 0),
 	);
-	let x1 = UncheckedXt::new_signed(
+	let x1 = TestXt::new(
 		RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 33, value: 0 }),
-		1,
-		1.into(),
-		tx_ext(1, 0),
+		sign_extra(1, 1, 0),
 	);
-	let x2 = UncheckedXt::new_signed(
+	let x2 = TestXt::new(
 		RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 33, value: 0 }),
-		1,
-		1.into(),
-		tx_ext(2, 0),
+		sign_extra(1, 2, 0),
 	);
 	let len = xt.clone().encode().len() as u32;
-	let transfer_weight = <<Runtime as pallet_balances::Config>::WeightInfo as pallet_balances::WeightInfo>::transfer_allow_death();
 	let mut t = new_test_ext(1);
 	t.execute_with(|| {
 		// Block execution weight + on_initialize weight from custom module
@@ -743,7 +681,8 @@ fn block_weight_and_size_is_stored_per_tx() {
 		assert!(Executive::apply_extrinsic(x1.clone()).unwrap().is_ok());
 		assert!(Executive::apply_extrinsic(x2.clone()).unwrap().is_ok());
 
-		let extrinsic_weight = transfer_weight +
+		// default weight for `TestXt` == encoded length.
+		let extrinsic_weight = Weight::from_parts(len as u64, 0) +
 			<Runtime as frame_system::Config>::BlockWeights::get()
 				.get(DispatchClass::Normal)
 				.base_extrinsic;
@@ -768,8 +707,8 @@ fn block_weight_and_size_is_stored_per_tx() {
 
 #[test]
 fn validate_unsigned() {
-	let valid = UncheckedXt::new_bare(RuntimeCall::Custom(custom::Call::allowed_unsigned {}));
-	let invalid = UncheckedXt::new_bare(RuntimeCall::Custom(custom::Call::unallowed_unsigned {}));
+	let valid = TestXt::new(RuntimeCall::Custom(custom::Call::allowed_unsigned {}), None);
+	let invalid = TestXt::new(RuntimeCall::Custom(custom::Call::unallowed_unsigned {}), None);
 	let mut t = new_test_ext(1);
 
 	t.execute_with(|| {
@@ -806,11 +745,9 @@ fn can_not_pay_for_tx_fee_on_full_lock() {
 	t.execute_with(|| {
 		<pallet_balances::Pallet<Runtime> as fungible::MutateFreeze<u64>>::set_freeze(&(), &1, 110)
 			.unwrap();
-		let xt = UncheckedXt::new_signed(
+		let xt = TestXt::new(
 			RuntimeCall::System(frame_system::Call::remark { remark: vec![1u8] }),
-			1,
-			1.into(),
-			tx_ext(0, 0),
+			sign_extra(1, 0, 0),
 		);
 		Executive::initialize_block(&Header::new_from_number(1));
 
@@ -935,11 +872,9 @@ fn event_from_runtime_upgrade_is_included() {
 /// used through the `ExecuteBlock` trait.
 #[test]
 fn custom_runtime_upgrade_is_called_when_using_execute_block_trait() {
-	let xt = UncheckedXt::new_signed(
+	let xt = TestXt::new(
 		RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 33, value: 0 }),
-		1,
-		1.into(),
-		tx_ext(0, 0),
+		sign_extra(1, 0, 0),
 	);
 
 	let header = new_test_ext(1).execute_with(|| {
@@ -967,10 +902,7 @@ fn custom_runtime_upgrade_is_called_when_using_execute_block_trait() {
 			*v = sp_version::RuntimeVersion { spec_version: 1, ..Default::default() }
 		});
 
-		<Executive as ExecuteBlock<Block<UncheckedXt>>>::execute_block(Block::new(
-			header,
-			vec![xt],
-		));
+		<Executive as ExecuteBlock<Block<TestXt>>>::execute_block(Block::new(header, vec![xt]));
 
 		assert_eq!(&sp_io::storage::get(TEST_KEY).unwrap()[..], *b"module");
 		assert_eq!(sp_io::storage::get(CUSTOM_ON_RUNTIME_KEY).unwrap(), true.encode());
@@ -1036,7 +968,7 @@ fn offchain_worker_works_as_expected() {
 #[test]
 fn calculating_storage_root_twice_works() {
 	let call = RuntimeCall::Custom(custom::Call::calculate_storage_root {});
-	let xt = UncheckedXt::new_signed(call, 1, 1.into(), tx_ext(0, 0));
+	let xt = TestXt::new(call, sign_extra(1, 0, 0));
 
 	let header = new_test_ext(1).execute_with(|| {
 		// Let's build some fake block.
@@ -1055,13 +987,11 @@ fn calculating_storage_root_twice_works() {
 #[test]
 #[should_panic(expected = "Invalid inherent position for extrinsic at index 1")]
 fn invalid_inherent_position_fail() {
-	let xt1 = UncheckedXt::new_signed(
+	let xt1 = TestXt::new(
 		RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 33, value: 0 }),
-		1,
-		1.into(),
-		tx_ext(0, 0),
+		sign_extra(1, 0, 0),
 	);
-	let xt2 = UncheckedXt::new_bare(RuntimeCall::Custom(custom::Call::inherent {}));
+	let xt2 = TestXt::new(RuntimeCall::Custom(custom::Call::inherent {}), None);
 
 	let header = new_test_ext(1).execute_with(|| {
 		// Let's build some fake block.
@@ -1080,8 +1010,8 @@ fn invalid_inherent_position_fail() {
 
 #[test]
 fn valid_inherents_position_works() {
-	let xt1 = UncheckedXt::new_bare(RuntimeCall::Custom(custom::Call::inherent {}));
-	let xt2 = UncheckedXt::new_signed(call_transfer(33, 0), 1, 1.into(), tx_ext(0, 0));
+	let xt1 = TestXt::new(RuntimeCall::Custom(custom::Call::inherent {}), None);
+	let xt2 = TestXt::new(call_transfer(33, 0), sign_extra(1, 0, 0));
 
 	let header = new_test_ext(1).execute_with(|| {
 		// Let's build some fake block.
@@ -1101,12 +1031,7 @@ fn valid_inherents_position_works() {
 #[test]
 #[should_panic(expected = "A call was labelled as mandatory, but resulted in an Error.")]
 fn invalid_inherents_fail_block_execution() {
-	let xt1 = UncheckedXt::new_signed(
-		RuntimeCall::Custom(custom::Call::inherent {}),
-		1,
-		1.into(),
-		tx_ext(0, 0),
-	);
+	let xt1 = TestXt::new(RuntimeCall::Custom(custom::Call::inherent {}), sign_extra(1, 0, 0));
 
 	new_test_ext(1).execute_with(|| {
 		Executive::execute_block(Block::new(
@@ -1119,7 +1044,7 @@ fn invalid_inherents_fail_block_execution() {
 // Inherents are created by the runtime and don't need to be validated.
 #[test]
 fn inherents_fail_validate_block() {
-	let xt1 = UncheckedXt::new_bare(RuntimeCall::Custom(custom::Call::inherent {}));
+	let xt1 = TestXt::new(RuntimeCall::Custom(custom::Call::inherent {}), None);
 
 	new_test_ext(1).execute_with(|| {
 		assert_eq!(
@@ -1133,7 +1058,7 @@ fn inherents_fail_validate_block() {
 /// Inherents still work while `initialize_block` forbids transactions.
 #[test]
 fn inherents_ok_while_exts_forbidden_works() {
-	let xt1 = UncheckedXt::new_bare(RuntimeCall::Custom(custom::Call::inherent {}));
+	let xt1 = TestXt::new(RuntimeCall::Custom(custom::Call::inherent {}), None);
 
 	let header = new_test_ext(1).execute_with(|| {
 		Executive::initialize_block(&Header::new_from_number(1));
@@ -1153,8 +1078,8 @@ fn inherents_ok_while_exts_forbidden_works() {
 #[test]
 #[should_panic = "Only inherents are allowed in this block"]
 fn transactions_in_only_inherents_block_errors() {
-	let xt1 = UncheckedXt::new_bare(RuntimeCall::Custom(custom::Call::inherent {}));
-	let xt2 = UncheckedXt::new_signed(call_transfer(33, 0), 1, 1.into(), tx_ext(0, 0));
+	let xt1 = TestXt::new(RuntimeCall::Custom(custom::Call::inherent {}), None);
+	let xt2 = TestXt::new(call_transfer(33, 0), sign_extra(1, 0, 0));
 
 	let header = new_test_ext(1).execute_with(|| {
 		Executive::initialize_block(&Header::new_from_number(1));
@@ -1174,8 +1099,8 @@ fn transactions_in_only_inherents_block_errors() {
 /// Same as above but no error.
 #[test]
 fn transactions_in_normal_block_works() {
-	let xt1 = UncheckedXt::new_bare(RuntimeCall::Custom(custom::Call::inherent {}));
-	let xt2 = UncheckedXt::new_signed(call_transfer(33, 0), 1, 1.into(), tx_ext(0, 0));
+	let xt1 = TestXt::new(RuntimeCall::Custom(custom::Call::inherent {}), None);
+	let xt2 = TestXt::new(call_transfer(33, 0), sign_extra(1, 0, 0));
 
 	let header = new_test_ext(1).execute_with(|| {
 		Executive::initialize_block(&Header::new_from_number(1));
@@ -1195,8 +1120,8 @@ fn transactions_in_normal_block_works() {
 #[test]
 #[cfg(feature = "try-runtime")]
 fn try_execute_block_works() {
-	let xt1 = UncheckedXt::new_bare(RuntimeCall::Custom(custom::Call::inherent {}));
-	let xt2 = UncheckedXt::new_signed(call_transfer(33, 0), 1, 1.into(), tx_ext(0, 0));
+	let xt1 = TestXt::new(RuntimeCall::Custom(custom::Call::inherent {}), None);
+	let xt2 = TestXt::new(call_transfer(33, 0), sign_extra(1, 0, 0));
 
 	let header = new_test_ext(1).execute_with(|| {
 		Executive::initialize_block(&Header::new_from_number(1));
@@ -1223,8 +1148,8 @@ fn try_execute_block_works() {
 #[cfg(feature = "try-runtime")]
 #[should_panic = "Only inherents allowed"]
 fn try_execute_tx_forbidden_errors() {
-	let xt1 = UncheckedXt::new_bare(RuntimeCall::Custom(custom::Call::inherent {}));
-	let xt2 = UncheckedXt::new_signed(call_transfer(33, 0), 1, 1.into(), tx_ext(0, 0));
+	let xt1 = TestXt::new(RuntimeCall::Custom(custom::Call::inherent {}), None);
+	let xt2 = TestXt::new(call_transfer(33, 0), sign_extra(1, 0, 0));
 
 	let header = new_test_ext(1).execute_with(|| {
 		// Let's build some fake block.
@@ -1251,9 +1176,9 @@ fn try_execute_tx_forbidden_errors() {
 /// Check that `ensure_inherents_are_first` reports the correct indices.
 #[test]
 fn ensure_inherents_are_first_works() {
-	let in1 = UncheckedXt::new_bare(RuntimeCall::Custom(custom::Call::inherent {}));
-	let in2 = UncheckedXt::new_bare(RuntimeCall::Custom2(custom2::Call::inherent {}));
-	let xt2 = UncheckedXt::new_signed(call_transfer(33, 0), 1, 1.into(), tx_ext(0, 0));
+	let in1 = TestXt::new(RuntimeCall::Custom(custom::Call::inherent {}), None);
+	let in2 = TestXt::new(RuntimeCall::Custom2(custom2::Call::inherent {}), None);
+	let xt2 = TestXt::new(call_transfer(33, 0), sign_extra(1, 0, 0));
 
 	// Mocked empty header:
 	let header = new_test_ext(1).execute_with(|| {
@@ -1331,20 +1256,18 @@ fn callbacks_in_block_execution_works_inner(mbms_active: bool) {
 
 			for i in 0..n_in {
 				let xt = if i % 2 == 0 {
-					UncheckedXt::new_bare(RuntimeCall::Custom(custom::Call::inherent {}))
+					TestXt::new(RuntimeCall::Custom(custom::Call::inherent {}), None)
 				} else {
-					UncheckedXt::new_bare(RuntimeCall::Custom2(custom2::Call::optional_inherent {}))
+					TestXt::new(RuntimeCall::Custom2(custom2::Call::optional_inherent {}), None)
 				};
 				Executive::apply_extrinsic(xt.clone()).unwrap().unwrap();
 				extrinsics.push(xt);
 			}
 
 			for t in 0..n_tx {
-				let xt = UncheckedXt::new_signed(
+				let xt = TestXt::new(
 					RuntimeCall::Custom2(custom2::Call::some_call {}),
-					1,
-					1.into(),
-					tx_ext(t as u64, 0),
+					sign_extra(1, t as u64, 0),
 				);
 				// Extrinsics can be applied even when MBMs are active. Only the `execute_block`
 				// will reject it.
@@ -1384,13 +1307,8 @@ fn callbacks_in_block_execution_works_inner(mbms_active: bool) {
 
 #[test]
 fn post_inherent_called_after_all_inherents() {
-	let in1 = UncheckedXt::new_bare(RuntimeCall::Custom2(custom2::Call::inherent {}));
-	let xt1 = UncheckedXt::new_signed(
-		RuntimeCall::Custom2(custom2::Call::some_call {}),
-		1,
-		1.into(),
-		tx_ext(0, 0),
-	);
+	let in1 = TestXt::new(RuntimeCall::Custom2(custom2::Call::inherent {}), None);
+	let xt1 = TestXt::new(RuntimeCall::Custom2(custom2::Call::some_call {}), sign_extra(1, 0, 0));
 
 	let header = new_test_ext(1).execute_with(|| {
 		// Let's build some fake block.
@@ -1424,13 +1342,8 @@ fn post_inherent_called_after_all_inherents() {
 /// Regression test for AppSec finding #40.
 #[test]
 fn post_inherent_called_after_all_optional_inherents() {
-	let in1 = UncheckedXt::new_bare(RuntimeCall::Custom2(custom2::Call::optional_inherent {}));
-	let xt1 = UncheckedXt::new_signed(
-		RuntimeCall::Custom2(custom2::Call::some_call {}),
-		1,
-		1.into(),
-		tx_ext(0, 0),
-	);
+	let in1 = TestXt::new(RuntimeCall::Custom2(custom2::Call::optional_inherent {}), None);
+	let xt1 = TestXt::new(RuntimeCall::Custom2(custom2::Call::some_call {}), sign_extra(1, 0, 0));
 
 	let header = new_test_ext(1).execute_with(|| {
 		// Let's build some fake block.
@@ -1463,14 +1376,14 @@ fn post_inherent_called_after_all_optional_inherents() {
 
 #[test]
 fn is_inherent_works() {
-	let ext = UncheckedXt::new_bare(RuntimeCall::Custom2(custom2::Call::inherent {}));
+	let ext = TestXt::new(RuntimeCall::Custom2(custom2::Call::inherent {}), None);
 	assert!(Runtime::is_inherent(&ext));
-	let ext = UncheckedXt::new_bare(RuntimeCall::Custom2(custom2::Call::optional_inherent {}));
+	let ext = TestXt::new(RuntimeCall::Custom2(custom2::Call::optional_inherent {}), None);
 	assert!(Runtime::is_inherent(&ext));
 
-	let ext = UncheckedXt::new_signed(call_transfer(33, 0), 1, 1.into(), tx_ext(0, 0));
+	let ext = TestXt::new(call_transfer(33, 0), sign_extra(1, 0, 0));
 	assert!(!Runtime::is_inherent(&ext));
 
-	let ext = UncheckedXt::new_bare(RuntimeCall::Custom2(custom2::Call::allowed_unsigned {}));
+	let ext = TestXt::new(RuntimeCall::Custom2(custom2::Call::allowed_unsigned {}), None);
 	assert!(!Runtime::is_inherent(&ext), "Unsigned ext are not automatically inherents");
 }
diff --git a/substrate/frame/fast-unstake/src/weights.rs b/substrate/frame/fast-unstake/src/weights.rs
index d783ba921bf..9c25a409f74 100644
--- a/substrate/frame/fast-unstake/src/weights.rs
+++ b/substrate/frame/fast-unstake/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_fast_unstake`
+//! Autogenerated weights for pallet_fast_unstake
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/fast-unstake/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/fast-unstake/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_fast_unstake`.
+/// Weight functions needed for pallet_fast_unstake.
 pub trait WeightInfo {
 	fn on_idle_unstake(b: u32, ) -> Weight;
 	fn on_idle_check(v: u32, b: u32, ) -> Weight;
@@ -58,305 +59,301 @@ pub trait WeightInfo {
 	fn control() -> Weight;
 }
 
-/// Weights for `pallet_fast_unstake` using the Substrate node and recommended hardware.
+/// Weights for pallet_fast_unstake using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `FastUnstake::ErasToCheckPerBlock` (r:1 w:0)
-	/// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::ValidatorCount` (r:1 w:0)
-	/// Proof: `Staking::ValidatorCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::Head` (r:1 w:1)
-	/// Proof: `FastUnstake::Head` (`max_values`: Some(1), `max_size`: Some(5768), added: 6263, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::CounterForQueue` (r:1 w:0)
-	/// Proof: `FastUnstake::CounterForQueue` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Staking::CurrentEra` (r:1 w:0)
-	/// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::SlashingSpans` (r:64 w:0)
-	/// Proof: `Staking::SlashingSpans` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Staking::Bonded` (r:64 w:64)
-	/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Ledger` (r:64 w:64)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:64 w:64)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:64 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:64 w:64)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Validators` (r:64 w:0)
-	/// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Nominators` (r:64 w:0)
-	/// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Payee` (r:0 w:64)
-	/// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0)
+	/// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking ValidatorCount (r:1 w:0)
+	/// Proof: Staking ValidatorCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: FastUnstake Head (r:1 w:1)
+	/// Proof: FastUnstake Head (max_values: Some(1), max_size: Some(5768), added: 6263, mode: MaxEncodedLen)
+	/// Storage: FastUnstake CounterForQueue (r:1 w:0)
+	/// Proof: FastUnstake CounterForQueue (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Staking CurrentEra (r:1 w:0)
+	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking SlashingSpans (r:64 w:0)
+	/// Proof Skipped: Staking SlashingSpans (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Staking Bonded (r:64 w:64)
+	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
+	/// Storage: Staking Validators (r:64 w:0)
+	/// Proof: Staking Validators (max_values: None, max_size: Some(45), added: 2520, mode: MaxEncodedLen)
+	/// Storage: Staking Nominators (r:64 w:0)
+	/// Proof: Staking Nominators (max_values: None, max_size: Some(558), added: 3033, mode: MaxEncodedLen)
+	/// Storage: System Account (r:64 w:64)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:64 w:64)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:64 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: Staking Ledger (r:0 w:64)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: Staking Payee (r:0 w:64)
+	/// Proof: Staking Payee (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
 	/// The range of component `b` is `[1, 64]`.
 	fn on_idle_unstake(b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1475 + b * (452 ±0)`
+		//  Measured:  `1378 + b * (343 ±0)`
 		//  Estimated: `7253 + b * (3774 ±0)`
-		// Minimum execution time: 89_005_000 picoseconds.
-		Weight::from_parts(50_257_055, 7253)
-			// Standard Error: 68_836
-			.saturating_add(Weight::from_parts(57_329_950, 0).saturating_mul(b.into()))
+		// Minimum execution time: 92_847_000 picoseconds.
+		Weight::from_parts(42_300_813, 7253)
+			// Standard Error: 40_514
+			.saturating_add(Weight::from_parts(58_412_402, 0).saturating_mul(b.into()))
 			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().reads((8_u64).saturating_mul(b.into())))
+			.saturating_add(T::DbWeight::get().reads((7_u64).saturating_mul(b.into())))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(b.into())))
 			.saturating_add(Weight::from_parts(0, 3774).saturating_mul(b.into()))
 	}
-	/// Storage: `FastUnstake::ErasToCheckPerBlock` (r:1 w:0)
-	/// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::ValidatorCount` (r:1 w:0)
-	/// Proof: `Staking::ValidatorCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::Head` (r:1 w:1)
-	/// Proof: `FastUnstake::Head` (`max_values`: Some(1), `max_size`: Some(5768), added: 6263, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::CounterForQueue` (r:1 w:0)
-	/// Proof: `FastUnstake::CounterForQueue` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Staking::CurrentEra` (r:1 w:0)
-	/// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::ErasStakers` (r:1 w:0)
-	/// Proof: `Staking::ErasStakers` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Staking::ErasStakersPaged` (r:257 w:0)
-	/// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0)
+	/// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking ValidatorCount (r:1 w:0)
+	/// Proof: Staking ValidatorCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: FastUnstake Head (r:1 w:1)
+	/// Proof: FastUnstake Head (max_values: Some(1), max_size: Some(5768), added: 6263, mode: MaxEncodedLen)
+	/// Storage: FastUnstake CounterForQueue (r:1 w:0)
+	/// Proof: FastUnstake CounterForQueue (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Staking CurrentEra (r:1 w:0)
+	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking ErasStakers (r:257 w:0)
+	/// Proof Skipped: Staking ErasStakers (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `v` is `[1, 256]`.
 	/// The range of component `b` is `[1, 64]`.
 	fn on_idle_check(v: u32, b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1879 + b * (55 ±0) + v * (10055 ±0)`
-		//  Estimated: `7253 + b * (56 ±0) + v * (12531 ±0)`
-		// Minimum execution time: 1_737_131_000 picoseconds.
-		Weight::from_parts(1_746_770_000, 7253)
-			// Standard Error: 13_401_143
-			.saturating_add(Weight::from_parts(426_946_450, 0).saturating_mul(v.into()))
-			// Standard Error: 53_619_501
-			.saturating_add(Weight::from_parts(1_664_681_508, 0).saturating_mul(b.into()))
-			.saturating_add(T::DbWeight::get().reads(8_u64))
+		//  Measured:  `1546 + b * (48 ±0) + v * (10037 ±0)`
+		//  Estimated: `7253 + b * (49 ±0) + v * (12513 ±0)`
+		// Minimum execution time: 1_685_784_000 picoseconds.
+		Weight::from_parts(1_693_370_000, 7253)
+			// Standard Error: 13_295_842
+			.saturating_add(Weight::from_parts(425_349_148, 0).saturating_mul(v.into()))
+			// Standard Error: 53_198_180
+			.saturating_add(Weight::from_parts(1_673_328_444, 0).saturating_mul(b.into()))
+			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into())))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
-			.saturating_add(Weight::from_parts(0, 56).saturating_mul(b.into()))
-			.saturating_add(Weight::from_parts(0, 12531).saturating_mul(v.into()))
+			.saturating_add(Weight::from_parts(0, 49).saturating_mul(b.into()))
+			.saturating_add(Weight::from_parts(0, 12513).saturating_mul(v.into()))
 	}
-	/// Storage: `FastUnstake::ErasToCheckPerBlock` (r:1 w:0)
-	/// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Ledger` (r:1 w:1)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::Queue` (r:1 w:1)
-	/// Proof: `FastUnstake::Queue` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::Head` (r:1 w:0)
-	/// Proof: `FastUnstake::Head` (`max_values`: Some(1), `max_size`: Some(5768), added: 6263, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Bonded` (r:1 w:0)
-	/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Validators` (r:1 w:0)
-	/// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Nominators` (r:1 w:1)
-	/// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::CounterForNominators` (r:1 w:1)
-	/// Proof: `Staking::CounterForNominators` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListNodes` (r:1 w:1)
-	/// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListBags` (r:1 w:1)
-	/// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::CounterForListNodes` (r:1 w:1)
-	/// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::CurrentEra` (r:1 w:0)
-	/// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::CounterForQueue` (r:1 w:1)
-	/// Proof: `FastUnstake::CounterForQueue` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+	/// Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0)
+	/// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking Ledger (r:1 w:1)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: FastUnstake Queue (r:1 w:1)
+	/// Proof: FastUnstake Queue (max_values: None, max_size: Some(56), added: 2531, mode: MaxEncodedLen)
+	/// Storage: FastUnstake Head (r:1 w:0)
+	/// Proof: FastUnstake Head (max_values: Some(1), max_size: Some(5768), added: 6263, mode: MaxEncodedLen)
+	/// Storage: Staking Bonded (r:1 w:0)
+	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
+	/// Storage: Staking Validators (r:1 w:0)
+	/// Proof: Staking Validators (max_values: None, max_size: Some(45), added: 2520, mode: MaxEncodedLen)
+	/// Storage: Staking Nominators (r:1 w:1)
+	/// Proof: Staking Nominators (max_values: None, max_size: Some(558), added: 3033, mode: MaxEncodedLen)
+	/// Storage: Staking CounterForNominators (r:1 w:1)
+	/// Proof: Staking CounterForNominators (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: VoterList ListNodes (r:1 w:1)
+	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
+	/// Storage: VoterList ListBags (r:1 w:1)
+	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
+	/// Storage: VoterList CounterForListNodes (r:1 w:1)
+	/// Proof: VoterList CounterForListNodes (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking CurrentEra (r:1 w:0)
+	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: FastUnstake CounterForQueue (r:1 w:1)
+	/// Proof: FastUnstake CounterForQueue (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn register_fast_unstake() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1955`
+		//  Measured:  `1964`
 		//  Estimated: `7253`
-		// Minimum execution time: 112_632_000 picoseconds.
-		Weight::from_parts(117_267_000, 7253)
+		// Minimum execution time: 125_512_000 picoseconds.
+		Weight::from_parts(129_562_000, 7253)
 			.saturating_add(T::DbWeight::get().reads(15_u64))
 			.saturating_add(T::DbWeight::get().writes(9_u64))
 	}
-	/// Storage: `FastUnstake::ErasToCheckPerBlock` (r:1 w:0)
-	/// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Ledger` (r:1 w:0)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::Queue` (r:1 w:1)
-	/// Proof: `FastUnstake::Queue` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::Head` (r:1 w:0)
-	/// Proof: `FastUnstake::Head` (`max_values`: Some(1), `max_size`: Some(5768), added: 6263, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::CounterForQueue` (r:1 w:1)
-	/// Proof: `FastUnstake::CounterForQueue` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+	/// Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0)
+	/// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking Ledger (r:1 w:0)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: FastUnstake Queue (r:1 w:1)
+	/// Proof: FastUnstake Queue (max_values: None, max_size: Some(56), added: 2531, mode: MaxEncodedLen)
+	/// Storage: FastUnstake Head (r:1 w:0)
+	/// Proof: FastUnstake Head (max_values: Some(1), max_size: Some(5768), added: 6263, mode: MaxEncodedLen)
+	/// Storage: FastUnstake CounterForQueue (r:1 w:1)
+	/// Proof: FastUnstake CounterForQueue (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn deregister() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1251`
+		//  Measured:  `1223`
 		//  Estimated: `7253`
-		// Minimum execution time: 39_253_000 picoseconds.
-		Weight::from_parts(40_053_000, 7253)
+		// Minimum execution time: 43_943_000 picoseconds.
+		Weight::from_parts(45_842_000, 7253)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `FastUnstake::ErasToCheckPerBlock` (r:0 w:1)
-	/// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+	/// Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1)
+	/// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn control() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_386_000 picoseconds.
-		Weight::from_parts(2_508_000, 0)
+		// Minimum execution time: 2_677_000 picoseconds.
+		Weight::from_parts(2_849_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `FastUnstake::ErasToCheckPerBlock` (r:1 w:0)
-	/// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::ValidatorCount` (r:1 w:0)
-	/// Proof: `Staking::ValidatorCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::Head` (r:1 w:1)
-	/// Proof: `FastUnstake::Head` (`max_values`: Some(1), `max_size`: Some(5768), added: 6263, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::CounterForQueue` (r:1 w:0)
-	/// Proof: `FastUnstake::CounterForQueue` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Staking::CurrentEra` (r:1 w:0)
-	/// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::SlashingSpans` (r:64 w:0)
-	/// Proof: `Staking::SlashingSpans` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Staking::Bonded` (r:64 w:64)
-	/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Ledger` (r:64 w:64)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:64 w:64)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:64 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:64 w:64)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Validators` (r:64 w:0)
-	/// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Nominators` (r:64 w:0)
-	/// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Payee` (r:0 w:64)
-	/// Proof: `Staking::Payee` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0)
+	/// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking ValidatorCount (r:1 w:0)
+	/// Proof: Staking ValidatorCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: FastUnstake Head (r:1 w:1)
+	/// Proof: FastUnstake Head (max_values: Some(1), max_size: Some(5768), added: 6263, mode: MaxEncodedLen)
+	/// Storage: FastUnstake CounterForQueue (r:1 w:0)
+	/// Proof: FastUnstake CounterForQueue (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Staking CurrentEra (r:1 w:0)
+	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking SlashingSpans (r:64 w:0)
+	/// Proof Skipped: Staking SlashingSpans (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Staking Bonded (r:64 w:64)
+	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
+	/// Storage: Staking Validators (r:64 w:0)
+	/// Proof: Staking Validators (max_values: None, max_size: Some(45), added: 2520, mode: MaxEncodedLen)
+	/// Storage: Staking Nominators (r:64 w:0)
+	/// Proof: Staking Nominators (max_values: None, max_size: Some(558), added: 3033, mode: MaxEncodedLen)
+	/// Storage: System Account (r:64 w:64)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:64 w:64)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:64 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: Staking Ledger (r:0 w:64)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: Staking Payee (r:0 w:64)
+	/// Proof: Staking Payee (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
 	/// The range of component `b` is `[1, 64]`.
 	fn on_idle_unstake(b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1475 + b * (452 ±0)`
+		//  Measured:  `1378 + b * (343 ±0)`
 		//  Estimated: `7253 + b * (3774 ±0)`
-		// Minimum execution time: 89_005_000 picoseconds.
-		Weight::from_parts(50_257_055, 7253)
-			// Standard Error: 68_836
-			.saturating_add(Weight::from_parts(57_329_950, 0).saturating_mul(b.into()))
+		// Minimum execution time: 92_847_000 picoseconds.
+		Weight::from_parts(42_300_813, 7253)
+			// Standard Error: 40_514
+			.saturating_add(Weight::from_parts(58_412_402, 0).saturating_mul(b.into()))
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().reads((8_u64).saturating_mul(b.into())))
+			.saturating_add(RocksDbWeight::get().reads((7_u64).saturating_mul(b.into())))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(RocksDbWeight::get().writes((5_u64).saturating_mul(b.into())))
 			.saturating_add(Weight::from_parts(0, 3774).saturating_mul(b.into()))
 	}
-	/// Storage: `FastUnstake::ErasToCheckPerBlock` (r:1 w:0)
-	/// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::ValidatorCount` (r:1 w:0)
-	/// Proof: `Staking::ValidatorCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::Head` (r:1 w:1)
-	/// Proof: `FastUnstake::Head` (`max_values`: Some(1), `max_size`: Some(5768), added: 6263, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::CounterForQueue` (r:1 w:0)
-	/// Proof: `FastUnstake::CounterForQueue` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `ElectionProviderMultiPhase::CurrentPhase` (r:1 w:0)
-	/// Proof: `ElectionProviderMultiPhase::CurrentPhase` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Staking::CurrentEra` (r:1 w:0)
-	/// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::ErasStakers` (r:1 w:0)
-	/// Proof: `Staking::ErasStakers` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Staking::ErasStakersPaged` (r:257 w:0)
-	/// Proof: `Staking::ErasStakersPaged` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0)
+	/// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking ValidatorCount (r:1 w:0)
+	/// Proof: Staking ValidatorCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: FastUnstake Head (r:1 w:1)
+	/// Proof: FastUnstake Head (max_values: Some(1), max_size: Some(5768), added: 6263, mode: MaxEncodedLen)
+	/// Storage: FastUnstake CounterForQueue (r:1 w:0)
+	/// Proof: FastUnstake CounterForQueue (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: ElectionProviderMultiPhase CurrentPhase (r:1 w:0)
+	/// Proof Skipped: ElectionProviderMultiPhase CurrentPhase (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Staking CurrentEra (r:1 w:0)
+	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking ErasStakers (r:257 w:0)
+	/// Proof Skipped: Staking ErasStakers (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `v` is `[1, 256]`.
 	/// The range of component `b` is `[1, 64]`.
 	fn on_idle_check(v: u32, b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1879 + b * (55 ±0) + v * (10055 ±0)`
-		//  Estimated: `7253 + b * (56 ±0) + v * (12531 ±0)`
-		// Minimum execution time: 1_737_131_000 picoseconds.
-		Weight::from_parts(1_746_770_000, 7253)
-			// Standard Error: 13_401_143
-			.saturating_add(Weight::from_parts(426_946_450, 0).saturating_mul(v.into()))
-			// Standard Error: 53_619_501
-			.saturating_add(Weight::from_parts(1_664_681_508, 0).saturating_mul(b.into()))
-			.saturating_add(RocksDbWeight::get().reads(8_u64))
+		//  Measured:  `1546 + b * (48 ±0) + v * (10037 ±0)`
+		//  Estimated: `7253 + b * (49 ±0) + v * (12513 ±0)`
+		// Minimum execution time: 1_685_784_000 picoseconds.
+		Weight::from_parts(1_693_370_000, 7253)
+			// Standard Error: 13_295_842
+			.saturating_add(Weight::from_parts(425_349_148, 0).saturating_mul(v.into()))
+			// Standard Error: 53_198_180
+			.saturating_add(Weight::from_parts(1_673_328_444, 0).saturating_mul(b.into()))
+			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(v.into())))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
-			.saturating_add(Weight::from_parts(0, 56).saturating_mul(b.into()))
-			.saturating_add(Weight::from_parts(0, 12531).saturating_mul(v.into()))
+			.saturating_add(Weight::from_parts(0, 49).saturating_mul(b.into()))
+			.saturating_add(Weight::from_parts(0, 12513).saturating_mul(v.into()))
 	}
-	/// Storage: `FastUnstake::ErasToCheckPerBlock` (r:1 w:0)
-	/// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Ledger` (r:1 w:1)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::Queue` (r:1 w:1)
-	/// Proof: `FastUnstake::Queue` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::Head` (r:1 w:0)
-	/// Proof: `FastUnstake::Head` (`max_values`: Some(1), `max_size`: Some(5768), added: 6263, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Bonded` (r:1 w:0)
-	/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Validators` (r:1 w:0)
-	/// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Nominators` (r:1 w:1)
-	/// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::CounterForNominators` (r:1 w:1)
-	/// Proof: `Staking::CounterForNominators` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListNodes` (r:1 w:1)
-	/// Proof: `VoterList::ListNodes` (`max_values`: None, `max_size`: Some(154), added: 2629, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::ListBags` (r:1 w:1)
-	/// Proof: `VoterList::ListBags` (`max_values`: None, `max_size`: Some(82), added: 2557, mode: `MaxEncodedLen`)
-	/// Storage: `VoterList::CounterForListNodes` (r:1 w:1)
-	/// Proof: `VoterList::CounterForListNodes` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::CurrentEra` (r:1 w:0)
-	/// Proof: `Staking::CurrentEra` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Locks` (r:1 w:1)
-	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Freezes` (r:1 w:0)
-	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::CounterForQueue` (r:1 w:1)
-	/// Proof: `FastUnstake::CounterForQueue` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+	/// Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0)
+	/// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking Ledger (r:1 w:1)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: FastUnstake Queue (r:1 w:1)
+	/// Proof: FastUnstake Queue (max_values: None, max_size: Some(56), added: 2531, mode: MaxEncodedLen)
+	/// Storage: FastUnstake Head (r:1 w:0)
+	/// Proof: FastUnstake Head (max_values: Some(1), max_size: Some(5768), added: 6263, mode: MaxEncodedLen)
+	/// Storage: Staking Bonded (r:1 w:0)
+	/// Proof: Staking Bonded (max_values: None, max_size: Some(72), added: 2547, mode: MaxEncodedLen)
+	/// Storage: Staking Validators (r:1 w:0)
+	/// Proof: Staking Validators (max_values: None, max_size: Some(45), added: 2520, mode: MaxEncodedLen)
+	/// Storage: Staking Nominators (r:1 w:1)
+	/// Proof: Staking Nominators (max_values: None, max_size: Some(558), added: 3033, mode: MaxEncodedLen)
+	/// Storage: Staking CounterForNominators (r:1 w:1)
+	/// Proof: Staking CounterForNominators (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: VoterList ListNodes (r:1 w:1)
+	/// Proof: VoterList ListNodes (max_values: None, max_size: Some(154), added: 2629, mode: MaxEncodedLen)
+	/// Storage: VoterList ListBags (r:1 w:1)
+	/// Proof: VoterList ListBags (max_values: None, max_size: Some(82), added: 2557, mode: MaxEncodedLen)
+	/// Storage: VoterList CounterForListNodes (r:1 w:1)
+	/// Proof: VoterList CounterForListNodes (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking CurrentEra (r:1 w:0)
+	/// Proof: Staking CurrentEra (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Balances Locks (r:1 w:1)
+	/// Proof: Balances Locks (max_values: None, max_size: Some(1299), added: 3774, mode: MaxEncodedLen)
+	/// Storage: Balances Freezes (r:1 w:0)
+	/// Proof: Balances Freezes (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: FastUnstake CounterForQueue (r:1 w:1)
+	/// Proof: FastUnstake CounterForQueue (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn register_fast_unstake() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1955`
+		//  Measured:  `1964`
 		//  Estimated: `7253`
-		// Minimum execution time: 112_632_000 picoseconds.
-		Weight::from_parts(117_267_000, 7253)
+		// Minimum execution time: 125_512_000 picoseconds.
+		Weight::from_parts(129_562_000, 7253)
 			.saturating_add(RocksDbWeight::get().reads(15_u64))
 			.saturating_add(RocksDbWeight::get().writes(9_u64))
 	}
-	/// Storage: `FastUnstake::ErasToCheckPerBlock` (r:1 w:0)
-	/// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::Ledger` (r:1 w:0)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::Queue` (r:1 w:1)
-	/// Proof: `FastUnstake::Queue` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::Head` (r:1 w:0)
-	/// Proof: `FastUnstake::Head` (`max_values`: Some(1), `max_size`: Some(5768), added: 6263, mode: `MaxEncodedLen`)
-	/// Storage: `FastUnstake::CounterForQueue` (r:1 w:1)
-	/// Proof: `FastUnstake::CounterForQueue` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+	/// Storage: FastUnstake ErasToCheckPerBlock (r:1 w:0)
+	/// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Staking Ledger (r:1 w:0)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: FastUnstake Queue (r:1 w:1)
+	/// Proof: FastUnstake Queue (max_values: None, max_size: Some(56), added: 2531, mode: MaxEncodedLen)
+	/// Storage: FastUnstake Head (r:1 w:0)
+	/// Proof: FastUnstake Head (max_values: Some(1), max_size: Some(5768), added: 6263, mode: MaxEncodedLen)
+	/// Storage: FastUnstake CounterForQueue (r:1 w:1)
+	/// Proof: FastUnstake CounterForQueue (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn deregister() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1251`
+		//  Measured:  `1223`
 		//  Estimated: `7253`
-		// Minimum execution time: 39_253_000 picoseconds.
-		Weight::from_parts(40_053_000, 7253)
+		// Minimum execution time: 43_943_000 picoseconds.
+		Weight::from_parts(45_842_000, 7253)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `FastUnstake::ErasToCheckPerBlock` (r:0 w:1)
-	/// Proof: `FastUnstake::ErasToCheckPerBlock` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+	/// Storage: FastUnstake ErasToCheckPerBlock (r:0 w:1)
+	/// Proof: FastUnstake ErasToCheckPerBlock (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn control() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_386_000 picoseconds.
-		Weight::from_parts(2_508_000, 0)
+		// Minimum execution time: 2_677_000 picoseconds.
+		Weight::from_parts(2_849_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 }
diff --git a/substrate/frame/glutton/src/weights.rs b/substrate/frame/glutton/src/weights.rs
index b2e28dc488a..cbc0fb022f5 100644
--- a/substrate/frame/glutton/src/weights.rs
+++ b/substrate/frame/glutton/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_glutton`
+//! Autogenerated weights for pallet_glutton
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/glutton/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/glutton/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_glutton`.
+/// Weight functions needed for pallet_glutton.
 pub trait WeightInfo {
 	fn initialize_pallet_grow(n: u32, ) -> Weight;
 	fn initialize_pallet_shrink(n: u32, ) -> Weight;
@@ -62,39 +63,39 @@ pub trait WeightInfo {
 	fn set_storage() -> Weight;
 }
 
-/// Weights for `pallet_glutton` using the Substrate node and recommended hardware.
+/// Weights for pallet_glutton using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Glutton::TrashDataCount` (r:1 w:1)
-	/// Proof: `Glutton::TrashDataCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::TrashData` (r:0 w:1000)
-	/// Proof: `Glutton::TrashData` (`max_values`: Some(65000), `max_size`: Some(1036), added: 3016, mode: `MaxEncodedLen`)
+	/// Storage: Glutton TrashDataCount (r:1 w:1)
+	/// Proof: Glutton TrashDataCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Glutton TrashData (r:0 w:1000)
+	/// Proof: Glutton TrashData (max_values: Some(65000), max_size: Some(1036), added: 3016, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 1000]`.
 	fn initialize_pallet_grow(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `86`
 		//  Estimated: `1489`
-		// Minimum execution time: 8_443_000 picoseconds.
-		Weight::from_parts(103_698_651, 1489)
-			// Standard Error: 21_777
-			.saturating_add(Weight::from_parts(9_529_476, 0).saturating_mul(n.into()))
+		// Minimum execution time: 11_488_000 picoseconds.
+		Weight::from_parts(93_073_710, 1489)
+			// Standard Error: 22_390
+			.saturating_add(Weight::from_parts(9_572_012, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
 	}
-	/// Storage: `Glutton::TrashDataCount` (r:1 w:1)
-	/// Proof: `Glutton::TrashDataCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::TrashData` (r:0 w:1000)
-	/// Proof: `Glutton::TrashData` (`max_values`: Some(65000), `max_size`: Some(1036), added: 3016, mode: `MaxEncodedLen`)
+	/// Storage: Glutton TrashDataCount (r:1 w:1)
+	/// Proof: Glutton TrashDataCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Glutton TrashData (r:0 w:1000)
+	/// Proof: Glutton TrashData (max_values: Some(65000), max_size: Some(1036), added: 3016, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 1000]`.
 	fn initialize_pallet_shrink(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `119`
 		//  Estimated: `1489`
-		// Minimum execution time: 8_343_000 picoseconds.
-		Weight::from_parts(304_498, 1489)
-			// Standard Error: 1_568
-			.saturating_add(Weight::from_parts(1_146_553, 0).saturating_mul(n.into()))
+		// Minimum execution time: 11_378_000 picoseconds.
+		Weight::from_parts(5_591_508, 1489)
+			// Standard Error: 1_592
+			.saturating_add(Weight::from_parts(1_163_758, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
@@ -104,119 +105,119 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 656_000 picoseconds.
-		Weight::from_parts(1_875_128, 0)
-			// Standard Error: 8
-			.saturating_add(Weight::from_parts(103_381, 0).saturating_mul(i.into()))
+		// Minimum execution time: 669_000 picoseconds.
+		Weight::from_parts(990_745, 0)
+			// Standard Error: 10
+			.saturating_add(Weight::from_parts(105_224, 0).saturating_mul(i.into()))
 	}
-	/// Storage: `Glutton::TrashData` (r:5000 w:0)
-	/// Proof: `Glutton::TrashData` (`max_values`: Some(65000), `max_size`: Some(1036), added: 3016, mode: `MaxEncodedLen`)
+	/// Storage: Glutton TrashData (r:5000 w:0)
+	/// Proof: Glutton TrashData (max_values: Some(65000), max_size: Some(1036), added: 3016, mode: MaxEncodedLen)
 	/// The range of component `i` is `[0, 5000]`.
 	fn waste_proof_size_some(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `119114 + i * (1022 ±0)`
 		//  Estimated: `990 + i * (3016 ±0)`
-		// Minimum execution time: 454_000 picoseconds.
-		Weight::from_parts(521_000, 990)
-			// Standard Error: 1_940
-			.saturating_add(Weight::from_parts(5_729_831, 0).saturating_mul(i.into()))
+		// Minimum execution time: 435_000 picoseconds.
+		Weight::from_parts(66_547_542, 990)
+			// Standard Error: 4_557
+			.saturating_add(Weight::from_parts(5_851_324, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(Weight::from_parts(0, 3016).saturating_mul(i.into()))
 	}
-	/// Storage: `Glutton::Storage` (r:1 w:0)
-	/// Proof: `Glutton::Storage` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::Compute` (r:1 w:0)
-	/// Proof: `Glutton::Compute` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::TrashData` (r:1737 w:0)
-	/// Proof: `Glutton::TrashData` (`max_values`: Some(65000), `max_size`: Some(1036), added: 3016, mode: `MaxEncodedLen`)
+	/// Storage: Glutton Storage (r:1 w:0)
+	/// Proof: Glutton Storage (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Glutton Compute (r:1 w:0)
+	/// Proof: Glutton Compute (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Glutton TrashData (r:1737 w:0)
+	/// Proof: Glutton TrashData (max_values: Some(65000), max_size: Some(1036), added: 3016, mode: MaxEncodedLen)
 	fn on_idle_high_proof_waste() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `1900497`
 		//  Estimated: `5239782`
-		// Minimum execution time: 55_403_909_000 picoseconds.
-		Weight::from_parts(55_472_412_000, 5239782)
+		// Minimum execution time: 67_699_845_000 picoseconds.
+		Weight::from_parts(67_893_204_000, 5239782)
 			.saturating_add(T::DbWeight::get().reads(1739_u64))
 	}
-	/// Storage: `Glutton::Storage` (r:1 w:0)
-	/// Proof: `Glutton::Storage` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::Compute` (r:1 w:0)
-	/// Proof: `Glutton::Compute` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::TrashData` (r:5 w:0)
-	/// Proof: `Glutton::TrashData` (`max_values`: Some(65000), `max_size`: Some(1036), added: 3016, mode: `MaxEncodedLen`)
+	/// Storage: Glutton Storage (r:1 w:0)
+	/// Proof: Glutton Storage (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Glutton Compute (r:1 w:0)
+	/// Proof: Glutton Compute (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Glutton TrashData (r:5 w:0)
+	/// Proof: Glutton TrashData (max_values: Some(65000), max_size: Some(1036), added: 3016, mode: MaxEncodedLen)
 	fn on_idle_low_proof_waste() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `9547`
 		//  Estimated: `16070`
-		// Minimum execution time: 97_959_007_000 picoseconds.
-		Weight::from_parts(98_030_476_000, 16070)
+		// Minimum execution time: 122_297_527_000 picoseconds.
+		Weight::from_parts(122_394_818_000, 16070)
 			.saturating_add(T::DbWeight::get().reads(7_u64))
 	}
-	/// Storage: `Glutton::Storage` (r:1 w:0)
-	/// Proof: `Glutton::Storage` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::Compute` (r:1 w:0)
-	/// Proof: `Glutton::Compute` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
+	/// Storage: Glutton Storage (r:1 w:0)
+	/// Proof: Glutton Storage (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Glutton Compute (r:1 w:0)
+	/// Proof: Glutton Compute (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
 	fn empty_on_idle() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `86`
 		//  Estimated: `1493`
-		// Minimum execution time: 5_011_000 picoseconds.
-		Weight::from_parts(5_183_000, 1493)
+		// Minimum execution time: 5_882_000 picoseconds.
+		Weight::from_parts(6_138_000, 1493)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 	}
-	/// Storage: `Glutton::Compute` (r:0 w:1)
-	/// Proof: `Glutton::Compute` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
+	/// Storage: Glutton Compute (r:0 w:1)
+	/// Proof: Glutton Compute (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
 	fn set_compute() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_591_000 picoseconds.
-		Weight::from_parts(5_970_000, 0)
+		// Minimum execution time: 7_830_000 picoseconds.
+		Weight::from_parts(8_366_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Glutton::Storage` (r:0 w:1)
-	/// Proof: `Glutton::Storage` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
+	/// Storage: Glutton Storage (r:0 w:1)
+	/// Proof: Glutton Storage (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
 	fn set_storage() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_689_000 picoseconds.
-		Weight::from_parts(6_038_000, 0)
+		// Minimum execution time: 7_933_000 picoseconds.
+		Weight::from_parts(8_213_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Glutton::TrashDataCount` (r:1 w:1)
-	/// Proof: `Glutton::TrashDataCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::TrashData` (r:0 w:1000)
-	/// Proof: `Glutton::TrashData` (`max_values`: Some(65000), `max_size`: Some(1036), added: 3016, mode: `MaxEncodedLen`)
+	/// Storage: Glutton TrashDataCount (r:1 w:1)
+	/// Proof: Glutton TrashDataCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Glutton TrashData (r:0 w:1000)
+	/// Proof: Glutton TrashData (max_values: Some(65000), max_size: Some(1036), added: 3016, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 1000]`.
 	fn initialize_pallet_grow(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `86`
 		//  Estimated: `1489`
-		// Minimum execution time: 8_443_000 picoseconds.
-		Weight::from_parts(103_698_651, 1489)
-			// Standard Error: 21_777
-			.saturating_add(Weight::from_parts(9_529_476, 0).saturating_mul(n.into()))
+		// Minimum execution time: 11_488_000 picoseconds.
+		Weight::from_parts(93_073_710, 1489)
+			// Standard Error: 22_390
+			.saturating_add(Weight::from_parts(9_572_012, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
 	}
-	/// Storage: `Glutton::TrashDataCount` (r:1 w:1)
-	/// Proof: `Glutton::TrashDataCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::TrashData` (r:0 w:1000)
-	/// Proof: `Glutton::TrashData` (`max_values`: Some(65000), `max_size`: Some(1036), added: 3016, mode: `MaxEncodedLen`)
+	/// Storage: Glutton TrashDataCount (r:1 w:1)
+	/// Proof: Glutton TrashDataCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Glutton TrashData (r:0 w:1000)
+	/// Proof: Glutton TrashData (max_values: Some(65000), max_size: Some(1036), added: 3016, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 1000]`.
 	fn initialize_pallet_shrink(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `119`
 		//  Estimated: `1489`
-		// Minimum execution time: 8_343_000 picoseconds.
-		Weight::from_parts(304_498, 1489)
-			// Standard Error: 1_568
-			.saturating_add(Weight::from_parts(1_146_553, 0).saturating_mul(n.into()))
+		// Minimum execution time: 11_378_000 picoseconds.
+		Weight::from_parts(5_591_508, 1489)
+			// Standard Error: 1_592
+			.saturating_add(Weight::from_parts(1_163_758, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
@@ -226,83 +227,83 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 656_000 picoseconds.
-		Weight::from_parts(1_875_128, 0)
-			// Standard Error: 8
-			.saturating_add(Weight::from_parts(103_381, 0).saturating_mul(i.into()))
+		// Minimum execution time: 669_000 picoseconds.
+		Weight::from_parts(990_745, 0)
+			// Standard Error: 10
+			.saturating_add(Weight::from_parts(105_224, 0).saturating_mul(i.into()))
 	}
-	/// Storage: `Glutton::TrashData` (r:5000 w:0)
-	/// Proof: `Glutton::TrashData` (`max_values`: Some(65000), `max_size`: Some(1036), added: 3016, mode: `MaxEncodedLen`)
+	/// Storage: Glutton TrashData (r:5000 w:0)
+	/// Proof: Glutton TrashData (max_values: Some(65000), max_size: Some(1036), added: 3016, mode: MaxEncodedLen)
 	/// The range of component `i` is `[0, 5000]`.
 	fn waste_proof_size_some(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `119114 + i * (1022 ±0)`
 		//  Estimated: `990 + i * (3016 ±0)`
-		// Minimum execution time: 454_000 picoseconds.
-		Weight::from_parts(521_000, 990)
-			// Standard Error: 1_940
-			.saturating_add(Weight::from_parts(5_729_831, 0).saturating_mul(i.into()))
+		// Minimum execution time: 435_000 picoseconds.
+		Weight::from_parts(66_547_542, 990)
+			// Standard Error: 4_557
+			.saturating_add(Weight::from_parts(5_851_324, 0).saturating_mul(i.into()))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(Weight::from_parts(0, 3016).saturating_mul(i.into()))
 	}
-	/// Storage: `Glutton::Storage` (r:1 w:0)
-	/// Proof: `Glutton::Storage` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::Compute` (r:1 w:0)
-	/// Proof: `Glutton::Compute` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::TrashData` (r:1737 w:0)
-	/// Proof: `Glutton::TrashData` (`max_values`: Some(65000), `max_size`: Some(1036), added: 3016, mode: `MaxEncodedLen`)
+	/// Storage: Glutton Storage (r:1 w:0)
+	/// Proof: Glutton Storage (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Glutton Compute (r:1 w:0)
+	/// Proof: Glutton Compute (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Glutton TrashData (r:1737 w:0)
+	/// Proof: Glutton TrashData (max_values: Some(65000), max_size: Some(1036), added: 3016, mode: MaxEncodedLen)
 	fn on_idle_high_proof_waste() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `1900497`
 		//  Estimated: `5239782`
-		// Minimum execution time: 55_403_909_000 picoseconds.
-		Weight::from_parts(55_472_412_000, 5239782)
+		// Minimum execution time: 67_699_845_000 picoseconds.
+		Weight::from_parts(67_893_204_000, 5239782)
 			.saturating_add(RocksDbWeight::get().reads(1739_u64))
 	}
-	/// Storage: `Glutton::Storage` (r:1 w:0)
-	/// Proof: `Glutton::Storage` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::Compute` (r:1 w:0)
-	/// Proof: `Glutton::Compute` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::TrashData` (r:5 w:0)
-	/// Proof: `Glutton::TrashData` (`max_values`: Some(65000), `max_size`: Some(1036), added: 3016, mode: `MaxEncodedLen`)
+	/// Storage: Glutton Storage (r:1 w:0)
+	/// Proof: Glutton Storage (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Glutton Compute (r:1 w:0)
+	/// Proof: Glutton Compute (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Glutton TrashData (r:5 w:0)
+	/// Proof: Glutton TrashData (max_values: Some(65000), max_size: Some(1036), added: 3016, mode: MaxEncodedLen)
 	fn on_idle_low_proof_waste() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `9547`
 		//  Estimated: `16070`
-		// Minimum execution time: 97_959_007_000 picoseconds.
-		Weight::from_parts(98_030_476_000, 16070)
+		// Minimum execution time: 122_297_527_000 picoseconds.
+		Weight::from_parts(122_394_818_000, 16070)
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
 	}
-	/// Storage: `Glutton::Storage` (r:1 w:0)
-	/// Proof: `Glutton::Storage` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Glutton::Compute` (r:1 w:0)
-	/// Proof: `Glutton::Compute` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
+	/// Storage: Glutton Storage (r:1 w:0)
+	/// Proof: Glutton Storage (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Glutton Compute (r:1 w:0)
+	/// Proof: Glutton Compute (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
 	fn empty_on_idle() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `86`
 		//  Estimated: `1493`
-		// Minimum execution time: 5_011_000 picoseconds.
-		Weight::from_parts(5_183_000, 1493)
+		// Minimum execution time: 5_882_000 picoseconds.
+		Weight::from_parts(6_138_000, 1493)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 	}
-	/// Storage: `Glutton::Compute` (r:0 w:1)
-	/// Proof: `Glutton::Compute` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
+	/// Storage: Glutton Compute (r:0 w:1)
+	/// Proof: Glutton Compute (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
 	fn set_compute() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_591_000 picoseconds.
-		Weight::from_parts(5_970_000, 0)
+		// Minimum execution time: 7_830_000 picoseconds.
+		Weight::from_parts(8_366_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Glutton::Storage` (r:0 w:1)
-	/// Proof: `Glutton::Storage` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
+	/// Storage: Glutton Storage (r:0 w:1)
+	/// Proof: Glutton Storage (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
 	fn set_storage() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_689_000 picoseconds.
-		Weight::from_parts(6_038_000, 0)
+		// Minimum execution time: 7_933_000 picoseconds.
+		Weight::from_parts(8_213_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 }
diff --git a/substrate/frame/grandpa/src/mock.rs b/substrate/frame/grandpa/src/mock.rs
index e1be487dbb7..5d48f974c31 100644
--- a/substrate/frame/grandpa/src/mock.rs
+++ b/substrate/frame/grandpa/src/mock.rs
@@ -35,8 +35,11 @@ use sp_consensus_grandpa::{RoundNumber, SetId, GRANDPA_ENGINE_ID};
 use sp_core::{crypto::KeyTypeId, H256};
 use sp_keyring::Ed25519Keyring;
 use sp_runtime::{
-	curve::PiecewiseLinear, generic::UncheckedExtrinsic, impl_opaque_keys,
-	testing::UintAuthorityId, traits::OpaqueKeys, BuildStorage, DigestItem, Perbill,
+	curve::PiecewiseLinear,
+	impl_opaque_keys,
+	testing::{TestXt, UintAuthorityId},
+	traits::OpaqueKeys,
+	BuildStorage, DigestItem, Perbill,
 };
 use sp_staking::{EraIndex, SessionIndex};
 
@@ -74,7 +77,7 @@ where
 	RuntimeCall: From<C>,
 {
 	type OverarchingCall = RuntimeCall;
-	type Extrinsic = UncheckedExtrinsic<u64, RuntimeCall, (), ()>;
+	type Extrinsic = TestXt<RuntimeCall, ()>;
 }
 
 parameter_types! {
diff --git a/substrate/frame/identity/src/weights.rs b/substrate/frame/identity/src/weights.rs
index 81de520d7f2..1feb8252c84 100644
--- a/substrate/frame/identity/src/weights.rs
+++ b/substrate/frame/identity/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_identity`
+//! Autogenerated weights for pallet_identity
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/identity/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/identity/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_identity`.
+/// Weight functions needed for pallet_identity.
 pub trait WeightInfo {
 	fn add_registrar(r: u32, ) -> Weight;
 	fn set_identity(r: u32, ) -> Weight;
@@ -76,274 +77,278 @@ pub trait WeightInfo {
 	fn remove_dangling_username() -> Weight;
 }
 
-/// Weights for `pallet_identity` using the Substrate node and recommended hardware.
+/// Weights for pallet_identity using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Identity::Registrars` (r:1 w:1)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:1)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn add_registrar(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `32 + r * (57 ±0)`
 		//  Estimated: `2626`
-		// Minimum execution time: 8_857_000 picoseconds.
-		Weight::from_parts(9_331_464, 2626)
-			// Standard Error: 1_745
-			.saturating_add(Weight::from_parts(94_096, 0).saturating_mul(r.into()))
+		// Minimum execution time: 11_683_000 picoseconds.
+		Weight::from_parts(12_515_830, 2626)
+			// Standard Error: 2_154
+			.saturating_add(Weight::from_parts(147_919, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
-	fn set_identity(_r: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `6978 + r * (5 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 96_522_000 picoseconds.
-		Weight::from_parts(102_738_605, 11037)
+	fn set_identity(r: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `442 + r * (5 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 32_949_000 picoseconds.
+		Weight::from_parts(31_329_634, 11003)
+			// Standard Error: 4_496
+			.saturating_add(Weight::from_parts(203_570, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:100 w:100)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:100 w:100)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `s` is `[0, 100]`.
 	fn set_subs_new(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `101`
-		//  Estimated: `11037 + s * (2589 ±0)`
-		// Minimum execution time: 9_112_000 picoseconds.
-		Weight::from_parts(22_676_873, 11037)
-			// Standard Error: 6_494
-			.saturating_add(Weight::from_parts(3_279_196, 0).saturating_mul(s.into()))
+		//  Estimated: `11003 + s * (2589 ±0)`
+		// Minimum execution time: 9_157_000 picoseconds.
+		Weight::from_parts(24_917_444, 11003)
+			// Standard Error: 4_554
+			.saturating_add(Weight::from_parts(3_279_868, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(s.into())))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 			.saturating_add(Weight::from_parts(0, 2589).saturating_mul(s.into()))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:0 w:100)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:0 w:100)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `p` is `[0, 100]`.
 	fn set_subs_old(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `194 + p * (32 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 8_902_000 picoseconds.
-		Weight::from_parts(21_168_031, 11037)
-			// Standard Error: 3_576
-			.saturating_add(Weight::from_parts(1_431_542, 0).saturating_mul(p.into()))
+		//  Estimated: `11003`
+		// Minimum execution time: 9_240_000 picoseconds.
+		Weight::from_parts(23_326_035, 11003)
+			// Standard Error: 3_664
+			.saturating_add(Weight::from_parts(1_439_873, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
 	}
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:0 w:100)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:0 w:100)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
 	/// The range of component `s` is `[0, 100]`.
-	fn clear_identity(_r: u32, s: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `7070 + r * (5 ±0) + s * (32 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 52_468_000 picoseconds.
-		Weight::from_parts(56_065_452, 11037)
-			// Standard Error: 2_274
-			.saturating_add(Weight::from_parts(1_399_051, 0).saturating_mul(s.into()))
+	fn clear_identity(r: u32, s: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `469 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 55_687_000 picoseconds.
+		Weight::from_parts(30_695_182, 11003)
+			// Standard Error: 9_921
+			.saturating_add(Weight::from_parts(162_357, 0).saturating_mul(r.into()))
+			// Standard Error: 1_937
+			.saturating_add(Weight::from_parts(1_427_998, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:0)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:0)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
 	fn request_judgement(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `6968 + r * (57 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 67_951_000 picoseconds.
-		Weight::from_parts(69_591_058, 11037)
-			// Standard Error: 4_420
-			.saturating_add(Weight::from_parts(209_239, 0).saturating_mul(r.into()))
+		//  Measured:  `367 + r * (57 ±0) + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 34_876_000 picoseconds.
+		Weight::from_parts(32_207_018, 11003)
+			// Standard Error: 5_247
+			.saturating_add(Weight::from_parts(249_156, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
 	fn cancel_request(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `6999`
-		//  Estimated: `11037`
-		// Minimum execution time: 67_818_000 picoseconds.
-		Weight::from_parts(70_356_319, 11037)
-			// Standard Error: 5_116
-			.saturating_add(Weight::from_parts(4_264, 0).saturating_mul(r.into()))
+		//  Measured:  `398 + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 30_689_000 picoseconds.
+		Weight::from_parts(31_967_170, 11003)
+			// Standard Error: 5_387
+			.saturating_add(Weight::from_parts(42_676, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:1)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:1)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn set_fee(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `89 + r * (57 ±0)`
 		//  Estimated: `2626`
-		// Minimum execution time: 6_096_000 picoseconds.
-		Weight::from_parts(6_470_752, 2626)
-			// Standard Error: 1_328
-			.saturating_add(Weight::from_parts(94_764, 0).saturating_mul(r.into()))
+		// Minimum execution time: 7_357_000 picoseconds.
+		Weight::from_parts(7_932_950, 2626)
+			// Standard Error: 1_804
+			.saturating_add(Weight::from_parts(132_653, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:1)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:1)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn set_account_id(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `89 + r * (57 ±0)`
 		//  Estimated: `2626`
-		// Minimum execution time: 6_278_000 picoseconds.
-		Weight::from_parts(6_678_997, 2626)
-			// Standard Error: 1_396
-			.saturating_add(Weight::from_parts(87_207, 0).saturating_mul(r.into()))
+		// Minimum execution time: 7_437_000 picoseconds.
+		Weight::from_parts(8_051_889, 2626)
+			// Standard Error: 1_997
+			.saturating_add(Weight::from_parts(129_592, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:1)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:1)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn set_fields(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `89 + r * (57 ±0)`
 		//  Estimated: `2626`
-		// Minimum execution time: 6_130_000 picoseconds.
-		Weight::from_parts(6_516_146, 2626)
-			// Standard Error: 1_356
-			.saturating_add(Weight::from_parts(88_455, 0).saturating_mul(r.into()))
+		// Minimum execution time: 7_385_000 picoseconds.
+		Weight::from_parts(7_911_589, 2626)
+			// Standard Error: 1_791
+			.saturating_add(Weight::from_parts(125_788, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:0)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:0)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn provide_judgement(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `7046 + r * (57 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 87_100_000 picoseconds.
-		Weight::from_parts(87_601_945, 11037)
-			// Standard Error: 22_724
-			.saturating_add(Weight::from_parts(458_296, 0).saturating_mul(r.into()))
+		//  Measured:  `445 + r * (57 ±0) + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 24_073_000 picoseconds.
+		Weight::from_parts(17_817_684, 11003)
+			// Standard Error: 8_612
+			.saturating_add(Weight::from_parts(406_251, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:0 w:100)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:0 w:100)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
 	/// The range of component `s` is `[0, 100]`.
 	fn kill_identity(r: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `7277 + r * (5 ±0) + s * (32 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 65_925_000 picoseconds.
-		Weight::from_parts(70_786_250, 11037)
-			// Standard Error: 19_680
-			.saturating_add(Weight::from_parts(29_782, 0).saturating_mul(r.into()))
-			// Standard Error: 3_839
-			.saturating_add(Weight::from_parts(1_377_604, 0).saturating_mul(s.into()))
+		//  Measured:  `676 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 73_981_000 picoseconds.
+		Weight::from_parts(51_684_057, 11003)
+			// Standard Error: 12_662
+			.saturating_add(Weight::from_parts(145_285, 0).saturating_mul(r.into()))
+			// Standard Error: 2_472
+			.saturating_add(Weight::from_parts(1_421_039, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:1 w:1)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:1 w:1)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
 	/// The range of component `s` is `[0, 99]`.
 	fn add_sub(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `475 + s * (36 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 25_916_000 picoseconds.
-		Weight::from_parts(29_781_270, 11037)
-			// Standard Error: 1_326
-			.saturating_add(Weight::from_parts(101_515, 0).saturating_mul(s.into()))
+		//  Estimated: `11003`
+		// Minimum execution time: 29_367_000 picoseconds.
+		Weight::from_parts(34_214_998, 11003)
+			// Standard Error: 1_522
+			.saturating_add(Weight::from_parts(114_551, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:1 w:1)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:1 w:1)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `s` is `[1, 100]`.
 	fn rename_sub(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `591 + s * (3 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 12_142_000 picoseconds.
-		Weight::from_parts(14_179_741, 11037)
-			// Standard Error: 538
-			.saturating_add(Weight::from_parts(38_847, 0).saturating_mul(s.into()))
+		//  Estimated: `11003`
+		// Minimum execution time: 12_384_000 picoseconds.
+		Weight::from_parts(14_417_903, 11003)
+			// Standard Error: 539
+			.saturating_add(Weight::from_parts(38_371, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:1 w:1)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:1 w:1)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
 	/// The range of component `s` is `[1, 100]`.
 	fn remove_sub(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `638 + s * (35 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 29_327_000 picoseconds.
-		Weight::from_parts(32_163_402, 11037)
-			// Standard Error: 1_047
-			.saturating_add(Weight::from_parts(87_159, 0).saturating_mul(s.into()))
+		//  Estimated: `11003`
+		// Minimum execution time: 33_327_000 picoseconds.
+		Weight::from_parts(36_208_941, 11003)
+			// Standard Error: 1_240
+			.saturating_add(Weight::from_parts(105_805, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Identity::SuperOf` (r:1 w:1)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Identity SuperOf (r:1 w:1)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:0)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `s` is `[0, 99]`.
 	fn quit_sub(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `704 + s * (37 ±0)`
 		//  Estimated: `6723`
-		// Minimum execution time: 22_380_000 picoseconds.
-		Weight::from_parts(24_557_574, 6723)
-			// Standard Error: 1_131
-			.saturating_add(Weight::from_parts(86_358, 0).saturating_mul(s.into()))
+		// Minimum execution time: 23_764_000 picoseconds.
+		Weight::from_parts(26_407_731, 6723)
+			// Standard Error: 1_025
+			.saturating_add(Weight::from_parts(101_112, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -353,359 +358,367 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_791_000 picoseconds.
-		Weight::from_parts(7_126_000, 0)
-			.saturating_add(T::DbWeight::get().writes(1_u64))
+		// Minimum execution time: 13_873_000 picoseconds.
+		Weight::from_parts(13_873_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
-	/// Storage: `Identity::UsernameAuthorities` (r:1 w:1)
+	/// Storage: `Identity::UsernameAuthorities` (r:0 w:1)
 	/// Proof: `Identity::UsernameAuthorities` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
 	fn remove_username_authority() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `80`
-		//  Estimated: `3517`
-		// Minimum execution time: 9_657_000 picoseconds.
-		Weight::from_parts(9_922_000, 3517)
-			.saturating_add(T::DbWeight::get().reads(1_u64))
-			.saturating_add(T::DbWeight::get().writes(1_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 10_653_000 picoseconds.
+		Weight::from_parts(10_653_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Identity::UsernameAuthorities` (r:1 w:1)
 	/// Proof: `Identity::UsernameAuthorities` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::AccountOfUsername` (r:1 w:1)
-	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::PendingUsernames` (r:1 w:0)
-	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::IdentityOf` (r:1 w:1)
 	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
 	fn set_username_for() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `80`
 		//  Estimated: `11037`
-		// Minimum execution time: 67_928_000 picoseconds.
-		Weight::from_parts(69_993_000, 11037)
-			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(3_u64))
+		// Minimum execution time: 75_928_000 picoseconds.
+		Weight::from_parts(75_928_000, 0)
+			.saturating_add(Weight::from_parts(0, 11037))
+			.saturating_add(T::DbWeight::get().reads(3))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Identity::PendingUsernames` (r:1 w:1)
-	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(77), added: 2552, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::IdentityOf` (r:1 w:1)
 	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::AccountOfUsername` (r:0 w:1)
-	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
 	fn accept_username() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `115`
+		//  Measured:  `106`
 		//  Estimated: `11037`
-		// Minimum execution time: 20_496_000 picoseconds.
-		Weight::from_parts(20_971_000, 11037)
-			.saturating_add(T::DbWeight::get().reads(2_u64))
-			.saturating_add(T::DbWeight::get().writes(3_u64))
+		// Minimum execution time: 38_157_000 picoseconds.
+		Weight::from_parts(38_157_000, 0)
+			.saturating_add(Weight::from_parts(0, 11037))
+			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 	/// Storage: `Identity::PendingUsernames` (r:1 w:1)
-	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(77), added: 2552, mode: `MaxEncodedLen`)
 	fn remove_expired_approval() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `115`
-		//  Estimated: `3550`
-		// Minimum execution time: 13_845_000 picoseconds.
-		Weight::from_parts(16_201_000, 3550)
-			.saturating_add(T::DbWeight::get().reads(1_u64))
-			.saturating_add(T::DbWeight::get().writes(1_u64))
+		//  Measured:  `106`
+		//  Estimated: `3542`
+		// Minimum execution time: 46_821_000 picoseconds.
+		Weight::from_parts(46_821_000, 0)
+			.saturating_add(Weight::from_parts(0, 3542))
+			.saturating_add(T::DbWeight::get().reads(1))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Identity::AccountOfUsername` (r:1 w:0)
-	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::IdentityOf` (r:1 w:1)
 	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
 	fn set_primary_username() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `257`
+		//  Measured:  `247`
 		//  Estimated: `11037`
-		// Minimum execution time: 15_900_000 picoseconds.
-		Weight::from_parts(16_716_000, 11037)
-			.saturating_add(T::DbWeight::get().reads(2_u64))
-			.saturating_add(T::DbWeight::get().writes(1_u64))
+		// Minimum execution time: 22_515_000 picoseconds.
+		Weight::from_parts(22_515_000, 0)
+			.saturating_add(Weight::from_parts(0, 11037))
+			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `Identity::AccountOfUsername` (r:1 w:1)
-	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::IdentityOf` (r:1 w:0)
 	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
 	fn remove_dangling_username() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `98`
+		//  Measured:  `126`
 		//  Estimated: `11037`
-		// Minimum execution time: 11_538_000 picoseconds.
-		Weight::from_parts(11_898_000, 11037)
-			.saturating_add(T::DbWeight::get().reads(2_u64))
-			.saturating_add(T::DbWeight::get().writes(1_u64))
+		// Minimum execution time: 15_997_000 picoseconds.
+		Weight::from_parts(15_997_000, 0)
+			.saturating_add(Weight::from_parts(0, 11037))
+			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Identity::Registrars` (r:1 w:1)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:1)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn add_registrar(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `32 + r * (57 ±0)`
 		//  Estimated: `2626`
-		// Minimum execution time: 8_857_000 picoseconds.
-		Weight::from_parts(9_331_464, 2626)
-			// Standard Error: 1_745
-			.saturating_add(Weight::from_parts(94_096, 0).saturating_mul(r.into()))
+		// Minimum execution time: 11_683_000 picoseconds.
+		Weight::from_parts(12_515_830, 2626)
+			// Standard Error: 2_154
+			.saturating_add(Weight::from_parts(147_919, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
-	fn set_identity(_r: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `6978 + r * (5 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 96_522_000 picoseconds.
-		Weight::from_parts(102_738_605, 11037)
+	fn set_identity(r: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `442 + r * (5 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 32_949_000 picoseconds.
+		Weight::from_parts(31_329_634, 11003)
+			// Standard Error: 4_496
+			.saturating_add(Weight::from_parts(203_570, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:100 w:100)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:100 w:100)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `s` is `[0, 100]`.
 	fn set_subs_new(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `101`
-		//  Estimated: `11037 + s * (2589 ±0)`
-		// Minimum execution time: 9_112_000 picoseconds.
-		Weight::from_parts(22_676_873, 11037)
-			// Standard Error: 6_494
-			.saturating_add(Weight::from_parts(3_279_196, 0).saturating_mul(s.into()))
+		//  Estimated: `11003 + s * (2589 ±0)`
+		// Minimum execution time: 9_157_000 picoseconds.
+		Weight::from_parts(24_917_444, 11003)
+			// Standard Error: 4_554
+			.saturating_add(Weight::from_parts(3_279_868, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(s.into())))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))
 			.saturating_add(Weight::from_parts(0, 2589).saturating_mul(s.into()))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:0 w:100)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:0 w:100)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `p` is `[0, 100]`.
 	fn set_subs_old(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `194 + p * (32 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 8_902_000 picoseconds.
-		Weight::from_parts(21_168_031, 11037)
-			// Standard Error: 3_576
-			.saturating_add(Weight::from_parts(1_431_542, 0).saturating_mul(p.into()))
+		//  Estimated: `11003`
+		// Minimum execution time: 9_240_000 picoseconds.
+		Weight::from_parts(23_326_035, 11003)
+			// Standard Error: 3_664
+			.saturating_add(Weight::from_parts(1_439_873, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(p.into())))
 	}
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:0 w:100)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:0 w:100)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
 	/// The range of component `s` is `[0, 100]`.
-	fn clear_identity(_r: u32, s: u32, ) -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `7070 + r * (5 ±0) + s * (32 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 52_468_000 picoseconds.
-		Weight::from_parts(56_065_452, 11037)
-			// Standard Error: 2_274
-			.saturating_add(Weight::from_parts(1_399_051, 0).saturating_mul(s.into()))
+	fn clear_identity(r: u32, s: u32, ) -> Weight {
+		// Proof Size summary in bytes:
+		//  Measured:  `469 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 55_687_000 picoseconds.
+		Weight::from_parts(30_695_182, 11003)
+			// Standard Error: 9_921
+			.saturating_add(Weight::from_parts(162_357, 0).saturating_mul(r.into()))
+			// Standard Error: 1_937
+			.saturating_add(Weight::from_parts(1_427_998, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:0)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:0)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
 	fn request_judgement(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `6968 + r * (57 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 67_951_000 picoseconds.
-		Weight::from_parts(69_591_058, 11037)
-			// Standard Error: 4_420
-			.saturating_add(Weight::from_parts(209_239, 0).saturating_mul(r.into()))
+		//  Measured:  `367 + r * (57 ±0) + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 34_876_000 picoseconds.
+		Weight::from_parts(32_207_018, 11003)
+			// Standard Error: 5_247
+			.saturating_add(Weight::from_parts(249_156, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
 	fn cancel_request(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `6999`
-		//  Estimated: `11037`
-		// Minimum execution time: 67_818_000 picoseconds.
-		Weight::from_parts(70_356_319, 11037)
-			// Standard Error: 5_116
-			.saturating_add(Weight::from_parts(4_264, 0).saturating_mul(r.into()))
+		//  Measured:  `398 + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 30_689_000 picoseconds.
+		Weight::from_parts(31_967_170, 11003)
+			// Standard Error: 5_387
+			.saturating_add(Weight::from_parts(42_676, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:1)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:1)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn set_fee(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `89 + r * (57 ±0)`
 		//  Estimated: `2626`
-		// Minimum execution time: 6_096_000 picoseconds.
-		Weight::from_parts(6_470_752, 2626)
-			// Standard Error: 1_328
-			.saturating_add(Weight::from_parts(94_764, 0).saturating_mul(r.into()))
+		// Minimum execution time: 7_357_000 picoseconds.
+		Weight::from_parts(7_932_950, 2626)
+			// Standard Error: 1_804
+			.saturating_add(Weight::from_parts(132_653, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:1)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:1)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn set_account_id(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `89 + r * (57 ±0)`
 		//  Estimated: `2626`
-		// Minimum execution time: 6_278_000 picoseconds.
-		Weight::from_parts(6_678_997, 2626)
-			// Standard Error: 1_396
-			.saturating_add(Weight::from_parts(87_207, 0).saturating_mul(r.into()))
+		// Minimum execution time: 7_437_000 picoseconds.
+		Weight::from_parts(8_051_889, 2626)
+			// Standard Error: 1_997
+			.saturating_add(Weight::from_parts(129_592, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:1)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:1)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn set_fields(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `89 + r * (57 ±0)`
 		//  Estimated: `2626`
-		// Minimum execution time: 6_130_000 picoseconds.
-		Weight::from_parts(6_516_146, 2626)
-			// Standard Error: 1_356
-			.saturating_add(Weight::from_parts(88_455, 0).saturating_mul(r.into()))
+		// Minimum execution time: 7_385_000 picoseconds.
+		Weight::from_parts(7_911_589, 2626)
+			// Standard Error: 1_791
+			.saturating_add(Weight::from_parts(125_788, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::Registrars` (r:1 w:0)
-	/// Proof: `Identity::Registrars` (`max_values`: Some(1), `max_size`: Some(1141), added: 1636, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
+	/// Storage: Identity Registrars (r:1 w:0)
+	/// Proof: Identity Registrars (max_values: Some(1), max_size: Some(1141), added: 1636, mode: MaxEncodedLen)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 19]`.
 	fn provide_judgement(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `7046 + r * (57 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 87_100_000 picoseconds.
-		Weight::from_parts(87_601_945, 11037)
-			// Standard Error: 22_724
-			.saturating_add(Weight::from_parts(458_296, 0).saturating_mul(r.into()))
+		//  Measured:  `445 + r * (57 ±0) + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 24_073_000 picoseconds.
+		Weight::from_parts(17_817_684, 11003)
+			// Standard Error: 8_612
+			.saturating_add(Weight::from_parts(406_251, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::IdentityOf` (r:1 w:1)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:0 w:100)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: Identity IdentityOf (r:1 w:1)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:0 w:100)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `r` is `[1, 20]`.
 	/// The range of component `s` is `[0, 100]`.
 	fn kill_identity(r: u32, s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `7277 + r * (5 ±0) + s * (32 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 65_925_000 picoseconds.
-		Weight::from_parts(70_786_250, 11037)
-			// Standard Error: 19_680
-			.saturating_add(Weight::from_parts(29_782, 0).saturating_mul(r.into()))
-			// Standard Error: 3_839
-			.saturating_add(Weight::from_parts(1_377_604, 0).saturating_mul(s.into()))
+		//  Measured:  `676 + r * (5 ±0) + s * (32 ±0) + x * (66 ±0)`
+		//  Estimated: `11003`
+		// Minimum execution time: 73_981_000 picoseconds.
+		Weight::from_parts(51_684_057, 11003)
+			// Standard Error: 12_662
+			.saturating_add(Weight::from_parts(145_285, 0).saturating_mul(r.into()))
+			// Standard Error: 2_472
+			.saturating_add(Weight::from_parts(1_421_039, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:1 w:1)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:1 w:1)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
 	/// The range of component `s` is `[0, 99]`.
 	fn add_sub(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `475 + s * (36 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 25_916_000 picoseconds.
-		Weight::from_parts(29_781_270, 11037)
-			// Standard Error: 1_326
-			.saturating_add(Weight::from_parts(101_515, 0).saturating_mul(s.into()))
+		//  Estimated: `11003`
+		// Minimum execution time: 29_367_000 picoseconds.
+		Weight::from_parts(34_214_998, 11003)
+			// Standard Error: 1_522
+			.saturating_add(Weight::from_parts(114_551, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:1 w:1)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:1 w:1)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
 	/// The range of component `s` is `[1, 100]`.
 	fn rename_sub(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `591 + s * (3 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 12_142_000 picoseconds.
-		Weight::from_parts(14_179_741, 11037)
-			// Standard Error: 538
-			.saturating_add(Weight::from_parts(38_847, 0).saturating_mul(s.into()))
+		//  Estimated: `11003`
+		// Minimum execution time: 12_384_000 picoseconds.
+		Weight::from_parts(14_417_903, 11003)
+			// Standard Error: 539
+			.saturating_add(Weight::from_parts(38_371, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Identity::IdentityOf` (r:1 w:0)
-	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SuperOf` (r:1 w:1)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
+	/// Storage: Identity IdentityOf (r:1 w:0)
+	/// Proof: Identity IdentityOf (max_values: None, max_size: Some(7538), added: 10013, mode: MaxEncodedLen)
+	/// Storage: Identity SuperOf (r:1 w:1)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
 	/// The range of component `s` is `[1, 100]`.
 	fn remove_sub(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `638 + s * (35 ±0)`
-		//  Estimated: `11037`
-		// Minimum execution time: 29_327_000 picoseconds.
-		Weight::from_parts(32_163_402, 11037)
-			// Standard Error: 1_047
-			.saturating_add(Weight::from_parts(87_159, 0).saturating_mul(s.into()))
+		//  Estimated: `11003`
+		// Minimum execution time: 33_327_000 picoseconds.
+		Weight::from_parts(36_208_941, 11003)
+			// Standard Error: 1_240
+			.saturating_add(Weight::from_parts(105_805, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Identity::SuperOf` (r:1 w:1)
-	/// Proof: `Identity::SuperOf` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::SubsOf` (r:1 w:1)
-	/// Proof: `Identity::SubsOf` (`max_values`: None, `max_size`: Some(3258), added: 5733, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Identity SuperOf (r:1 w:1)
+	/// Proof: Identity SuperOf (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
+	/// Storage: Identity SubsOf (r:1 w:1)
+	/// Proof: Identity SubsOf (max_values: None, max_size: Some(3258), added: 5733, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:0)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `s` is `[0, 99]`.
 	fn quit_sub(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `704 + s * (37 ±0)`
 		//  Estimated: `6723`
-		// Minimum execution time: 22_380_000 picoseconds.
-		Weight::from_parts(24_557_574, 6723)
-			// Standard Error: 1_131
-			.saturating_add(Weight::from_parts(86_358, 0).saturating_mul(s.into()))
+		// Minimum execution time: 23_764_000 picoseconds.
+		Weight::from_parts(26_407_731, 6723)
+			// Standard Error: 1_025
+			.saturating_add(Weight::from_parts(101_112, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
@@ -715,88 +728,92 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_791_000 picoseconds.
-		Weight::from_parts(7_126_000, 0)
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
+		// Minimum execution time: 13_873_000 picoseconds.
+		Weight::from_parts(13_873_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(RocksDbWeight::get().writes(1))
 	}
-	/// Storage: `Identity::UsernameAuthorities` (r:1 w:1)
+	/// Storage: `Identity::UsernameAuthorities` (r:0 w:1)
 	/// Proof: `Identity::UsernameAuthorities` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
 	fn remove_username_authority() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `80`
-		//  Estimated: `3517`
-		// Minimum execution time: 9_657_000 picoseconds.
-		Weight::from_parts(9_922_000, 3517)
-			.saturating_add(RocksDbWeight::get().reads(1_u64))
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 10_653_000 picoseconds.
+		Weight::from_parts(10_653_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(RocksDbWeight::get().writes(1))
 	}
 	/// Storage: `Identity::UsernameAuthorities` (r:1 w:1)
 	/// Proof: `Identity::UsernameAuthorities` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::AccountOfUsername` (r:1 w:1)
-	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Identity::PendingUsernames` (r:1 w:0)
-	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::IdentityOf` (r:1 w:1)
 	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
 	fn set_username_for() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `80`
 		//  Estimated: `11037`
-		// Minimum execution time: 67_928_000 picoseconds.
-		Weight::from_parts(69_993_000, 11037)
-			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(3_u64))
+		// Minimum execution time: 75_928_000 picoseconds.
+		Weight::from_parts(75_928_000, 0)
+			.saturating_add(Weight::from_parts(0, 11037))
+			.saturating_add(RocksDbWeight::get().reads(3))
+			.saturating_add(RocksDbWeight::get().writes(3))
 	}
 	/// Storage: `Identity::PendingUsernames` (r:1 w:1)
-	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(77), added: 2552, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::IdentityOf` (r:1 w:1)
 	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::AccountOfUsername` (r:0 w:1)
-	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
 	fn accept_username() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `115`
+		//  Measured:  `106`
 		//  Estimated: `11037`
-		// Minimum execution time: 20_496_000 picoseconds.
-		Weight::from_parts(20_971_000, 11037)
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
-			.saturating_add(RocksDbWeight::get().writes(3_u64))
+		// Minimum execution time: 38_157_000 picoseconds.
+		Weight::from_parts(38_157_000, 0)
+			.saturating_add(Weight::from_parts(0, 11037))
+			.saturating_add(RocksDbWeight::get().reads(2))
+			.saturating_add(RocksDbWeight::get().writes(3))
 	}
 	/// Storage: `Identity::PendingUsernames` (r:1 w:1)
-	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::PendingUsernames` (`max_values`: None, `max_size`: Some(77), added: 2552, mode: `MaxEncodedLen`)
 	fn remove_expired_approval() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `115`
-		//  Estimated: `3550`
-		// Minimum execution time: 13_845_000 picoseconds.
-		Weight::from_parts(16_201_000, 3550)
-			.saturating_add(RocksDbWeight::get().reads(1_u64))
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
+		//  Measured:  `106`
+		//  Estimated: `3542`
+		// Minimum execution time: 46_821_000 picoseconds.
+		Weight::from_parts(46_821_000, 0)
+			.saturating_add(Weight::from_parts(0, 3542))
+			.saturating_add(RocksDbWeight::get().reads(1))
+			.saturating_add(RocksDbWeight::get().writes(1))
 	}
 	/// Storage: `Identity::AccountOfUsername` (r:1 w:0)
-	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::IdentityOf` (r:1 w:1)
 	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
 	fn set_primary_username() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `257`
+		//  Measured:  `247`
 		//  Estimated: `11037`
-		// Minimum execution time: 15_900_000 picoseconds.
-		Weight::from_parts(16_716_000, 11037)
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
+		// Minimum execution time: 22_515_000 picoseconds.
+		Weight::from_parts(22_515_000, 0)
+			.saturating_add(Weight::from_parts(0, 11037))
+			.saturating_add(RocksDbWeight::get().reads(2))
+			.saturating_add(RocksDbWeight::get().writes(1))
 	}
 	/// Storage: `Identity::AccountOfUsername` (r:1 w:1)
-	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
+	/// Proof: `Identity::AccountOfUsername` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
 	/// Storage: `Identity::IdentityOf` (r:1 w:0)
 	/// Proof: `Identity::IdentityOf` (`max_values`: None, `max_size`: Some(7572), added: 10047, mode: `MaxEncodedLen`)
 	fn remove_dangling_username() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `98`
+		//  Measured:  `126`
 		//  Estimated: `11037`
-		// Minimum execution time: 11_538_000 picoseconds.
-		Weight::from_parts(11_898_000, 11037)
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
+		// Minimum execution time: 15_997_000 picoseconds.
+		Weight::from_parts(15_997_000, 0)
+			.saturating_add(Weight::from_parts(0, 11037))
+			.saturating_add(RocksDbWeight::get().reads(2))
+			.saturating_add(RocksDbWeight::get().writes(1))
 	}
 }
diff --git a/substrate/frame/im-online/src/mock.rs b/substrate/frame/im-online/src/mock.rs
index c0ba9143e13..9dad148b10f 100644
--- a/substrate/frame/im-online/src/mock.rs
+++ b/substrate/frame/im-online/src/mock.rs
@@ -27,7 +27,7 @@ use frame_support::{
 use pallet_session::historical as pallet_session_historical;
 use sp_core::H256;
 use sp_runtime::{
-	testing::UintAuthorityId,
+	testing::{TestXt, UintAuthorityId},
 	traits::{BlakeTwo256, ConvertInto, IdentityLookup},
 	BuildStorage, Permill,
 };
@@ -78,7 +78,7 @@ impl pallet_session::historical::SessionManager<u64, u64> for TestSessionManager
 }
 
 /// An extrinsic type used for tests.
-pub type Extrinsic = sp_runtime::generic::UncheckedExtrinsic<u64, RuntimeCall, (), ()>;
+pub type Extrinsic = TestXt<RuntimeCall, ()>;
 type IdentificationTuple = (u64, u64);
 type Offence = crate::UnresponsivenessOffence<IdentificationTuple>;
 
diff --git a/substrate/frame/im-online/src/tests.rs b/substrate/frame/im-online/src/tests.rs
index 6f5a14d7e7f..5e5212e1d56 100644
--- a/substrate/frame/im-online/src/tests.rs
+++ b/substrate/frame/im-online/src/tests.rs
@@ -228,7 +228,7 @@ fn should_generate_heartbeats() {
 
 		// check stuff about the transaction.
 		let ex: Extrinsic = Decode::decode(&mut &*transaction).unwrap();
-		let heartbeat = match ex.function {
+		let heartbeat = match ex.call {
 			crate::mock::RuntimeCall::ImOnline(crate::Call::heartbeat { heartbeat, .. }) =>
 				heartbeat,
 			e => panic!("Unexpected call: {:?}", e),
@@ -342,7 +342,7 @@ fn should_not_send_a_report_if_already_online() {
 		assert_eq!(pool_state.read().transactions.len(), 0);
 		// check stuff about the transaction.
 		let ex: Extrinsic = Decode::decode(&mut &*transaction).unwrap();
-		let heartbeat = match ex.function {
+		let heartbeat = match ex.call {
 			crate::mock::RuntimeCall::ImOnline(crate::Call::heartbeat { heartbeat, .. }) =>
 				heartbeat,
 			e => panic!("Unexpected call: {:?}", e),
diff --git a/substrate/frame/im-online/src/weights.rs b/substrate/frame/im-online/src/weights.rs
index 11357b1e7b7..c3db02af257 100644
--- a/substrate/frame/im-online/src/weights.rs
+++ b/substrate/frame/im-online/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_im_online`
+//! Autogenerated weights for pallet_im_online
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/im-online/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/im-online/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,60 +50,60 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_im_online`.
+/// Weight functions needed for pallet_im_online.
 pub trait WeightInfo {
 	fn validate_unsigned_and_then_heartbeat(k: u32, ) -> Weight;
 }
 
-/// Weights for `pallet_im_online` using the Substrate node and recommended hardware.
+/// Weights for pallet_im_online using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Session::Validators` (r:1 w:0)
-	/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Session::CurrentIndex` (r:1 w:0)
-	/// Proof: `Session::CurrentIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ImOnline::Keys` (r:1 w:0)
-	/// Proof: `ImOnline::Keys` (`max_values`: Some(1), `max_size`: Some(320002), added: 320497, mode: `MaxEncodedLen`)
-	/// Storage: `ImOnline::ReceivedHeartbeats` (r:1 w:1)
-	/// Proof: `ImOnline::ReceivedHeartbeats` (`max_values`: None, `max_size`: Some(25), added: 2500, mode: `MaxEncodedLen`)
-	/// Storage: `ImOnline::AuthoredBlocks` (r:1 w:0)
-	/// Proof: `ImOnline::AuthoredBlocks` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`)
+	/// Storage: Session Validators (r:1 w:0)
+	/// Proof Skipped: Session Validators (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Session CurrentIndex (r:1 w:0)
+	/// Proof Skipped: Session CurrentIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ImOnline Keys (r:1 w:0)
+	/// Proof: ImOnline Keys (max_values: Some(1), max_size: Some(320002), added: 320497, mode: MaxEncodedLen)
+	/// Storage: ImOnline ReceivedHeartbeats (r:1 w:1)
+	/// Proof: ImOnline ReceivedHeartbeats (max_values: None, max_size: Some(25), added: 2500, mode: MaxEncodedLen)
+	/// Storage: ImOnline AuthoredBlocks (r:1 w:0)
+	/// Proof: ImOnline AuthoredBlocks (max_values: None, max_size: Some(56), added: 2531, mode: MaxEncodedLen)
 	/// The range of component `k` is `[1, 1000]`.
 	fn validate_unsigned_and_then_heartbeat(k: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `327 + k * (32 ±0)`
+		//  Measured:  `295 + k * (32 ±0)`
 		//  Estimated: `321487 + k * (1761 ±0)`
-		// Minimum execution time: 65_515_000 picoseconds.
-		Weight::from_parts(74_765_329, 321487)
-			// Standard Error: 500
-			.saturating_add(Weight::from_parts(39_171, 0).saturating_mul(k.into()))
+		// Minimum execution time: 80_568_000 picoseconds.
+		Weight::from_parts(95_175_595, 321487)
+			// Standard Error: 627
+			.saturating_add(Weight::from_parts(39_094, 0).saturating_mul(k.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1761).saturating_mul(k.into()))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Session::Validators` (r:1 w:0)
-	/// Proof: `Session::Validators` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Session::CurrentIndex` (r:1 w:0)
-	/// Proof: `Session::CurrentIndex` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `ImOnline::Keys` (r:1 w:0)
-	/// Proof: `ImOnline::Keys` (`max_values`: Some(1), `max_size`: Some(320002), added: 320497, mode: `MaxEncodedLen`)
-	/// Storage: `ImOnline::ReceivedHeartbeats` (r:1 w:1)
-	/// Proof: `ImOnline::ReceivedHeartbeats` (`max_values`: None, `max_size`: Some(25), added: 2500, mode: `MaxEncodedLen`)
-	/// Storage: `ImOnline::AuthoredBlocks` (r:1 w:0)
-	/// Proof: `ImOnline::AuthoredBlocks` (`max_values`: None, `max_size`: Some(56), added: 2531, mode: `MaxEncodedLen`)
+	/// Storage: Session Validators (r:1 w:0)
+	/// Proof Skipped: Session Validators (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Session CurrentIndex (r:1 w:0)
+	/// Proof Skipped: Session CurrentIndex (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: ImOnline Keys (r:1 w:0)
+	/// Proof: ImOnline Keys (max_values: Some(1), max_size: Some(320002), added: 320497, mode: MaxEncodedLen)
+	/// Storage: ImOnline ReceivedHeartbeats (r:1 w:1)
+	/// Proof: ImOnline ReceivedHeartbeats (max_values: None, max_size: Some(25), added: 2500, mode: MaxEncodedLen)
+	/// Storage: ImOnline AuthoredBlocks (r:1 w:0)
+	/// Proof: ImOnline AuthoredBlocks (max_values: None, max_size: Some(56), added: 2531, mode: MaxEncodedLen)
 	/// The range of component `k` is `[1, 1000]`.
 	fn validate_unsigned_and_then_heartbeat(k: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `327 + k * (32 ±0)`
+		//  Measured:  `295 + k * (32 ±0)`
 		//  Estimated: `321487 + k * (1761 ±0)`
-		// Minimum execution time: 65_515_000 picoseconds.
-		Weight::from_parts(74_765_329, 321487)
-			// Standard Error: 500
-			.saturating_add(Weight::from_parts(39_171, 0).saturating_mul(k.into()))
+		// Minimum execution time: 80_568_000 picoseconds.
+		Weight::from_parts(95_175_595, 321487)
+			// Standard Error: 627
+			.saturating_add(Weight::from_parts(39_094, 0).saturating_mul(k.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1761).saturating_mul(k.into()))
diff --git a/substrate/frame/indices/src/weights.rs b/substrate/frame/indices/src/weights.rs
index 6b571164eb6..d081cc738b1 100644
--- a/substrate/frame/indices/src/weights.rs
+++ b/substrate/frame/indices/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_indices`
+//! Autogenerated weights for pallet_indices
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/indices/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/indices/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_indices`.
+/// Weight functions needed for pallet_indices.
 pub trait WeightInfo {
 	fn claim() -> Weight;
 	fn transfer() -> Weight;
@@ -58,128 +59,128 @@ pub trait WeightInfo {
 	fn freeze() -> Weight;
 }
 
-/// Weights for `pallet_indices` using the Substrate node and recommended hardware.
+/// Weights for pallet_indices using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn claim() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `3534`
-		// Minimum execution time: 20_825_000 picoseconds.
-		Weight::from_parts(21_507_000, 3534)
+		// Minimum execution time: 25_491_000 picoseconds.
+		Weight::from_parts(26_456_000, 3534)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `275`
 		//  Estimated: `3593`
-		// Minimum execution time: 31_091_000 picoseconds.
-		Weight::from_parts(31_923_000, 3593)
+		// Minimum execution time: 38_027_000 picoseconds.
+		Weight::from_parts(38_749_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn free() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `172`
 		//  Estimated: `3534`
-		// Minimum execution time: 21_832_000 picoseconds.
-		Weight::from_parts(22_436_000, 3534)
+		// Minimum execution time: 26_652_000 picoseconds.
+		Weight::from_parts(27_273_000, 3534)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn force_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `275`
 		//  Estimated: `3593`
-		// Minimum execution time: 23_876_000 picoseconds.
-		Weight::from_parts(24_954_000, 3593)
+		// Minimum execution time: 29_464_000 picoseconds.
+		Weight::from_parts(30_959_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn freeze() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `172`
 		//  Estimated: `3534`
-		// Minimum execution time: 22_954_000 picoseconds.
-		Weight::from_parts(23_792_000, 3534)
+		// Minimum execution time: 29_015_000 picoseconds.
+		Weight::from_parts(29_714_000, 3534)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn claim() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `3534`
-		// Minimum execution time: 20_825_000 picoseconds.
-		Weight::from_parts(21_507_000, 3534)
+		// Minimum execution time: 25_491_000 picoseconds.
+		Weight::from_parts(26_456_000, 3534)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `275`
 		//  Estimated: `3593`
-		// Minimum execution time: 31_091_000 picoseconds.
-		Weight::from_parts(31_923_000, 3593)
+		// Minimum execution time: 38_027_000 picoseconds.
+		Weight::from_parts(38_749_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn free() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `172`
 		//  Estimated: `3534`
-		// Minimum execution time: 21_832_000 picoseconds.
-		Weight::from_parts(22_436_000, 3534)
+		// Minimum execution time: 26_652_000 picoseconds.
+		Weight::from_parts(27_273_000, 3534)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn force_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `275`
 		//  Estimated: `3593`
-		// Minimum execution time: 23_876_000 picoseconds.
-		Weight::from_parts(24_954_000, 3593)
+		// Minimum execution time: 29_464_000 picoseconds.
+		Weight::from_parts(30_959_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Indices::Accounts` (r:1 w:1)
-	/// Proof: `Indices::Accounts` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Storage: Indices Accounts (r:1 w:1)
+	/// Proof: Indices Accounts (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn freeze() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `172`
 		//  Estimated: `3534`
-		// Minimum execution time: 22_954_000 picoseconds.
-		Weight::from_parts(23_792_000, 3534)
+		// Minimum execution time: 29_015_000 picoseconds.
+		Weight::from_parts(29_714_000, 3534)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
diff --git a/substrate/frame/lottery/src/weights.rs b/substrate/frame/lottery/src/weights.rs
index 7e56cdf90db..3b4e5623753 100644
--- a/substrate/frame/lottery/src/weights.rs
+++ b/substrate/frame/lottery/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_lottery`
+//! Autogenerated weights for pallet_lottery
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/lottery/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/lottery/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_lottery`.
+/// Weight functions needed for pallet_lottery.
 pub trait WeightInfo {
 	fn buy_ticket() -> Weight;
 	fn set_calls(n: u32, ) -> Weight;
@@ -59,222 +60,214 @@ pub trait WeightInfo {
 	fn on_initialize_repeat() -> Weight;
 }
 
-/// Weights for `pallet_lottery` using the Substrate node and recommended hardware.
+/// Weights for pallet_lottery using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Lottery` (r:1 w:0)
-	/// Proof: `Lottery::Lottery` (`max_values`: Some(1), `max_size`: Some(29), added: 524, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::CallIndices` (r:1 w:0)
-	/// Proof: `Lottery::CallIndices` (`max_values`: Some(1), `max_size`: Some(21), added: 516, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::TicketsCount` (r:1 w:1)
-	/// Proof: `Lottery::TicketsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Participants` (r:1 w:1)
-	/// Proof: `Lottery::Participants` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::LotteryIndex` (r:1 w:0)
-	/// Proof: `Lottery::LotteryIndex` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Tickets` (r:0 w:1)
-	/// Proof: `Lottery::Tickets` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
+	/// Storage: Lottery Lottery (r:1 w:0)
+	/// Proof: Lottery Lottery (max_values: Some(1), max_size: Some(29), added: 524, mode: MaxEncodedLen)
+	/// Storage: Lottery CallIndices (r:1 w:0)
+	/// Proof: Lottery CallIndices (max_values: Some(1), max_size: Some(21), added: 516, mode: MaxEncodedLen)
+	/// Storage: Lottery TicketsCount (r:1 w:1)
+	/// Proof: Lottery TicketsCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Lottery Participants (r:1 w:1)
+	/// Proof: Lottery Participants (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
+	/// Storage: Lottery LotteryIndex (r:1 w:0)
+	/// Proof: Lottery LotteryIndex (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Lottery Tickets (r:0 w:1)
+	/// Proof: Lottery Tickets (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
 	fn buy_ticket() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `492`
-		//  Estimated: `3997`
-		// Minimum execution time: 57_891_000 picoseconds.
-		Weight::from_parts(59_508_000, 3997)
-			.saturating_add(T::DbWeight::get().reads(8_u64))
+		//  Measured:  `452`
+		//  Estimated: `3593`
+		// Minimum execution time: 60_298_000 picoseconds.
+		Weight::from_parts(62_058_000, 3593)
+			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Lottery::CallIndices` (r:0 w:1)
-	/// Proof: `Lottery::CallIndices` (`max_values`: Some(1), `max_size`: Some(21), added: 516, mode: `MaxEncodedLen`)
+	/// Storage: Lottery CallIndices (r:0 w:1)
+	/// Proof: Lottery CallIndices (max_values: Some(1), max_size: Some(21), added: 516, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 10]`.
 	fn set_calls(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_026_000 picoseconds.
-		Weight::from_parts(5_854_666, 0)
-			// Standard Error: 3_233
-			.saturating_add(Weight::from_parts(334_818, 0).saturating_mul(n.into()))
+		// Minimum execution time: 7_291_000 picoseconds.
+		Weight::from_parts(8_178_186, 0)
+			// Standard Error: 3_048
+			.saturating_add(Weight::from_parts(330_871, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Lottery::Lottery` (r:1 w:1)
-	/// Proof: `Lottery::Lottery` (`max_values`: Some(1), `max_size`: Some(29), added: 524, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::LotteryIndex` (r:1 w:1)
-	/// Proof: `Lottery::LotteryIndex` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Lottery Lottery (r:1 w:1)
+	/// Proof: Lottery Lottery (max_values: Some(1), max_size: Some(29), added: 524, mode: MaxEncodedLen)
+	/// Storage: Lottery LotteryIndex (r:1 w:1)
+	/// Proof: Lottery LotteryIndex (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn start_lottery() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `194`
+		//  Measured:  `161`
 		//  Estimated: `3593`
-		// Minimum execution time: 26_216_000 picoseconds.
-		Weight::from_parts(27_216_000, 3593)
+		// Minimum execution time: 36_741_000 picoseconds.
+		Weight::from_parts(38_288_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Lottery::Lottery` (r:1 w:1)
-	/// Proof: `Lottery::Lottery` (`max_values`: Some(1), `max_size`: Some(29), added: 524, mode: `MaxEncodedLen`)
+	/// Storage: Lottery Lottery (r:1 w:1)
+	/// Proof: Lottery Lottery (max_values: Some(1), max_size: Some(29), added: 524, mode: MaxEncodedLen)
 	fn stop_repeat() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `252`
+		//  Measured:  `219`
 		//  Estimated: `1514`
-		// Minimum execution time: 6_208_000 picoseconds.
-		Weight::from_parts(6_427_000, 1514)
+		// Minimum execution time: 7_270_000 picoseconds.
+		Weight::from_parts(7_578_000, 1514)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `RandomnessCollectiveFlip::RandomMaterial` (r:1 w:0)
-	/// Proof: `RandomnessCollectiveFlip::RandomMaterial` (`max_values`: Some(1), `max_size`: Some(2594), added: 3089, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Lottery` (r:1 w:1)
-	/// Proof: `Lottery::Lottery` (`max_values`: Some(1), `max_size`: Some(29), added: 524, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::TicketsCount` (r:1 w:1)
-	/// Proof: `Lottery::TicketsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Tickets` (r:1 w:0)
-	/// Proof: `Lottery::Tickets` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
+	/// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0)
+	/// Proof: RandomnessCollectiveFlip RandomMaterial (max_values: Some(1), max_size: Some(2594), added: 3089, mode: MaxEncodedLen)
+	/// Storage: Lottery Lottery (r:1 w:1)
+	/// Proof: Lottery Lottery (max_values: Some(1), max_size: Some(29), added: 524, mode: MaxEncodedLen)
+	/// Storage: System Account (r:2 w:2)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Lottery TicketsCount (r:1 w:1)
+	/// Proof: Lottery TicketsCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Lottery Tickets (r:1 w:0)
+	/// Proof: Lottery Tickets (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
 	fn on_initialize_end() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `591`
+		//  Measured:  `558`
 		//  Estimated: `6196`
-		// Minimum execution time: 58_660_000 picoseconds.
-		Weight::from_parts(59_358_000, 6196)
+		// Minimum execution time: 76_611_000 picoseconds.
+		Weight::from_parts(78_107_000, 6196)
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `RandomnessCollectiveFlip::RandomMaterial` (r:1 w:0)
-	/// Proof: `RandomnessCollectiveFlip::RandomMaterial` (`max_values`: Some(1), `max_size`: Some(2594), added: 3089, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Lottery` (r:1 w:1)
-	/// Proof: `Lottery::Lottery` (`max_values`: Some(1), `max_size`: Some(29), added: 524, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::TicketsCount` (r:1 w:1)
-	/// Proof: `Lottery::TicketsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Tickets` (r:1 w:0)
-	/// Proof: `Lottery::Tickets` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::LotteryIndex` (r:1 w:1)
-	/// Proof: `Lottery::LotteryIndex` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+	/// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0)
+	/// Proof: RandomnessCollectiveFlip RandomMaterial (max_values: Some(1), max_size: Some(2594), added: 3089, mode: MaxEncodedLen)
+	/// Storage: Lottery Lottery (r:1 w:1)
+	/// Proof: Lottery Lottery (max_values: Some(1), max_size: Some(29), added: 524, mode: MaxEncodedLen)
+	/// Storage: System Account (r:2 w:2)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Lottery TicketsCount (r:1 w:1)
+	/// Proof: Lottery TicketsCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Lottery Tickets (r:1 w:0)
+	/// Proof: Lottery Tickets (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
+	/// Storage: Lottery LotteryIndex (r:1 w:1)
+	/// Proof: Lottery LotteryIndex (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn on_initialize_repeat() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `591`
+		//  Measured:  `558`
 		//  Estimated: `6196`
-		// Minimum execution time: 59_376_000 picoseconds.
-		Weight::from_parts(60_598_000, 6196)
+		// Minimum execution time: 78_731_000 picoseconds.
+		Weight::from_parts(80_248_000, 6196)
 			.saturating_add(T::DbWeight::get().reads(7_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Lottery` (r:1 w:0)
-	/// Proof: `Lottery::Lottery` (`max_values`: Some(1), `max_size`: Some(29), added: 524, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::CallIndices` (r:1 w:0)
-	/// Proof: `Lottery::CallIndices` (`max_values`: Some(1), `max_size`: Some(21), added: 516, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::TicketsCount` (r:1 w:1)
-	/// Proof: `Lottery::TicketsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Participants` (r:1 w:1)
-	/// Proof: `Lottery::Participants` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::LotteryIndex` (r:1 w:0)
-	/// Proof: `Lottery::LotteryIndex` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Tickets` (r:0 w:1)
-	/// Proof: `Lottery::Tickets` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
+	/// Storage: Lottery Lottery (r:1 w:0)
+	/// Proof: Lottery Lottery (max_values: Some(1), max_size: Some(29), added: 524, mode: MaxEncodedLen)
+	/// Storage: Lottery CallIndices (r:1 w:0)
+	/// Proof: Lottery CallIndices (max_values: Some(1), max_size: Some(21), added: 516, mode: MaxEncodedLen)
+	/// Storage: Lottery TicketsCount (r:1 w:1)
+	/// Proof: Lottery TicketsCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Lottery Participants (r:1 w:1)
+	/// Proof: Lottery Participants (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
+	/// Storage: Lottery LotteryIndex (r:1 w:0)
+	/// Proof: Lottery LotteryIndex (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Lottery Tickets (r:0 w:1)
+	/// Proof: Lottery Tickets (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
 	fn buy_ticket() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `492`
-		//  Estimated: `3997`
-		// Minimum execution time: 57_891_000 picoseconds.
-		Weight::from_parts(59_508_000, 3997)
-			.saturating_add(RocksDbWeight::get().reads(8_u64))
+		//  Measured:  `452`
+		//  Estimated: `3593`
+		// Minimum execution time: 60_298_000 picoseconds.
+		Weight::from_parts(62_058_000, 3593)
+			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Lottery::CallIndices` (r:0 w:1)
-	/// Proof: `Lottery::CallIndices` (`max_values`: Some(1), `max_size`: Some(21), added: 516, mode: `MaxEncodedLen`)
+	/// Storage: Lottery CallIndices (r:0 w:1)
+	/// Proof: Lottery CallIndices (max_values: Some(1), max_size: Some(21), added: 516, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 10]`.
 	fn set_calls(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_026_000 picoseconds.
-		Weight::from_parts(5_854_666, 0)
-			// Standard Error: 3_233
-			.saturating_add(Weight::from_parts(334_818, 0).saturating_mul(n.into()))
+		// Minimum execution time: 7_291_000 picoseconds.
+		Weight::from_parts(8_178_186, 0)
+			// Standard Error: 3_048
+			.saturating_add(Weight::from_parts(330_871, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Lottery::Lottery` (r:1 w:1)
-	/// Proof: `Lottery::Lottery` (`max_values`: Some(1), `max_size`: Some(29), added: 524, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::LotteryIndex` (r:1 w:1)
-	/// Proof: `Lottery::LotteryIndex` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Lottery Lottery (r:1 w:1)
+	/// Proof: Lottery Lottery (max_values: Some(1), max_size: Some(29), added: 524, mode: MaxEncodedLen)
+	/// Storage: Lottery LotteryIndex (r:1 w:1)
+	/// Proof: Lottery LotteryIndex (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn start_lottery() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `194`
+		//  Measured:  `161`
 		//  Estimated: `3593`
-		// Minimum execution time: 26_216_000 picoseconds.
-		Weight::from_parts(27_216_000, 3593)
+		// Minimum execution time: 36_741_000 picoseconds.
+		Weight::from_parts(38_288_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Lottery::Lottery` (r:1 w:1)
-	/// Proof: `Lottery::Lottery` (`max_values`: Some(1), `max_size`: Some(29), added: 524, mode: `MaxEncodedLen`)
+	/// Storage: Lottery Lottery (r:1 w:1)
+	/// Proof: Lottery Lottery (max_values: Some(1), max_size: Some(29), added: 524, mode: MaxEncodedLen)
 	fn stop_repeat() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `252`
+		//  Measured:  `219`
 		//  Estimated: `1514`
-		// Minimum execution time: 6_208_000 picoseconds.
-		Weight::from_parts(6_427_000, 1514)
+		// Minimum execution time: 7_270_000 picoseconds.
+		Weight::from_parts(7_578_000, 1514)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `RandomnessCollectiveFlip::RandomMaterial` (r:1 w:0)
-	/// Proof: `RandomnessCollectiveFlip::RandomMaterial` (`max_values`: Some(1), `max_size`: Some(2594), added: 3089, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Lottery` (r:1 w:1)
-	/// Proof: `Lottery::Lottery` (`max_values`: Some(1), `max_size`: Some(29), added: 524, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::TicketsCount` (r:1 w:1)
-	/// Proof: `Lottery::TicketsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Tickets` (r:1 w:0)
-	/// Proof: `Lottery::Tickets` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
+	/// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0)
+	/// Proof: RandomnessCollectiveFlip RandomMaterial (max_values: Some(1), max_size: Some(2594), added: 3089, mode: MaxEncodedLen)
+	/// Storage: Lottery Lottery (r:1 w:1)
+	/// Proof: Lottery Lottery (max_values: Some(1), max_size: Some(29), added: 524, mode: MaxEncodedLen)
+	/// Storage: System Account (r:2 w:2)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Lottery TicketsCount (r:1 w:1)
+	/// Proof: Lottery TicketsCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Lottery Tickets (r:1 w:0)
+	/// Proof: Lottery Tickets (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
 	fn on_initialize_end() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `591`
+		//  Measured:  `558`
 		//  Estimated: `6196`
-		// Minimum execution time: 58_660_000 picoseconds.
-		Weight::from_parts(59_358_000, 6196)
+		// Minimum execution time: 76_611_000 picoseconds.
+		Weight::from_parts(78_107_000, 6196)
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `RandomnessCollectiveFlip::RandomMaterial` (r:1 w:0)
-	/// Proof: `RandomnessCollectiveFlip::RandomMaterial` (`max_values`: Some(1), `max_size`: Some(2594), added: 3089, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Lottery` (r:1 w:1)
-	/// Proof: `Lottery::Lottery` (`max_values`: Some(1), `max_size`: Some(29), added: 524, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::TicketsCount` (r:1 w:1)
-	/// Proof: `Lottery::TicketsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::Tickets` (r:1 w:0)
-	/// Proof: `Lottery::Tickets` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	/// Storage: `Lottery::LotteryIndex` (r:1 w:1)
-	/// Proof: `Lottery::LotteryIndex` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+	/// Storage: RandomnessCollectiveFlip RandomMaterial (r:1 w:0)
+	/// Proof: RandomnessCollectiveFlip RandomMaterial (max_values: Some(1), max_size: Some(2594), added: 3089, mode: MaxEncodedLen)
+	/// Storage: Lottery Lottery (r:1 w:1)
+	/// Proof: Lottery Lottery (max_values: Some(1), max_size: Some(29), added: 524, mode: MaxEncodedLen)
+	/// Storage: System Account (r:2 w:2)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Lottery TicketsCount (r:1 w:1)
+	/// Proof: Lottery TicketsCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Lottery Tickets (r:1 w:0)
+	/// Proof: Lottery Tickets (max_values: None, max_size: Some(44), added: 2519, mode: MaxEncodedLen)
+	/// Storage: Lottery LotteryIndex (r:1 w:1)
+	/// Proof: Lottery LotteryIndex (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn on_initialize_repeat() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `591`
+		//  Measured:  `558`
 		//  Estimated: `6196`
-		// Minimum execution time: 59_376_000 picoseconds.
-		Weight::from_parts(60_598_000, 6196)
+		// Minimum execution time: 78_731_000 picoseconds.
+		Weight::from_parts(80_248_000, 6196)
 			.saturating_add(RocksDbWeight::get().reads(7_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
diff --git a/substrate/frame/membership/src/weights.rs b/substrate/frame/membership/src/weights.rs
index f21867d6870..2d18848b89a 100644
--- a/substrate/frame/membership/src/weights.rs
+++ b/substrate/frame/membership/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_membership`
+//! Autogenerated weights for pallet_membership
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/membership/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/membership/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_membership`.
+/// Weight functions needed for pallet_membership.
 pub trait WeightInfo {
 	fn add_member(m: u32, ) -> Weight;
 	fn remove_member(m: u32, ) -> Weight;
@@ -60,299 +61,299 @@ pub trait WeightInfo {
 	fn clear_prime() -> Weight;
 }
 
-/// Weights for `pallet_membership` using the Substrate node and recommended hardware.
+/// Weights for pallet_membership using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `TechnicalMembership::Members` (r:1 w:1)
-	/// Proof: `TechnicalMembership::Members` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Proposals` (r:1 w:0)
-	/// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalCommittee::Members` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Members (r:1 w:1)
+	/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Proposals (r:1 w:0)
+	/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalCommittee Members (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[1, 99]`.
 	fn add_member(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `207 + m * (64 ±0)`
+		//  Measured:  `208 + m * (64 ±0)`
 		//  Estimated: `4687 + m * (64 ±0)`
-		// Minimum execution time: 12_126_000 picoseconds.
-		Weight::from_parts(13_085_583, 4687)
-			// Standard Error: 659
-			.saturating_add(Weight::from_parts(36_103, 0).saturating_mul(m.into()))
+		// Minimum execution time: 17_040_000 picoseconds.
+		Weight::from_parts(18_344_571, 4687)
+			// Standard Error: 847
+			.saturating_add(Weight::from_parts(50_842, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `TechnicalMembership::Members` (r:1 w:1)
-	/// Proof: `TechnicalMembership::Members` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Proposals` (r:1 w:0)
-	/// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalMembership::Prime` (r:1 w:0)
-	/// Proof: `TechnicalMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Members` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Members (r:1 w:1)
+	/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Proposals (r:1 w:0)
+	/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalMembership Prime (r:1 w:0)
+	/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Members (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[2, 100]`.
 	fn remove_member(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `311 + m * (64 ±0)`
+		//  Measured:  `312 + m * (64 ±0)`
 		//  Estimated: `4687 + m * (64 ±0)`
-		// Minimum execution time: 14_571_000 picoseconds.
-		Weight::from_parts(15_532_232, 4687)
-			// Standard Error: 531
-			.saturating_add(Weight::from_parts(35_757, 0).saturating_mul(m.into()))
+		// Minimum execution time: 20_088_000 picoseconds.
+		Weight::from_parts(21_271_384, 4687)
+			// Standard Error: 786
+			.saturating_add(Weight::from_parts(44_806, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `TechnicalMembership::Members` (r:1 w:1)
-	/// Proof: `TechnicalMembership::Members` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Proposals` (r:1 w:0)
-	/// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalMembership::Prime` (r:1 w:0)
-	/// Proof: `TechnicalMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Members` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Members (r:1 w:1)
+	/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Proposals (r:1 w:0)
+	/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalMembership Prime (r:1 w:0)
+	/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Members (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[2, 100]`.
 	fn swap_member(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `311 + m * (64 ±0)`
+		//  Measured:  `312 + m * (64 ±0)`
 		//  Estimated: `4687 + m * (64 ±0)`
-		// Minimum execution time: 14_833_000 picoseconds.
-		Weight::from_parts(15_657_084, 4687)
-			// Standard Error: 650
-			.saturating_add(Weight::from_parts(44_467, 0).saturating_mul(m.into()))
+		// Minimum execution time: 20_308_000 picoseconds.
+		Weight::from_parts(21_469_843, 4687)
+			// Standard Error: 782
+			.saturating_add(Weight::from_parts(56_893, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `TechnicalMembership::Members` (r:1 w:1)
-	/// Proof: `TechnicalMembership::Members` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Proposals` (r:1 w:0)
-	/// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalMembership::Prime` (r:1 w:0)
-	/// Proof: `TechnicalMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Members` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Members (r:1 w:1)
+	/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Proposals (r:1 w:0)
+	/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalMembership Prime (r:1 w:0)
+	/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Members (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[1, 100]`.
 	fn reset_members(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `311 + m * (64 ±0)`
+		//  Measured:  `312 + m * (64 ±0)`
 		//  Estimated: `4687 + m * (64 ±0)`
-		// Minimum execution time: 14_629_000 picoseconds.
-		Weight::from_parts(15_578_203, 4687)
-			// Standard Error: 910
-			.saturating_add(Weight::from_parts(145_101, 0).saturating_mul(m.into()))
+		// Minimum execution time: 19_464_000 picoseconds.
+		Weight::from_parts(21_223_702, 4687)
+			// Standard Error: 1_068
+			.saturating_add(Weight::from_parts(165_438, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `TechnicalMembership::Members` (r:1 w:1)
-	/// Proof: `TechnicalMembership::Members` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Proposals` (r:1 w:0)
-	/// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalMembership::Prime` (r:1 w:1)
-	/// Proof: `TechnicalMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Members` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Members (r:1 w:1)
+	/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Proposals (r:1 w:0)
+	/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalMembership Prime (r:1 w:1)
+	/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Members (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[1, 100]`.
 	fn change_key(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `311 + m * (64 ±0)`
+		//  Measured:  `312 + m * (64 ±0)`
 		//  Estimated: `4687 + m * (64 ±0)`
-		// Minimum execution time: 15_218_000 picoseconds.
-		Weight::from_parts(16_388_690, 4687)
-			// Standard Error: 626
-			.saturating_add(Weight::from_parts(46_204, 0).saturating_mul(m.into()))
+		// Minimum execution time: 20_965_000 picoseconds.
+		Weight::from_parts(22_551_007, 4687)
+			// Standard Error: 860
+			.saturating_add(Weight::from_parts(52_397, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `TechnicalMembership::Members` (r:1 w:0)
-	/// Proof: `TechnicalMembership::Members` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalMembership::Prime` (r:0 w:1)
-	/// Proof: `TechnicalMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Members (r:1 w:0)
+	/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: TechnicalMembership Prime (r:0 w:1)
+	/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[1, 100]`.
 	fn set_prime(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `31 + m * (32 ±0)`
+		//  Measured:  `32 + m * (32 ±0)`
 		//  Estimated: `4687 + m * (32 ±0)`
-		// Minimum execution time: 5_954_000 picoseconds.
-		Weight::from_parts(6_544_638, 4687)
-			// Standard Error: 346
-			.saturating_add(Weight::from_parts(17_638, 0).saturating_mul(m.into()))
+		// Minimum execution time: 7_481_000 picoseconds.
+		Weight::from_parts(7_959_053, 4687)
+			// Standard Error: 364
+			.saturating_add(Weight::from_parts(18_653, 0).saturating_mul(m.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 	}
-	/// Storage: `TechnicalMembership::Prime` (r:0 w:1)
-	/// Proof: `TechnicalMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Prime (r:0 w:1)
+	/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	fn clear_prime() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_569_000 picoseconds.
-		Weight::from_parts(2_776_000, 0)
+		// Minimum execution time: 3_373_000 picoseconds.
+		Weight::from_parts(3_750_452, 0)
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `TechnicalMembership::Members` (r:1 w:1)
-	/// Proof: `TechnicalMembership::Members` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Proposals` (r:1 w:0)
-	/// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalCommittee::Members` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Members (r:1 w:1)
+	/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Proposals (r:1 w:0)
+	/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalCommittee Members (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[1, 99]`.
 	fn add_member(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `207 + m * (64 ±0)`
+		//  Measured:  `208 + m * (64 ±0)`
 		//  Estimated: `4687 + m * (64 ±0)`
-		// Minimum execution time: 12_126_000 picoseconds.
-		Weight::from_parts(13_085_583, 4687)
-			// Standard Error: 659
-			.saturating_add(Weight::from_parts(36_103, 0).saturating_mul(m.into()))
+		// Minimum execution time: 17_040_000 picoseconds.
+		Weight::from_parts(18_344_571, 4687)
+			// Standard Error: 847
+			.saturating_add(Weight::from_parts(50_842, 0).saturating_mul(m.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `TechnicalMembership::Members` (r:1 w:1)
-	/// Proof: `TechnicalMembership::Members` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Proposals` (r:1 w:0)
-	/// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalMembership::Prime` (r:1 w:0)
-	/// Proof: `TechnicalMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Members` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Members (r:1 w:1)
+	/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Proposals (r:1 w:0)
+	/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalMembership Prime (r:1 w:0)
+	/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Members (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[2, 100]`.
 	fn remove_member(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `311 + m * (64 ±0)`
+		//  Measured:  `312 + m * (64 ±0)`
 		//  Estimated: `4687 + m * (64 ±0)`
-		// Minimum execution time: 14_571_000 picoseconds.
-		Weight::from_parts(15_532_232, 4687)
-			// Standard Error: 531
-			.saturating_add(Weight::from_parts(35_757, 0).saturating_mul(m.into()))
+		// Minimum execution time: 20_088_000 picoseconds.
+		Weight::from_parts(21_271_384, 4687)
+			// Standard Error: 786
+			.saturating_add(Weight::from_parts(44_806, 0).saturating_mul(m.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `TechnicalMembership::Members` (r:1 w:1)
-	/// Proof: `TechnicalMembership::Members` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Proposals` (r:1 w:0)
-	/// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalMembership::Prime` (r:1 w:0)
-	/// Proof: `TechnicalMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Members` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Members (r:1 w:1)
+	/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Proposals (r:1 w:0)
+	/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalMembership Prime (r:1 w:0)
+	/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Members (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[2, 100]`.
 	fn swap_member(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `311 + m * (64 ±0)`
+		//  Measured:  `312 + m * (64 ±0)`
 		//  Estimated: `4687 + m * (64 ±0)`
-		// Minimum execution time: 14_833_000 picoseconds.
-		Weight::from_parts(15_657_084, 4687)
-			// Standard Error: 650
-			.saturating_add(Weight::from_parts(44_467, 0).saturating_mul(m.into()))
+		// Minimum execution time: 20_308_000 picoseconds.
+		Weight::from_parts(21_469_843, 4687)
+			// Standard Error: 782
+			.saturating_add(Weight::from_parts(56_893, 0).saturating_mul(m.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `TechnicalMembership::Members` (r:1 w:1)
-	/// Proof: `TechnicalMembership::Members` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Proposals` (r:1 w:0)
-	/// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalMembership::Prime` (r:1 w:0)
-	/// Proof: `TechnicalMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Members` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Members (r:1 w:1)
+	/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Proposals (r:1 w:0)
+	/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalMembership Prime (r:1 w:0)
+	/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Members (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[1, 100]`.
 	fn reset_members(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `311 + m * (64 ±0)`
+		//  Measured:  `312 + m * (64 ±0)`
 		//  Estimated: `4687 + m * (64 ±0)`
-		// Minimum execution time: 14_629_000 picoseconds.
-		Weight::from_parts(15_578_203, 4687)
-			// Standard Error: 910
-			.saturating_add(Weight::from_parts(145_101, 0).saturating_mul(m.into()))
+		// Minimum execution time: 19_464_000 picoseconds.
+		Weight::from_parts(21_223_702, 4687)
+			// Standard Error: 1_068
+			.saturating_add(Weight::from_parts(165_438, 0).saturating_mul(m.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `TechnicalMembership::Members` (r:1 w:1)
-	/// Proof: `TechnicalMembership::Members` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Proposals` (r:1 w:0)
-	/// Proof: `TechnicalCommittee::Proposals` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalMembership::Prime` (r:1 w:1)
-	/// Proof: `TechnicalMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Members` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Members (r:1 w:1)
+	/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Proposals (r:1 w:0)
+	/// Proof Skipped: TechnicalCommittee Proposals (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalMembership Prime (r:1 w:1)
+	/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Members (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[1, 100]`.
 	fn change_key(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `311 + m * (64 ±0)`
+		//  Measured:  `312 + m * (64 ±0)`
 		//  Estimated: `4687 + m * (64 ±0)`
-		// Minimum execution time: 15_218_000 picoseconds.
-		Weight::from_parts(16_388_690, 4687)
-			// Standard Error: 626
-			.saturating_add(Weight::from_parts(46_204, 0).saturating_mul(m.into()))
+		// Minimum execution time: 20_965_000 picoseconds.
+		Weight::from_parts(22_551_007, 4687)
+			// Standard Error: 860
+			.saturating_add(Weight::from_parts(52_397, 0).saturating_mul(m.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(m.into()))
 	}
-	/// Storage: `TechnicalMembership::Members` (r:1 w:0)
-	/// Proof: `TechnicalMembership::Members` (`max_values`: Some(1), `max_size`: Some(3202), added: 3697, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalMembership::Prime` (r:0 w:1)
-	/// Proof: `TechnicalMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Members (r:1 w:0)
+	/// Proof: TechnicalMembership Members (max_values: Some(1), max_size: Some(3202), added: 3697, mode: MaxEncodedLen)
+	/// Storage: TechnicalMembership Prime (r:0 w:1)
+	/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	/// The range of component `m` is `[1, 100]`.
 	fn set_prime(m: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `31 + m * (32 ±0)`
+		//  Measured:  `32 + m * (32 ±0)`
 		//  Estimated: `4687 + m * (32 ±0)`
-		// Minimum execution time: 5_954_000 picoseconds.
-		Weight::from_parts(6_544_638, 4687)
-			// Standard Error: 346
-			.saturating_add(Weight::from_parts(17_638, 0).saturating_mul(m.into()))
+		// Minimum execution time: 7_481_000 picoseconds.
+		Weight::from_parts(7_959_053, 4687)
+			// Standard Error: 364
+			.saturating_add(Weight::from_parts(18_653, 0).saturating_mul(m.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 32).saturating_mul(m.into()))
 	}
-	/// Storage: `TechnicalMembership::Prime` (r:0 w:1)
-	/// Proof: `TechnicalMembership::Prime` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TechnicalCommittee::Prime` (r:0 w:1)
-	/// Proof: `TechnicalCommittee::Prime` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	/// Storage: TechnicalMembership Prime (r:0 w:1)
+	/// Proof: TechnicalMembership Prime (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TechnicalCommittee Prime (r:0 w:1)
+	/// Proof Skipped: TechnicalCommittee Prime (max_values: Some(1), max_size: None, mode: Measured)
 	fn clear_prime() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_569_000 picoseconds.
-		Weight::from_parts(2_776_000, 0)
+		// Minimum execution time: 3_373_000 picoseconds.
+		Weight::from_parts(3_750_452, 0)
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 }
diff --git a/substrate/frame/message-queue/src/weights.rs b/substrate/frame/message-queue/src/weights.rs
index 001e2834e1c..e86f23e274f 100644
--- a/substrate/frame/message-queue/src/weights.rs
+++ b/substrate/frame/message-queue/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_message_queue`
+//! Autogenerated weights for pallet_message_queue
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/message-queue/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/message-queue/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_message_queue`.
+/// Weight functions needed for pallet_message_queue.
 pub trait WeightInfo {
 	fn ready_ring_knit() -> Weight;
 	fn ready_ring_unknit() -> Weight;
@@ -63,256 +64,246 @@ pub trait WeightInfo {
 	fn execute_overweight_page_updated() -> Weight;
 }
 
-/// Weights for `pallet_message_queue` using the Substrate node and recommended hardware.
+/// Weights for pallet_message_queue using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `MessageQueue::ServiceHead` (r:1 w:0)
-	/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::BookStateFor` (r:2 w:2)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue ServiceHead (r:1 w:0)
+	/// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: MessageQueue BookStateFor (r:2 w:2)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn ready_ring_knit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `301`
+		//  Measured:  `267`
 		//  Estimated: `6038`
-		// Minimum execution time: 11_563_000 picoseconds.
-		Weight::from_parts(11_956_000, 6038)
+		// Minimum execution time: 12_025_000 picoseconds.
+		Weight::from_parts(12_597_000, 6038)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:2 w:2)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::ServiceHead` (r:1 w:1)
-	/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue BookStateFor (r:2 w:2)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: MessageQueue ServiceHead (r:1 w:1)
+	/// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn ready_ring_unknit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `301`
+		//  Measured:  `267`
 		//  Estimated: `6038`
-		// Minimum execution time: 10_263_000 picoseconds.
-		Weight::from_parts(10_638_000, 6038)
+		// Minimum execution time: 11_563_000 picoseconds.
+		Weight::from_parts(11_785_000, 6038)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue BookStateFor (r:1 w:1)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn service_queue_base() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `3514`
-		// Minimum execution time: 4_335_000 picoseconds.
-		Weight::from_parts(4_552_000, 3514)
+		// Minimum execution time: 4_467_000 picoseconds.
+		Weight::from_parts(4_655_000, 3514)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65584), added: 68059, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(65584), added: 68059, mode: MaxEncodedLen)
 	fn service_page_base_completion() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `147`
 		//  Estimated: `69049`
-		// Minimum execution time: 6_016_000 picoseconds.
-		Weight::from_parts(6_224_000, 69049)
+		// Minimum execution time: 6_103_000 picoseconds.
+		Weight::from_parts(6_254_000, 69049)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65584), added: 68059, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(65584), added: 68059, mode: MaxEncodedLen)
 	fn service_page_base_no_completion() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `147`
 		//  Estimated: `69049`
-		// Minimum execution time: 6_183_000 picoseconds.
-		Weight::from_parts(6_348_000, 69049)
+		// Minimum execution time: 6_320_000 picoseconds.
+		Weight::from_parts(6_565_000, 69049)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:0 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::Pages` (r:0 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65584), added: 68059, mode: `MaxEncodedLen`)
 	fn service_page_item() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 112_864_000 picoseconds.
-		Weight::from_parts(114_269_000, 0)
-			.saturating_add(T::DbWeight::get().writes(2_u64))
+		// Minimum execution time: 66_062_000 picoseconds.
+		Weight::from_parts(66_371_000, 0)
 	}
-	/// Storage: `MessageQueue::ServiceHead` (r:1 w:1)
-	/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue ServiceHead (r:1 w:1)
+	/// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: MessageQueue BookStateFor (r:1 w:0)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn bump_service_head() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `246`
+		//  Measured:  `174`
 		//  Estimated: `3514`
-		// Minimum execution time: 6_665_000 picoseconds.
-		Weight::from_parts(7_108_000, 3514)
+		// Minimum execution time: 6_788_000 picoseconds.
+		Weight::from_parts(7_176_000, 3514)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65584), added: 68059, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue BookStateFor (r:1 w:1)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(65584), added: 68059, mode: MaxEncodedLen)
 	fn reap_page() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `65744`
 		//  Estimated: `69049`
-		// Minimum execution time: 51_420_000 picoseconds.
-		Weight::from_parts(52_252_000, 69049)
+		// Minimum execution time: 52_865_000 picoseconds.
+		Weight::from_parts(54_398_000, 69049)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65584), added: 68059, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue BookStateFor (r:1 w:1)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(65584), added: 68059, mode: MaxEncodedLen)
 	fn execute_overweight_page_removed() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `65744`
 		//  Estimated: `69049`
-		// Minimum execution time: 71_195_000 picoseconds.
-		Weight::from_parts(72_981_000, 69049)
+		// Minimum execution time: 69_168_000 picoseconds.
+		Weight::from_parts(70_560_000, 69049)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65584), added: 68059, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue BookStateFor (r:1 w:1)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(65584), added: 68059, mode: MaxEncodedLen)
 	fn execute_overweight_page_updated() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `65744`
 		//  Estimated: `69049`
-		// Minimum execution time: 83_238_000 picoseconds.
-		Weight::from_parts(84_422_000, 69049)
+		// Minimum execution time: 80_947_000 picoseconds.
+		Weight::from_parts(82_715_000, 69049)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `MessageQueue::ServiceHead` (r:1 w:0)
-	/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::BookStateFor` (r:2 w:2)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue ServiceHead (r:1 w:0)
+	/// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: MessageQueue BookStateFor (r:2 w:2)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn ready_ring_knit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `301`
+		//  Measured:  `267`
 		//  Estimated: `6038`
-		// Minimum execution time: 11_563_000 picoseconds.
-		Weight::from_parts(11_956_000, 6038)
+		// Minimum execution time: 12_025_000 picoseconds.
+		Weight::from_parts(12_597_000, 6038)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:2 w:2)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::ServiceHead` (r:1 w:1)
-	/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue BookStateFor (r:2 w:2)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: MessageQueue ServiceHead (r:1 w:1)
+	/// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
 	fn ready_ring_unknit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `301`
+		//  Measured:  `267`
 		//  Estimated: `6038`
-		// Minimum execution time: 10_263_000 picoseconds.
-		Weight::from_parts(10_638_000, 6038)
+		// Minimum execution time: 11_563_000 picoseconds.
+		Weight::from_parts(11_785_000, 6038)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue BookStateFor (r:1 w:1)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn service_queue_base() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `3514`
-		// Minimum execution time: 4_335_000 picoseconds.
-		Weight::from_parts(4_552_000, 3514)
+		// Minimum execution time: 4_467_000 picoseconds.
+		Weight::from_parts(4_655_000, 3514)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65584), added: 68059, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(65584), added: 68059, mode: MaxEncodedLen)
 	fn service_page_base_completion() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `147`
 		//  Estimated: `69049`
-		// Minimum execution time: 6_016_000 picoseconds.
-		Weight::from_parts(6_224_000, 69049)
+		// Minimum execution time: 6_103_000 picoseconds.
+		Weight::from_parts(6_254_000, 69049)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65584), added: 68059, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(65584), added: 68059, mode: MaxEncodedLen)
 	fn service_page_base_no_completion() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `147`
 		//  Estimated: `69049`
-		// Minimum execution time: 6_183_000 picoseconds.
-		Weight::from_parts(6_348_000, 69049)
+		// Minimum execution time: 6_320_000 picoseconds.
+		Weight::from_parts(6_565_000, 69049)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:0 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::Pages` (r:0 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65584), added: 68059, mode: `MaxEncodedLen`)
 	fn service_page_item() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 112_864_000 picoseconds.
-		Weight::from_parts(114_269_000, 0)
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
+		// Minimum execution time: 66_062_000 picoseconds.
+		Weight::from_parts(66_371_000, 0)
 	}
-	/// Storage: `MessageQueue::ServiceHead` (r:1 w:1)
-	/// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:0)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue ServiceHead (r:1 w:1)
+	/// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: MessageQueue BookStateFor (r:1 w:0)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
 	fn bump_service_head() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `246`
+		//  Measured:  `174`
 		//  Estimated: `3514`
-		// Minimum execution time: 6_665_000 picoseconds.
-		Weight::from_parts(7_108_000, 3514)
+		// Minimum execution time: 6_788_000 picoseconds.
+		Weight::from_parts(7_176_000, 3514)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65584), added: 68059, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue BookStateFor (r:1 w:1)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(65584), added: 68059, mode: MaxEncodedLen)
 	fn reap_page() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `65744`
 		//  Estimated: `69049`
-		// Minimum execution time: 51_420_000 picoseconds.
-		Weight::from_parts(52_252_000, 69049)
+		// Minimum execution time: 52_865_000 picoseconds.
+		Weight::from_parts(54_398_000, 69049)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65584), added: 68059, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue BookStateFor (r:1 w:1)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(65584), added: 68059, mode: MaxEncodedLen)
 	fn execute_overweight_page_removed() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `65744`
 		//  Estimated: `69049`
-		// Minimum execution time: 71_195_000 picoseconds.
-		Weight::from_parts(72_981_000, 69049)
+		// Minimum execution time: 69_168_000 picoseconds.
+		Weight::from_parts(70_560_000, 69049)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
-	/// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `MessageQueue::Pages` (r:1 w:1)
-	/// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65584), added: 68059, mode: `MaxEncodedLen`)
+	/// Storage: MessageQueue BookStateFor (r:1 w:1)
+	/// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(49), added: 2524, mode: MaxEncodedLen)
+	/// Storage: MessageQueue Pages (r:1 w:1)
+	/// Proof: MessageQueue Pages (max_values: None, max_size: Some(65584), added: 68059, mode: MaxEncodedLen)
 	fn execute_overweight_page_updated() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `65744`
 		//  Estimated: `69049`
-		// Minimum execution time: 83_238_000 picoseconds.
-		Weight::from_parts(84_422_000, 69049)
+		// Minimum execution time: 80_947_000 picoseconds.
+		Weight::from_parts(82_715_000, 69049)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
diff --git a/substrate/frame/migrations/src/weights.rs b/substrate/frame/migrations/src/weights.rs
index 9eca48ac3fd..c9b63258c44 100644
--- a/substrate/frame/migrations/src/weights.rs
+++ b/substrate/frame/migrations/src/weights.rs
@@ -17,29 +17,26 @@
 
 //! Autogenerated weights for `pallet_migrations`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-12-04, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `loud1`, CPU: `AMD EPYC 7282 16-Core Processor`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/release/substrate-node
 // benchmark
 // pallet
-// --chain=dev
-// --steps=50
-// --repeat=20
-// --pallet=pallet_migrations
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --wasm-execution=compiled
-// --heap-pages=4096
-// --output=./substrate/frame/migrations/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --chain
+// dev
+// --pallet
+// pallet-migrations
+// --extrinsic
+// 
+// --output
+// weight.rs
+// --template
+// ../../polkadot-sdk/substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -74,10 +71,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
 	fn onboard_new_mbms() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `276`
+		//  Measured:  `243`
 		//  Estimated: `67035`
-		// Minimum execution time: 7_932_000 picoseconds.
-		Weight::from_parts(8_428_000, 67035)
+		// Minimum execution time: 13_980_000 picoseconds.
+		Weight::from_parts(14_290_000, 67035)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -85,10 +82,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
 	fn progress_mbms_none() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `142`
+		//  Measured:  `109`
 		//  Estimated: `67035`
-		// Minimum execution time: 2_229_000 picoseconds.
-		Weight::from_parts(2_329_000, 67035)
+		// Minimum execution time: 3_770_000 picoseconds.
+		Weight::from_parts(4_001_000, 67035)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
@@ -99,8 +96,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `134`
 		//  Estimated: `3599`
-		// Minimum execution time: 6_051_000 picoseconds.
-		Weight::from_parts(6_483_000, 3599)
+		// Minimum execution time: 10_900_000 picoseconds.
+		Weight::from_parts(11_251_000, 3599)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -110,10 +107,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`)
 	fn exec_migration_skipped_historic() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `330`
-		//  Estimated: `3795`
-		// Minimum execution time: 10_066_000 picoseconds.
-		Weight::from_parts(10_713_000, 3795)
+		//  Measured:  `297`
+		//  Estimated: `3762`
+		// Minimum execution time: 17_891_000 picoseconds.
+		Weight::from_parts(18_501_000, 3762)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 	}
 	/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
@@ -122,10 +119,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`)
 	fn exec_migration_advance() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `276`
-		//  Estimated: `3741`
-		// Minimum execution time: 10_026_000 picoseconds.
-		Weight::from_parts(10_379_000, 3741)
+		//  Measured:  `243`
+		//  Estimated: `3731`
+		// Minimum execution time: 18_271_000 picoseconds.
+		Weight::from_parts(18_740_000, 3731)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 	}
 	/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
@@ -134,10 +131,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`)
 	fn exec_migration_complete() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `276`
-		//  Estimated: `3741`
-		// Minimum execution time: 11_680_000 picoseconds.
-		Weight::from_parts(12_184_000, 3741)
+		//  Measured:  `243`
+		//  Estimated: `3731`
+		// Minimum execution time: 21_241_000 picoseconds.
+		Weight::from_parts(21_911_000, 3731)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -149,10 +146,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
 	fn exec_migration_fail() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `276`
-		//  Estimated: `3741`
-		// Minimum execution time: 12_334_000 picoseconds.
-		Weight::from_parts(12_899_000, 3741)
+		//  Measured:  `243`
+		//  Estimated: `3731`
+		// Minimum execution time: 22_740_000 picoseconds.
+		Weight::from_parts(23_231_000, 3731)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -160,8 +157,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 187_000 picoseconds.
-		Weight::from_parts(209_000, 0)
+		// Minimum execution time: 440_000 picoseconds.
+		Weight::from_parts(500_000, 0)
 	}
 	/// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1)
 	/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
@@ -169,8 +166,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_688_000 picoseconds.
-		Weight::from_parts(2_874_000, 0)
+		// Minimum execution time: 5_751_000 picoseconds.
+		Weight::from_parts(5_950_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1)
@@ -179,8 +176,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_108_000 picoseconds.
-		Weight::from_parts(3_263_000, 0)
+		// Minimum execution time: 6_350_000 picoseconds.
+		Weight::from_parts(6_560_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0)
@@ -189,10 +186,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
 	fn force_onboard_mbms() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `251`
+		//  Measured:  `218`
 		//  Estimated: `67035`
-		// Minimum execution time: 5_993_000 picoseconds.
-		Weight::from_parts(6_359_000, 67035)
+		// Minimum execution time: 11_121_000 picoseconds.
+		Weight::from_parts(11_530_000, 67035)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 	}
 	/// Storage: `MultiBlockMigrations::Historic` (r:256 w:256)
@@ -200,12 +197,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `n` is `[0, 256]`.
 	fn clear_historic(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1122 + n * (271 ±0)`
+		//  Measured:  `1089 + n * (271 ±0)`
 		//  Estimated: `3834 + n * (2740 ±0)`
-		// Minimum execution time: 16_003_000 picoseconds.
-		Weight::from_parts(14_453_014, 3834)
-			// Standard Error: 3_305
-			.saturating_add(Weight::from_parts(1_325_026, 0).saturating_mul(n.into()))
+		// Minimum execution time: 21_891_000 picoseconds.
+		Weight::from_parts(18_572_306, 3834)
+			// Standard Error: 3_236
+			.saturating_add(Weight::from_parts(1_648_429, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
@@ -221,10 +218,10 @@ impl WeightInfo for () {
 	/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
 	fn onboard_new_mbms() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `276`
+		//  Measured:  `243`
 		//  Estimated: `67035`
-		// Minimum execution time: 7_932_000 picoseconds.
-		Weight::from_parts(8_428_000, 67035)
+		// Minimum execution time: 13_980_000 picoseconds.
+		Weight::from_parts(14_290_000, 67035)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -232,10 +229,10 @@ impl WeightInfo for () {
 	/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
 	fn progress_mbms_none() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `142`
+		//  Measured:  `109`
 		//  Estimated: `67035`
-		// Minimum execution time: 2_229_000 picoseconds.
-		Weight::from_parts(2_329_000, 67035)
+		// Minimum execution time: 3_770_000 picoseconds.
+		Weight::from_parts(4_001_000, 67035)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
@@ -246,8 +243,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `134`
 		//  Estimated: `3599`
-		// Minimum execution time: 6_051_000 picoseconds.
-		Weight::from_parts(6_483_000, 3599)
+		// Minimum execution time: 10_900_000 picoseconds.
+		Weight::from_parts(11_251_000, 3599)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -257,10 +254,10 @@ impl WeightInfo for () {
 	/// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`)
 	fn exec_migration_skipped_historic() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `330`
-		//  Estimated: `3795`
-		// Minimum execution time: 10_066_000 picoseconds.
-		Weight::from_parts(10_713_000, 3795)
+		//  Measured:  `297`
+		//  Estimated: `3762`
+		// Minimum execution time: 17_891_000 picoseconds.
+		Weight::from_parts(18_501_000, 3762)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 	}
 	/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
@@ -269,10 +266,10 @@ impl WeightInfo for () {
 	/// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`)
 	fn exec_migration_advance() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `276`
-		//  Estimated: `3741`
-		// Minimum execution time: 10_026_000 picoseconds.
-		Weight::from_parts(10_379_000, 3741)
+		//  Measured:  `243`
+		//  Estimated: `3731`
+		// Minimum execution time: 18_271_000 picoseconds.
+		Weight::from_parts(18_740_000, 3731)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 	}
 	/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
@@ -281,10 +278,10 @@ impl WeightInfo for () {
 	/// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`)
 	fn exec_migration_complete() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `276`
-		//  Estimated: `3741`
-		// Minimum execution time: 11_680_000 picoseconds.
-		Weight::from_parts(12_184_000, 3741)
+		//  Measured:  `243`
+		//  Estimated: `3731`
+		// Minimum execution time: 21_241_000 picoseconds.
+		Weight::from_parts(21_911_000, 3731)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -296,10 +293,10 @@ impl WeightInfo for () {
 	/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
 	fn exec_migration_fail() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `276`
-		//  Estimated: `3741`
-		// Minimum execution time: 12_334_000 picoseconds.
-		Weight::from_parts(12_899_000, 3741)
+		//  Measured:  `243`
+		//  Estimated: `3731`
+		// Minimum execution time: 22_740_000 picoseconds.
+		Weight::from_parts(23_231_000, 3731)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -307,8 +304,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 187_000 picoseconds.
-		Weight::from_parts(209_000, 0)
+		// Minimum execution time: 440_000 picoseconds.
+		Weight::from_parts(500_000, 0)
 	}
 	/// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1)
 	/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
@@ -316,8 +313,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_688_000 picoseconds.
-		Weight::from_parts(2_874_000, 0)
+		// Minimum execution time: 5_751_000 picoseconds.
+		Weight::from_parts(5_950_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1)
@@ -326,8 +323,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_108_000 picoseconds.
-		Weight::from_parts(3_263_000, 0)
+		// Minimum execution time: 6_350_000 picoseconds.
+		Weight::from_parts(6_560_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0)
@@ -336,10 +333,10 @@ impl WeightInfo for () {
 	/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
 	fn force_onboard_mbms() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `251`
+		//  Measured:  `218`
 		//  Estimated: `67035`
-		// Minimum execution time: 5_993_000 picoseconds.
-		Weight::from_parts(6_359_000, 67035)
+		// Minimum execution time: 11_121_000 picoseconds.
+		Weight::from_parts(11_530_000, 67035)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 	}
 	/// Storage: `MultiBlockMigrations::Historic` (r:256 w:256)
@@ -347,12 +344,12 @@ impl WeightInfo for () {
 	/// The range of component `n` is `[0, 256]`.
 	fn clear_historic(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1122 + n * (271 ±0)`
+		//  Measured:  `1089 + n * (271 ±0)`
 		//  Estimated: `3834 + n * (2740 ±0)`
-		// Minimum execution time: 16_003_000 picoseconds.
-		Weight::from_parts(14_453_014, 3834)
-			// Standard Error: 3_305
-			.saturating_add(Weight::from_parts(1_325_026, 0).saturating_mul(n.into()))
+		// Minimum execution time: 21_891_000 picoseconds.
+		Weight::from_parts(18_572_306, 3834)
+			// Standard Error: 3_236
+			.saturating_add(Weight::from_parts(1_648_429, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
diff --git a/substrate/frame/multisig/src/weights.rs b/substrate/frame/multisig/src/weights.rs
index 4cbe7bb03b7..7b87d258d38 100644
--- a/substrate/frame/multisig/src/weights.rs
+++ b/substrate/frame/multisig/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_multisig`
+//! Autogenerated weights for pallet_multisig
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/multisig/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/multisig/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_multisig`.
+/// Weight functions needed for pallet_multisig.
 pub trait WeightInfo {
 	fn as_multi_threshold_1(z: u32, ) -> Weight;
 	fn as_multi_create(s: u32, z: u32, ) -> Weight;
@@ -60,238 +61,220 @@ pub trait WeightInfo {
 	fn cancel_as_multi(s: u32, ) -> Weight;
 }
 
-/// Weights for `pallet_multisig` using the Substrate node and recommended hardware.
+/// Weights for pallet_multisig using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
 	/// The range of component `z` is `[0, 10000]`.
 	fn as_multi_threshold_1(z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `145`
-		//  Estimated: `3997`
-		// Minimum execution time: 18_893_000 picoseconds.
-		Weight::from_parts(20_278_307, 3997)
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 13_452_000 picoseconds.
+		Weight::from_parts(14_425_869, 0)
 			// Standard Error: 4
-			.saturating_add(Weight::from_parts(488, 0).saturating_mul(z.into()))
-			.saturating_add(T::DbWeight::get().reads(2_u64))
+			.saturating_add(Weight::from_parts(493, 0).saturating_mul(z.into()))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	/// The range of component `z` is `[0, 10000]`.
 	fn as_multi_create(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `301 + s * (2 ±0)`
 		//  Estimated: `6811`
-		// Minimum execution time: 39_478_000 picoseconds.
-		Weight::from_parts(29_195_487, 6811)
-			// Standard Error: 739
-			.saturating_add(Weight::from_parts(118_766, 0).saturating_mul(s.into()))
-			// Standard Error: 7
-			.saturating_add(Weight::from_parts(1_511, 0).saturating_mul(z.into()))
+		// Minimum execution time: 46_012_000 picoseconds.
+		Weight::from_parts(34_797_344, 6811)
+			// Standard Error: 833
+			.saturating_add(Weight::from_parts(127_671, 0).saturating_mul(s.into()))
+			// Standard Error: 8
+			.saturating_add(Weight::from_parts(1_498, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[3, 100]`.
 	/// The range of component `z` is `[0, 10000]`.
 	fn as_multi_approve(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `320`
 		//  Estimated: `6811`
-		// Minimum execution time: 26_401_000 picoseconds.
-		Weight::from_parts(17_277_296, 6811)
-			// Standard Error: 492
-			.saturating_add(Weight::from_parts(101_763, 0).saturating_mul(s.into()))
-			// Standard Error: 4
-			.saturating_add(Weight::from_parts(1_486, 0).saturating_mul(z.into()))
+		// Minimum execution time: 29_834_000 picoseconds.
+		Weight::from_parts(20_189_154, 6811)
+			// Standard Error: 637
+			.saturating_add(Weight::from_parts(110_080, 0).saturating_mul(s.into()))
+			// Standard Error: 6
+			.saturating_add(Weight::from_parts(1_483, 0).saturating_mul(z.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	/// The range of component `z` is `[0, 10000]`.
 	fn as_multi_complete(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `571 + s * (33 ±0)`
+		//  Measured:  `426 + s * (33 ±0)`
 		//  Estimated: `6811`
-		// Minimum execution time: 52_430_000 picoseconds.
-		Weight::from_parts(40_585_478, 6811)
-			// Standard Error: 1_240
-			.saturating_add(Weight::from_parts(161_405, 0).saturating_mul(s.into()))
+		// Minimum execution time: 51_464_000 picoseconds.
+		Weight::from_parts(39_246_644, 6811)
+			// Standard Error: 1_251
+			.saturating_add(Weight::from_parts(143_313, 0).saturating_mul(s.into()))
 			// Standard Error: 12
-			.saturating_add(Weight::from_parts(1_547, 0).saturating_mul(z.into()))
-			.saturating_add(T::DbWeight::get().reads(4_u64))
+			.saturating_add(Weight::from_parts(1_523, 0).saturating_mul(z.into()))
+			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	fn approve_as_multi_create(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `301 + s * (2 ±0)`
 		//  Estimated: `6811`
-		// Minimum execution time: 27_797_000 picoseconds.
-		Weight::from_parts(29_064_584, 6811)
-			// Standard Error: 817
-			.saturating_add(Weight::from_parts(108_179, 0).saturating_mul(s.into()))
+		// Minimum execution time: 33_275_000 picoseconds.
+		Weight::from_parts(34_073_221, 6811)
+			// Standard Error: 1_163
+			.saturating_add(Weight::from_parts(124_815, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	fn approve_as_multi_approve(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `320`
 		//  Estimated: `6811`
-		// Minimum execution time: 15_236_000 picoseconds.
-		Weight::from_parts(16_360_247, 6811)
-			// Standard Error: 584
-			.saturating_add(Weight::from_parts(94_917, 0).saturating_mul(s.into()))
+		// Minimum execution time: 18_411_000 picoseconds.
+		Weight::from_parts(19_431_787, 6811)
+			// Standard Error: 694
+			.saturating_add(Weight::from_parts(107_220, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	fn cancel_as_multi(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `492 + s * (1 ±0)`
 		//  Estimated: `6811`
-		// Minimum execution time: 28_730_000 picoseconds.
-		Weight::from_parts(30_056_661, 6811)
-			// Standard Error: 792
-			.saturating_add(Weight::from_parts(108_212, 0).saturating_mul(s.into()))
+		// Minimum execution time: 33_985_000 picoseconds.
+		Weight::from_parts(35_547_970, 6811)
+			// Standard Error: 1_135
+			.saturating_add(Weight::from_parts(116_537, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
 	/// The range of component `z` is `[0, 10000]`.
 	fn as_multi_threshold_1(z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `145`
-		//  Estimated: `3997`
-		// Minimum execution time: 18_893_000 picoseconds.
-		Weight::from_parts(20_278_307, 3997)
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 13_452_000 picoseconds.
+		Weight::from_parts(14_425_869, 0)
 			// Standard Error: 4
-			.saturating_add(Weight::from_parts(488, 0).saturating_mul(z.into()))
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
+			.saturating_add(Weight::from_parts(493, 0).saturating_mul(z.into()))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	/// The range of component `z` is `[0, 10000]`.
 	fn as_multi_create(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `301 + s * (2 ±0)`
 		//  Estimated: `6811`
-		// Minimum execution time: 39_478_000 picoseconds.
-		Weight::from_parts(29_195_487, 6811)
-			// Standard Error: 739
-			.saturating_add(Weight::from_parts(118_766, 0).saturating_mul(s.into()))
-			// Standard Error: 7
-			.saturating_add(Weight::from_parts(1_511, 0).saturating_mul(z.into()))
+		// Minimum execution time: 46_012_000 picoseconds.
+		Weight::from_parts(34_797_344, 6811)
+			// Standard Error: 833
+			.saturating_add(Weight::from_parts(127_671, 0).saturating_mul(s.into()))
+			// Standard Error: 8
+			.saturating_add(Weight::from_parts(1_498, 0).saturating_mul(z.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[3, 100]`.
 	/// The range of component `z` is `[0, 10000]`.
 	fn as_multi_approve(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `320`
 		//  Estimated: `6811`
-		// Minimum execution time: 26_401_000 picoseconds.
-		Weight::from_parts(17_277_296, 6811)
-			// Standard Error: 492
-			.saturating_add(Weight::from_parts(101_763, 0).saturating_mul(s.into()))
-			// Standard Error: 4
-			.saturating_add(Weight::from_parts(1_486, 0).saturating_mul(z.into()))
+		// Minimum execution time: 29_834_000 picoseconds.
+		Weight::from_parts(20_189_154, 6811)
+			// Standard Error: 637
+			.saturating_add(Weight::from_parts(110_080, 0).saturating_mul(s.into()))
+			// Standard Error: 6
+			.saturating_add(Weight::from_parts(1_483, 0).saturating_mul(z.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	/// The range of component `z` is `[0, 10000]`.
 	fn as_multi_complete(s: u32, z: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `571 + s * (33 ±0)`
+		//  Measured:  `426 + s * (33 ±0)`
 		//  Estimated: `6811`
-		// Minimum execution time: 52_430_000 picoseconds.
-		Weight::from_parts(40_585_478, 6811)
-			// Standard Error: 1_240
-			.saturating_add(Weight::from_parts(161_405, 0).saturating_mul(s.into()))
+		// Minimum execution time: 51_464_000 picoseconds.
+		Weight::from_parts(39_246_644, 6811)
+			// Standard Error: 1_251
+			.saturating_add(Weight::from_parts(143_313, 0).saturating_mul(s.into()))
 			// Standard Error: 12
-			.saturating_add(Weight::from_parts(1_547, 0).saturating_mul(z.into()))
-			.saturating_add(RocksDbWeight::get().reads(4_u64))
+			.saturating_add(Weight::from_parts(1_523, 0).saturating_mul(z.into()))
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	fn approve_as_multi_create(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `301 + s * (2 ±0)`
 		//  Estimated: `6811`
-		// Minimum execution time: 27_797_000 picoseconds.
-		Weight::from_parts(29_064_584, 6811)
-			// Standard Error: 817
-			.saturating_add(Weight::from_parts(108_179, 0).saturating_mul(s.into()))
+		// Minimum execution time: 33_275_000 picoseconds.
+		Weight::from_parts(34_073_221, 6811)
+			// Standard Error: 1_163
+			.saturating_add(Weight::from_parts(124_815, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	fn approve_as_multi_approve(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `320`
 		//  Estimated: `6811`
-		// Minimum execution time: 15_236_000 picoseconds.
-		Weight::from_parts(16_360_247, 6811)
-			// Standard Error: 584
-			.saturating_add(Weight::from_parts(94_917, 0).saturating_mul(s.into()))
+		// Minimum execution time: 18_411_000 picoseconds.
+		Weight::from_parts(19_431_787, 6811)
+			// Standard Error: 694
+			.saturating_add(Weight::from_parts(107_220, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Multisig::Multisigs` (r:1 w:1)
-	/// Proof: `Multisig::Multisigs` (`max_values`: None, `max_size`: Some(3346), added: 5821, mode: `MaxEncodedLen`)
+	/// Storage: Multisig Multisigs (r:1 w:1)
+	/// Proof: Multisig Multisigs (max_values: None, max_size: Some(3346), added: 5821, mode: MaxEncodedLen)
 	/// The range of component `s` is `[2, 100]`.
 	fn cancel_as_multi(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `492 + s * (1 ±0)`
 		//  Estimated: `6811`
-		// Minimum execution time: 28_730_000 picoseconds.
-		Weight::from_parts(30_056_661, 6811)
-			// Standard Error: 792
-			.saturating_add(Weight::from_parts(108_212, 0).saturating_mul(s.into()))
+		// Minimum execution time: 33_985_000 picoseconds.
+		Weight::from_parts(35_547_970, 6811)
+			// Standard Error: 1_135
+			.saturating_add(Weight::from_parts(116_537, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
diff --git a/substrate/frame/nft-fractionalization/src/weights.rs b/substrate/frame/nft-fractionalization/src/weights.rs
index 07872ebaea9..ebb4aa0fbcf 100644
--- a/substrate/frame/nft-fractionalization/src/weights.rs
+++ b/substrate/frame/nft-fractionalization/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_nft_fractionalization`
+//! Autogenerated weights for pallet_nft_fractionalization
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/nft-fractionalization/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/nft-fractionalization/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,136 +50,136 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_nft_fractionalization`.
+/// Weight functions needed for pallet_nft_fractionalization.
 pub trait WeightInfo {
 	fn fractionalize() -> Weight;
 	fn unify() -> Weight;
 }
 
-/// Weights for `pallet_nft_fractionalization` using the Substrate node and recommended hardware.
+/// Weights for pallet_nft_fractionalization using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Nfts::Item` (r:1 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1 w:1)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:1)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
-	/// Storage: `NftFractionalization::NftToAsset` (r:0 w:1)
-	/// Proof: `NftFractionalization::NftToAsset` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1 w:1)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:1)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
+	/// Storage: NftFractionalization NftToAsset (r:0 w:1)
+	/// Proof: NftFractionalization NftToAsset (max_values: None, max_size: Some(92), added: 2567, mode: MaxEncodedLen)
 	fn fractionalize() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `609`
 		//  Estimated: `4326`
-		// Minimum execution time: 164_764_000 picoseconds.
-		Weight::from_parts(168_243_000, 4326)
+		// Minimum execution time: 187_416_000 picoseconds.
+		Weight::from_parts(191_131_000, 4326)
 			.saturating_add(T::DbWeight::get().reads(8_u64))
 			.saturating_add(T::DbWeight::get().writes(8_u64))
 	}
-	/// Storage: `NftFractionalization::NftToAsset` (r:1 w:1)
-	/// Proof: `NftFractionalization::NftToAsset` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1 w:1)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:1)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemPriceOf` (r:0 w:1)
-	/// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::PendingSwapOf` (r:0 w:1)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
+	/// Storage: NftFractionalization NftToAsset (r:1 w:1)
+	/// Proof: NftFractionalization NftToAsset (max_values: None, max_size: Some(92), added: 2567, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1 w:1)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:1)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemPriceOf (r:0 w:1)
+	/// Proof: Nfts ItemPriceOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
+	/// Storage: Nfts PendingSwapOf (r:0 w:1)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
 	fn unify() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `1422`
 		//  Estimated: `4326`
-		// Minimum execution time: 120_036_000 picoseconds.
-		Weight::from_parts(123_550_000, 4326)
+		// Minimum execution time: 134_159_000 picoseconds.
+		Weight::from_parts(136_621_000, 4326)
 			.saturating_add(T::DbWeight::get().reads(9_u64))
 			.saturating_add(T::DbWeight::get().writes(10_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Nfts::Item` (r:1 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1 w:1)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Metadata` (r:1 w:1)
-	/// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
-	/// Storage: `NftFractionalization::NftToAsset` (r:0 w:1)
-	/// Proof: `NftFractionalization::NftToAsset` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1 w:1)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Assets Metadata (r:1 w:1)
+	/// Proof: Assets Metadata (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
+	/// Storage: NftFractionalization NftToAsset (r:0 w:1)
+	/// Proof: NftFractionalization NftToAsset (max_values: None, max_size: Some(92), added: 2567, mode: MaxEncodedLen)
 	fn fractionalize() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `609`
 		//  Estimated: `4326`
-		// Minimum execution time: 164_764_000 picoseconds.
-		Weight::from_parts(168_243_000, 4326)
+		// Minimum execution time: 187_416_000 picoseconds.
+		Weight::from_parts(191_131_000, 4326)
 			.saturating_add(RocksDbWeight::get().reads(8_u64))
 			.saturating_add(RocksDbWeight::get().writes(8_u64))
 	}
-	/// Storage: `NftFractionalization::NftToAsset` (r:1 w:1)
-	/// Proof: `NftFractionalization::NftToAsset` (`max_values`: None, `max_size`: Some(92), added: 2567, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1 w:1)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:1)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemPriceOf` (r:0 w:1)
-	/// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::PendingSwapOf` (r:0 w:1)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
+	/// Storage: NftFractionalization NftToAsset (r:1 w:1)
+	/// Proof: NftFractionalization NftToAsset (max_values: None, max_size: Some(92), added: 2567, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1 w:1)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:1)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemPriceOf (r:0 w:1)
+	/// Proof: Nfts ItemPriceOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
+	/// Storage: Nfts PendingSwapOf (r:0 w:1)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
 	fn unify() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `1422`
 		//  Estimated: `4326`
-		// Minimum execution time: 120_036_000 picoseconds.
-		Weight::from_parts(123_550_000, 4326)
+		// Minimum execution time: 134_159_000 picoseconds.
+		Weight::from_parts(136_621_000, 4326)
 			.saturating_add(RocksDbWeight::get().reads(9_u64))
 			.saturating_add(RocksDbWeight::get().writes(10_u64))
 	}
diff --git a/substrate/frame/nfts/src/weights.rs b/substrate/frame/nfts/src/weights.rs
index 4fcc1e601f4..6b8c577bb12 100644
--- a/substrate/frame/nfts/src/weights.rs
+++ b/substrate/frame/nfts/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_nfts`
+//! Autogenerated weights for pallet_nfts
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -37,9 +37,9 @@
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/nfts/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/nfts/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +49,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_nfts`.
+/// Weight functions needed for pallet_nfts.
 pub trait WeightInfo {
 	fn create() -> Weight;
 	fn force_create() -> Weight;
@@ -92,568 +92,564 @@ pub trait WeightInfo {
 	fn set_attributes_pre_signed(n: u32, ) -> Weight;
 }
 
-/// Weights for `pallet_nfts` using the Substrate node and recommended hardware.
+/// Weights for pallet_nfts using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Nfts::NextCollectionId` (r:1 w:1)
-	/// Proof: `Nfts::NextCollectionId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionAccount` (r:0 w:1)
-	/// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
+	/// Storage: Nfts NextCollectionId (r:1 w:1)
+	/// Proof: Nfts NextCollectionId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:0 w:1)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:0 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionAccount (r:0 w:1)
+	/// Proof: Nfts CollectionAccount (max_values: None, max_size: Some(68), added: 2543, mode: MaxEncodedLen)
 	fn create() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `216`
 		//  Estimated: `3549`
-		// Minimum execution time: 34_035_000 picoseconds.
-		Weight::from_parts(35_228_000, 3549)
+		// Minimum execution time: 40_489_000 picoseconds.
+		Weight::from_parts(41_320_000, 3549)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Nfts::NextCollectionId` (r:1 w:1)
-	/// Proof: `Nfts::NextCollectionId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionAccount` (r:0 w:1)
-	/// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
+	/// Storage: Nfts NextCollectionId (r:1 w:1)
+	/// Proof: Nfts NextCollectionId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:0 w:1)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:0 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionAccount (r:0 w:1)
+	/// Proof: Nfts CollectionAccount (max_values: None, max_size: Some(68), added: 2543, mode: MaxEncodedLen)
 	fn force_create() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `3549`
-		// Minimum execution time: 19_430_000 picoseconds.
-		Weight::from_parts(20_054_000, 3549)
+		// Minimum execution time: 23_257_000 picoseconds.
+		Weight::from_parts(23_770_000, 3549)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemMetadataOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:1)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1001 w:1000)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1000 w:1000)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionMetadataOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionMetadataOf` (`max_values`: None, `max_size`: Some(294), added: 2769, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionAccount` (r:0 w:1)
-	/// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemMetadataOf (r:1 w:0)
+	/// Proof: Nfts ItemMetadataOf (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:1)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1001 w:1000)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1000 w:1000)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionMetadataOf (r:0 w:1)
+	/// Proof: Nfts CollectionMetadataOf (max_values: None, max_size: Some(87), added: 2562, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:0 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionAccount (r:0 w:1)
+	/// Proof: Nfts CollectionAccount (max_values: None, max_size: Some(68), added: 2543, mode: MaxEncodedLen)
 	/// The range of component `m` is `[0, 1000]`.
 	/// The range of component `c` is `[0, 1000]`.
 	/// The range of component `a` is `[0, 1000]`.
 	fn destroy(_m: u32, _c: u32, a: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `32204 + a * (366 ±0)`
-		//  Estimated: `2523990 + a * (2954 ±0)`
-		// Minimum execution time: 1_249_733_000 picoseconds.
-		Weight::from_parts(1_293_703_849, 2523990)
-			// Standard Error: 4_764
-			.saturating_add(Weight::from_parts(6_433_523, 0).saturating_mul(a.into()))
+		//  Measured:  `32220 + a * (332 ±0)`
+		//  Estimated: `2523990 + a * (2921 ±0)`
+		// Minimum execution time: 1_310_198_000 picoseconds.
+		Weight::from_parts(1_479_261_043, 2523990)
+			// Standard Error: 4_415
+			.saturating_add(Weight::from_parts(6_016_212, 0).saturating_mul(a.into()))
 			.saturating_add(T::DbWeight::get().reads(1004_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into())))
 			.saturating_add(T::DbWeight::get().writes(1005_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(a.into())))
-			.saturating_add(Weight::from_parts(0, 2954).saturating_mul(a.into()))
-	}
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:1)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
+			.saturating_add(Weight::from_parts(0, 2921).saturating_mul(a.into()))
+	}
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:1)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
 	fn mint() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `455`
 		//  Estimated: `4326`
-		// Minimum execution time: 48_645_000 picoseconds.
-		Weight::from_parts(50_287_000, 4326)
+		// Minimum execution time: 51_910_000 picoseconds.
+		Weight::from_parts(53_441_000, 4326)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:1)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:1)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
 	fn force_mint() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `455`
 		//  Estimated: `4326`
-		// Minimum execution time: 46_688_000 picoseconds.
-		Weight::from_parts(47_680_000, 4326)
+		// Minimum execution time: 50_168_000 picoseconds.
+		Weight::from_parts(51_380_000, 4326)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Nfts::Attribute` (r:1 w:0)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemMetadataOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:1)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemPriceOf` (r:0 w:1)
-	/// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemAttributesApprovalsOf` (r:0 w:1)
-	/// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(681), added: 3156, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::PendingSwapOf` (r:0 w:1)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemMetadataOf (r:1 w:0)
+	/// Proof: Nfts ItemMetadataOf (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:1)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemPriceOf (r:0 w:1)
+	/// Proof: Nfts ItemPriceOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemAttributesApprovalsOf (r:0 w:1)
+	/// Proof: Nfts ItemAttributesApprovalsOf (max_values: None, max_size: Some(681), added: 3156, mode: MaxEncodedLen)
+	/// Storage: Nfts PendingSwapOf (r:0 w:1)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
 	fn burn() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `564`
 		//  Estimated: `4326`
-		// Minimum execution time: 51_771_000 picoseconds.
-		Weight::from_parts(53_492_000, 4326)
-			.saturating_add(T::DbWeight::get().reads(5_u64))
+		// Minimum execution time: 50_738_000 picoseconds.
+		Weight::from_parts(51_850_000, 4326)
+			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(7_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1 w:0)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:2)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemPriceOf` (r:0 w:1)
-	/// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::PendingSwapOf` (r:0 w:1)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1 w:0)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:2)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemPriceOf (r:0 w:1)
+	/// Proof: Nfts ItemPriceOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
+	/// Storage: Nfts PendingSwapOf (r:0 w:1)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
 	fn transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `593`
 		//  Estimated: `4326`
-		// Minimum execution time: 39_166_000 picoseconds.
-		Weight::from_parts(40_128_000, 4326)
+		// Minimum execution time: 41_055_000 picoseconds.
+		Weight::from_parts(42_336_000, 4326)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:5000 w:5000)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:5000 w:5000)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
 	/// The range of component `i` is `[0, 5000]`.
 	fn redeposit(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `763 + i * (108 ±0)`
 		//  Estimated: `3549 + i * (3336 ±0)`
-		// Minimum execution time: 13_804_000 picoseconds.
-		Weight::from_parts(14_159_000, 3549)
-			// Standard Error: 13_812
-			.saturating_add(Weight::from_parts(14_661_284, 0).saturating_mul(i.into()))
+		// Minimum execution time: 15_688_000 picoseconds.
+		Weight::from_parts(15_921_000, 3549)
+			// Standard Error: 14_827
+			.saturating_add(Weight::from_parts(17_105_395, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 			.saturating_add(Weight::from_parts(0, 3336).saturating_mul(i.into()))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
 	fn lock_item_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `435`
 		//  Estimated: `3534`
-		// Minimum execution time: 17_485_000 picoseconds.
-		Weight::from_parts(18_412_000, 3534)
+		// Minimum execution time: 19_981_000 picoseconds.
+		Weight::from_parts(20_676_000, 3534)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
 	fn unlock_item_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `435`
 		//  Estimated: `3534`
-		// Minimum execution time: 17_335_000 picoseconds.
-		Weight::from_parts(18_543_000, 3534)
+		// Minimum execution time: 19_911_000 picoseconds.
+		Weight::from_parts(20_612_000, 3534)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
 	fn lock_collection() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `340`
 		//  Estimated: `3549`
-		// Minimum execution time: 14_608_000 picoseconds.
-		Weight::from_parts(15_696_000, 3549)
+		// Minimum execution time: 16_441_000 picoseconds.
+		Weight::from_parts(16_890_000, 3549)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::OwnershipAcceptance` (r:1 w:1)
-	/// Proof: `Nfts::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionAccount` (r:0 w:2)
-	/// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
+	/// Storage: Nfts OwnershipAcceptance (r:1 w:1)
+	/// Proof: Nfts OwnershipAcceptance (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionAccount (r:0 w:2)
+	/// Proof: Nfts CollectionAccount (max_values: None, max_size: Some(68), added: 2543, mode: MaxEncodedLen)
 	fn transfer_ownership() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `562`
-		//  Estimated: `3593`
-		// Minimum execution time: 25_686_000 picoseconds.
-		Weight::from_parts(26_433_000, 3593)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
-			.saturating_add(T::DbWeight::get().writes(5_u64))
+		//  Measured:  `388`
+		//  Estimated: `3549`
+		// Minimum execution time: 22_610_000 picoseconds.
+		Weight::from_parts(23_422_000, 3549)
+			.saturating_add(T::DbWeight::get().reads(2_u64))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:2 w:4)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:2 w:4)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn set_team() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `369`
 		//  Estimated: `6078`
-		// Minimum execution time: 37_192_000 picoseconds.
-		Weight::from_parts(38_561_000, 6078)
+		// Minimum execution time: 39_739_000 picoseconds.
+		Weight::from_parts(41_306_000, 6078)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionAccount` (r:0 w:2)
-	/// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionAccount (r:0 w:2)
+	/// Proof: Nfts CollectionAccount (max_values: None, max_size: Some(68), added: 2543, mode: MaxEncodedLen)
 	fn force_collection_owner() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `311`
 		//  Estimated: `3549`
-		// Minimum execution time: 15_401_000 picoseconds.
-		Weight::from_parts(15_826_000, 3549)
+		// Minimum execution time: 17_685_000 picoseconds.
+		Weight::from_parts(18_258_000, 3549)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:0 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
 	fn force_collection_config() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `276`
 		//  Estimated: `3549`
-		// Minimum execution time: 11_683_000 picoseconds.
-		Weight::from_parts(12_255_000, 3549)
+		// Minimum execution time: 13_734_000 picoseconds.
+		Weight::from_parts(14_337_000, 3549)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
 	fn lock_item_properties() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `435`
 		//  Estimated: `3534`
-		// Minimum execution time: 16_899_000 picoseconds.
-		Weight::from_parts(17_404_000, 3534)
+		// Minimum execution time: 19_269_000 picoseconds.
+		Weight::from_parts(19_859_000, 3534)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1 w:1)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1 w:1)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
 	fn set_attribute() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `539`
-		//  Estimated: `3944`
-		// Minimum execution time: 46_768_000 picoseconds.
-		Weight::from_parts(47_834_000, 3944)
+		//  Estimated: `3911`
+		// Minimum execution time: 51_540_000 picoseconds.
+		Weight::from_parts(52_663_000, 3911)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1 w:1)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1 w:1)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
 	fn force_set_attribute() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `344`
-		//  Estimated: `3944`
-		// Minimum execution time: 23_356_000 picoseconds.
-		Weight::from_parts(24_528_000, 3944)
+		//  Estimated: `3911`
+		// Minimum execution time: 26_529_000 picoseconds.
+		Weight::from_parts(27_305_000, 3911)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nfts::Attribute` (r:1 w:1)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Attribute (r:1 w:1)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
 	fn clear_attribute() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `983`
-		//  Estimated: `3944`
-		// Minimum execution time: 43_061_000 picoseconds.
-		Weight::from_parts(44_024_000, 3944)
+		//  Measured:  `950`
+		//  Estimated: `3911`
+		// Minimum execution time: 46_951_000 picoseconds.
+		Weight::from_parts(48_481_000, 3911)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemAttributesApprovalsOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(681), added: 3156, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemAttributesApprovalsOf (r:1 w:1)
+	/// Proof: Nfts ItemAttributesApprovalsOf (max_values: None, max_size: Some(681), added: 3156, mode: MaxEncodedLen)
 	fn approve_item_attributes() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `381`
 		//  Estimated: `4326`
-		// Minimum execution time: 14_929_000 picoseconds.
-		Weight::from_parts(15_344_000, 4326)
+		// Minimum execution time: 17_222_000 picoseconds.
+		Weight::from_parts(17_819_000, 4326)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemAttributesApprovalsOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(681), added: 3156, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1001 w:1000)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemAttributesApprovalsOf (r:1 w:1)
+	/// Proof: Nfts ItemAttributesApprovalsOf (max_values: None, max_size: Some(681), added: 3156, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1001 w:1000)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 1000]`.
 	fn cancel_item_attributes_approval(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `831 + n * (398 ±0)`
-		//  Estimated: `4326 + n * (2954 ±0)`
-		// Minimum execution time: 23_707_000 picoseconds.
-		Weight::from_parts(24_688_000, 4326)
-			// Standard Error: 3_813
-			.saturating_add(Weight::from_parts(6_422_256, 0).saturating_mul(n.into()))
+		//  Measured:  `837 + n * (364 ±0)`
+		//  Estimated: `4326 + n * (2921 ±0)`
+		// Minimum execution time: 26_185_000 picoseconds.
+		Weight::from_parts(27_038_000, 4326)
+			// Standard Error: 2_378
+			.saturating_add(Weight::from_parts(6_067_888, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 2954).saturating_mul(n.into()))
-	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemMetadataOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`)
+			.saturating_add(Weight::from_parts(0, 2921).saturating_mul(n.into()))
+	}
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemMetadataOf (r:1 w:1)
+	/// Proof: Nfts ItemMetadataOf (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	fn set_metadata() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `539`
-		//  Estimated: `3812`
-		// Minimum execution time: 37_882_000 picoseconds.
-		Weight::from_parts(39_222_000, 3812)
+		//  Estimated: `3605`
+		// Minimum execution time: 42_120_000 picoseconds.
+		Weight::from_parts(43_627_000, 3605)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemMetadataOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemMetadataOf (r:1 w:1)
+	/// Proof: Nfts ItemMetadataOf (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
 	fn clear_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `849`
-		//  Estimated: `3812`
-		// Minimum execution time: 36_629_000 picoseconds.
-		Weight::from_parts(37_351_000, 3812)
+		//  Measured:  `642`
+		//  Estimated: `3605`
+		// Minimum execution time: 40_732_000 picoseconds.
+		Weight::from_parts(42_760_000, 3605)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionMetadataOf` (r:1 w:1)
-	/// Proof: `Nfts::CollectionMetadataOf` (`max_values`: None, `max_size`: Some(294), added: 2769, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionMetadataOf (r:1 w:1)
+	/// Proof: Nfts CollectionMetadataOf (max_values: None, max_size: Some(87), added: 2562, mode: MaxEncodedLen)
 	fn set_collection_metadata() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `398`
-		//  Estimated: `3759`
-		// Minimum execution time: 34_853_000 picoseconds.
-		Weight::from_parts(35_914_000, 3759)
+		//  Estimated: `3552`
+		// Minimum execution time: 39_443_000 picoseconds.
+		Weight::from_parts(40_482_000, 3552)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionMetadataOf` (r:1 w:1)
-	/// Proof: `Nfts::CollectionMetadataOf` (`max_values`: None, `max_size`: Some(294), added: 2769, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionMetadataOf (r:1 w:1)
+	/// Proof: Nfts CollectionMetadataOf (max_values: None, max_size: Some(87), added: 2562, mode: MaxEncodedLen)
 	fn clear_collection_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `716`
-		//  Estimated: `3759`
-		// Minimum execution time: 33_759_000 picoseconds.
-		Weight::from_parts(34_729_000, 3759)
+		//  Measured:  `509`
+		//  Estimated: `3552`
+		// Minimum execution time: 37_676_000 picoseconds.
+		Weight::from_parts(39_527_000, 3552)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
 	fn approve_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `410`
 		//  Estimated: `4326`
-		// Minimum execution time: 17_583_000 picoseconds.
-		Weight::from_parts(18_675_000, 4326)
+		// Minimum execution time: 20_787_000 picoseconds.
+		Weight::from_parts(21_315_000, 4326)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
 	fn cancel_approval() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `418`
 		//  Estimated: `4326`
-		// Minimum execution time: 15_036_000 picoseconds.
-		Weight::from_parts(15_995_000, 4326)
+		// Minimum execution time: 18_200_000 picoseconds.
+		Weight::from_parts(19_064_000, 4326)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
 	fn clear_all_transfer_approvals() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `418`
 		//  Estimated: `4326`
-		// Minimum execution time: 14_666_000 picoseconds.
-		Weight::from_parts(15_152_000, 4326)
+		// Minimum execution time: 17_128_000 picoseconds.
+		Weight::from_parts(17_952_000, 4326)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::OwnershipAcceptance` (r:1 w:1)
-	/// Proof: `Nfts::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
+	/// Storage: Nfts OwnershipAcceptance (r:1 w:1)
+	/// Proof: Nfts OwnershipAcceptance (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
 	fn set_accept_ownership() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `3517`
-		// Minimum execution time: 12_393_000 picoseconds.
-		Weight::from_parts(12_895_000, 3517)
+		// Minimum execution time: 14_667_000 picoseconds.
+		Weight::from_parts(15_262_000, 3517)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
 	fn set_collection_max_supply() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `340`
 		//  Estimated: `3549`
-		// Minimum execution time: 16_034_000 picoseconds.
-		Weight::from_parts(16_617_000, 3549)
+		// Minimum execution time: 18_435_000 picoseconds.
+		Weight::from_parts(18_775_000, 3549)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
 	fn update_mint_settings() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `323`
 		//  Estimated: `3538`
-		// Minimum execution time: 15_812_000 picoseconds.
-		Weight::from_parts(16_644_000, 3538)
+		// Minimum execution time: 18_125_000 picoseconds.
+		Weight::from_parts(18_415_000, 3538)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemPriceOf` (r:0 w:1)
-	/// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemPriceOf (r:0 w:1)
+	/// Proof: Nfts ItemPriceOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
 	fn set_price() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `518`
 		//  Estimated: `4326`
-		// Minimum execution time: 21_650_000 picoseconds.
-		Weight::from_parts(22_443_000, 4326)
+		// Minimum execution time: 23_237_000 picoseconds.
+		Weight::from_parts(24_128_000, 4326)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemPriceOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1 w:0)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:2)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::PendingSwapOf` (r:0 w:1)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemPriceOf (r:1 w:1)
+	/// Proof: Nfts ItemPriceOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1 w:0)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:2)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
+	/// Storage: Nfts PendingSwapOf (r:0 w:1)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
 	fn buy_item() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `705`
 		//  Estimated: `4326`
-		// Minimum execution time: 49_463_000 picoseconds.
-		Weight::from_parts(50_937_000, 4326)
+		// Minimum execution time: 53_291_000 picoseconds.
+		Weight::from_parts(54_614_000, 4326)
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
@@ -662,685 +658,681 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_029_000 picoseconds.
-		Weight::from_parts(3_749_829, 0)
-			// Standard Error: 8_497
-			.saturating_add(Weight::from_parts(1_913_514, 0).saturating_mul(n.into()))
-	}
-	/// Storage: `Nfts::Item` (r:2 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::PendingSwapOf` (r:0 w:1)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
+		// Minimum execution time: 2_192_000 picoseconds.
+		Weight::from_parts(4_039_901, 0)
+			// Standard Error: 10_309
+			.saturating_add(Weight::from_parts(3_934_017, 0).saturating_mul(n.into()))
+	}
+	/// Storage: Nfts Item (r:2 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts PendingSwapOf (r:0 w:1)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
 	fn create_swap() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `494`
 		//  Estimated: `7662`
-		// Minimum execution time: 18_181_000 picoseconds.
-		Weight::from_parts(18_698_000, 7662)
+		// Minimum execution time: 21_011_000 picoseconds.
+		Weight::from_parts(22_065_000, 7662)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::PendingSwapOf` (r:1 w:1)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
+	/// Storage: Nfts PendingSwapOf (r:1 w:1)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
 	fn cancel_swap() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `513`
 		//  Estimated: `4326`
-		// Minimum execution time: 18_228_000 picoseconds.
-		Weight::from_parts(18_940_000, 4326)
+		// Minimum execution time: 21_423_000 picoseconds.
+		Weight::from_parts(21_743_000, 4326)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:2 w:2)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::PendingSwapOf` (r:1 w:2)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:2 w:0)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:2 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:4)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemPriceOf` (r:0 w:2)
-	/// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:2 w:2)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts PendingSwapOf (r:1 w:2)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:2 w:0)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:2 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:4)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemPriceOf (r:0 w:2)
+	/// Proof: Nfts ItemPriceOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
 	fn claim_swap() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `834`
 		//  Estimated: `7662`
-		// Minimum execution time: 77_983_000 picoseconds.
-		Weight::from_parts(79_887_000, 7662)
+		// Minimum execution time: 86_059_000 picoseconds.
+		Weight::from_parts(88_401_000, 7662)
 			.saturating_add(T::DbWeight::get().reads(9_u64))
 			.saturating_add(T::DbWeight::get().writes(10_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:2 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:10 w:10)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemMetadataOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:1)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:2 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:10 w:10)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemMetadataOf (r:1 w:1)
+	/// Proof: Nfts ItemMetadataOf (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:1)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 10]`.
 	fn mint_pre_signed(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `629`
-		//  Estimated: `6078 + n * (2954 ±0)`
-		// Minimum execution time: 126_998_000 picoseconds.
-		Weight::from_parts(134_149_389, 6078)
-			// Standard Error: 33_180
-			.saturating_add(Weight::from_parts(30_711_206, 0).saturating_mul(n.into()))
+		//  Estimated: `6078 + n * (2921 ±0)`
+		// Minimum execution time: 146_746_000 picoseconds.
+		Weight::from_parts(152_885_862, 6078)
+			// Standard Error: 40_442
+			.saturating_add(Weight::from_parts(32_887_800, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(8_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 2954).saturating_mul(n.into()))
-	}
-	/// Storage: `Nfts::Item` (r:1 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemAttributesApprovalsOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(681), added: 3156, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:10 w:10)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+			.saturating_add(Weight::from_parts(0, 2921).saturating_mul(n.into()))
+	}
+	/// Storage: Nfts Item (r:1 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemAttributesApprovalsOf (r:1 w:1)
+	/// Proof: Nfts ItemAttributesApprovalsOf (max_values: None, max_size: Some(681), added: 3156, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:10 w:10)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 10]`.
 	fn set_attributes_pre_signed(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `659`
-		//  Estimated: `4326 + n * (2954 ±0)`
-		// Minimum execution time: 66_213_000 picoseconds.
-		Weight::from_parts(81_661_819, 4326)
-			// Standard Error: 87_003
-			.saturating_add(Weight::from_parts(29_550_476, 0).saturating_mul(n.into()))
+		//  Estimated: `4326 + n * (2921 ±0)`
+		// Minimum execution time: 83_960_000 picoseconds.
+		Weight::from_parts(98_609_885, 4326)
+			// Standard Error: 85_991
+			.saturating_add(Weight::from_parts(32_633_495, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 2954).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(0, 2921).saturating_mul(n.into()))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Nfts::NextCollectionId` (r:1 w:1)
-	/// Proof: `Nfts::NextCollectionId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionAccount` (r:0 w:1)
-	/// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
+	/// Storage: Nfts NextCollectionId (r:1 w:1)
+	/// Proof: Nfts NextCollectionId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:0 w:1)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:0 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionAccount (r:0 w:1)
+	/// Proof: Nfts CollectionAccount (max_values: None, max_size: Some(68), added: 2543, mode: MaxEncodedLen)
 	fn create() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `216`
 		//  Estimated: `3549`
-		// Minimum execution time: 34_035_000 picoseconds.
-		Weight::from_parts(35_228_000, 3549)
+		// Minimum execution time: 40_489_000 picoseconds.
+		Weight::from_parts(41_320_000, 3549)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Nfts::NextCollectionId` (r:1 w:1)
-	/// Proof: `Nfts::NextCollectionId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionAccount` (r:0 w:1)
-	/// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
+	/// Storage: Nfts NextCollectionId (r:1 w:1)
+	/// Proof: Nfts NextCollectionId (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:0 w:1)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:0 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionAccount (r:0 w:1)
+	/// Proof: Nfts CollectionAccount (max_values: None, max_size: Some(68), added: 2543, mode: MaxEncodedLen)
 	fn force_create() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `3549`
-		// Minimum execution time: 19_430_000 picoseconds.
-		Weight::from_parts(20_054_000, 3549)
+		// Minimum execution time: 23_257_000 picoseconds.
+		Weight::from_parts(23_770_000, 3549)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemMetadataOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:1)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1001 w:1000)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1000 w:1000)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionMetadataOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionMetadataOf` (`max_values`: None, `max_size`: Some(294), added: 2769, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionAccount` (r:0 w:1)
-	/// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemMetadataOf (r:1 w:0)
+	/// Proof: Nfts ItemMetadataOf (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:1)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1001 w:1000)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1000 w:1000)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionMetadataOf (r:0 w:1)
+	/// Proof: Nfts CollectionMetadataOf (max_values: None, max_size: Some(87), added: 2562, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:0 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionAccount (r:0 w:1)
+	/// Proof: Nfts CollectionAccount (max_values: None, max_size: Some(68), added: 2543, mode: MaxEncodedLen)
 	/// The range of component `m` is `[0, 1000]`.
 	/// The range of component `c` is `[0, 1000]`.
 	/// The range of component `a` is `[0, 1000]`.
 	fn destroy(_m: u32, _c: u32, a: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `32204 + a * (366 ±0)`
-		//  Estimated: `2523990 + a * (2954 ±0)`
-		// Minimum execution time: 1_249_733_000 picoseconds.
-		Weight::from_parts(1_293_703_849, 2523990)
-			// Standard Error: 4_764
-			.saturating_add(Weight::from_parts(6_433_523, 0).saturating_mul(a.into()))
+		//  Measured:  `32220 + a * (332 ±0)`
+		//  Estimated: `2523990 + a * (2921 ±0)`
+		// Minimum execution time: 1_310_198_000 picoseconds.
+		Weight::from_parts(1_479_261_043, 2523990)
+			// Standard Error: 4_415
+			.saturating_add(Weight::from_parts(6_016_212, 0).saturating_mul(a.into()))
 			.saturating_add(RocksDbWeight::get().reads(1004_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(a.into())))
 			.saturating_add(RocksDbWeight::get().writes(1005_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(a.into())))
-			.saturating_add(Weight::from_parts(0, 2954).saturating_mul(a.into()))
-	}
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:1)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
+			.saturating_add(Weight::from_parts(0, 2921).saturating_mul(a.into()))
+	}
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:1)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
 	fn mint() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `455`
 		//  Estimated: `4326`
-		// Minimum execution time: 48_645_000 picoseconds.
-		Weight::from_parts(50_287_000, 4326)
+		// Minimum execution time: 51_910_000 picoseconds.
+		Weight::from_parts(53_441_000, 4326)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:1)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:1)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
 	fn force_mint() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `455`
 		//  Estimated: `4326`
-		// Minimum execution time: 46_688_000 picoseconds.
-		Weight::from_parts(47_680_000, 4326)
+		// Minimum execution time: 50_168_000 picoseconds.
+		Weight::from_parts(51_380_000, 4326)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Nfts::Attribute` (r:1 w:0)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemMetadataOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:1)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemPriceOf` (r:0 w:1)
-	/// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemAttributesApprovalsOf` (r:0 w:1)
-	/// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(681), added: 3156, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::PendingSwapOf` (r:0 w:1)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemMetadataOf (r:1 w:0)
+	/// Proof: Nfts ItemMetadataOf (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:1)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemPriceOf (r:0 w:1)
+	/// Proof: Nfts ItemPriceOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemAttributesApprovalsOf (r:0 w:1)
+	/// Proof: Nfts ItemAttributesApprovalsOf (max_values: None, max_size: Some(681), added: 3156, mode: MaxEncodedLen)
+	/// Storage: Nfts PendingSwapOf (r:0 w:1)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
 	fn burn() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `564`
 		//  Estimated: `4326`
-		// Minimum execution time: 51_771_000 picoseconds.
-		Weight::from_parts(53_492_000, 4326)
-			.saturating_add(RocksDbWeight::get().reads(5_u64))
+		// Minimum execution time: 50_738_000 picoseconds.
+		Weight::from_parts(51_850_000, 4326)
+			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(7_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1 w:0)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:2)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemPriceOf` (r:0 w:1)
-	/// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::PendingSwapOf` (r:0 w:1)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1 w:0)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:2)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemPriceOf (r:0 w:1)
+	/// Proof: Nfts ItemPriceOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
+	/// Storage: Nfts PendingSwapOf (r:0 w:1)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
 	fn transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `593`
 		//  Estimated: `4326`
-		// Minimum execution time: 39_166_000 picoseconds.
-		Weight::from_parts(40_128_000, 4326)
+		// Minimum execution time: 41_055_000 picoseconds.
+		Weight::from_parts(42_336_000, 4326)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:5000 w:5000)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:5000 w:5000)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
 	/// The range of component `i` is `[0, 5000]`.
 	fn redeposit(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `763 + i * (108 ±0)`
 		//  Estimated: `3549 + i * (3336 ±0)`
-		// Minimum execution time: 13_804_000 picoseconds.
-		Weight::from_parts(14_159_000, 3549)
-			// Standard Error: 13_812
-			.saturating_add(Weight::from_parts(14_661_284, 0).saturating_mul(i.into()))
+		// Minimum execution time: 15_688_000 picoseconds.
+		Weight::from_parts(15_921_000, 3549)
+			// Standard Error: 14_827
+			.saturating_add(Weight::from_parts(17_105_395, 0).saturating_mul(i.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(i.into())))
 			.saturating_add(Weight::from_parts(0, 3336).saturating_mul(i.into()))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
 	fn lock_item_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `435`
 		//  Estimated: `3534`
-		// Minimum execution time: 17_485_000 picoseconds.
-		Weight::from_parts(18_412_000, 3534)
+		// Minimum execution time: 19_981_000 picoseconds.
+		Weight::from_parts(20_676_000, 3534)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
 	fn unlock_item_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `435`
 		//  Estimated: `3534`
-		// Minimum execution time: 17_335_000 picoseconds.
-		Weight::from_parts(18_543_000, 3534)
+		// Minimum execution time: 19_911_000 picoseconds.
+		Weight::from_parts(20_612_000, 3534)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
 	fn lock_collection() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `340`
 		//  Estimated: `3549`
-		// Minimum execution time: 14_608_000 picoseconds.
-		Weight::from_parts(15_696_000, 3549)
+		// Minimum execution time: 16_441_000 picoseconds.
+		Weight::from_parts(16_890_000, 3549)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::OwnershipAcceptance` (r:1 w:1)
-	/// Proof: `Nfts::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionAccount` (r:0 w:2)
-	/// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
+	/// Storage: Nfts OwnershipAcceptance (r:1 w:1)
+	/// Proof: Nfts OwnershipAcceptance (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionAccount (r:0 w:2)
+	/// Proof: Nfts CollectionAccount (max_values: None, max_size: Some(68), added: 2543, mode: MaxEncodedLen)
 	fn transfer_ownership() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `562`
-		//  Estimated: `3593`
-		// Minimum execution time: 25_686_000 picoseconds.
-		Weight::from_parts(26_433_000, 3593)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
-			.saturating_add(RocksDbWeight::get().writes(5_u64))
+		//  Measured:  `388`
+		//  Estimated: `3549`
+		// Minimum execution time: 22_610_000 picoseconds.
+		Weight::from_parts(23_422_000, 3549)
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:2 w:4)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:2 w:4)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn set_team() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `369`
 		//  Estimated: `6078`
-		// Minimum execution time: 37_192_000 picoseconds.
-		Weight::from_parts(38_561_000, 6078)
+		// Minimum execution time: 39_739_000 picoseconds.
+		Weight::from_parts(41_306_000, 6078)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionAccount` (r:0 w:2)
-	/// Proof: `Nfts::CollectionAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionAccount (r:0 w:2)
+	/// Proof: Nfts CollectionAccount (max_values: None, max_size: Some(68), added: 2543, mode: MaxEncodedLen)
 	fn force_collection_owner() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `311`
 		//  Estimated: `3549`
-		// Minimum execution time: 15_401_000 picoseconds.
-		Weight::from_parts(15_826_000, 3549)
+		// Minimum execution time: 17_685_000 picoseconds.
+		Weight::from_parts(18_258_000, 3549)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:0 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:0 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
 	fn force_collection_config() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `276`
 		//  Estimated: `3549`
-		// Minimum execution time: 11_683_000 picoseconds.
-		Weight::from_parts(12_255_000, 3549)
+		// Minimum execution time: 13_734_000 picoseconds.
+		Weight::from_parts(14_337_000, 3549)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
 	fn lock_item_properties() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `435`
 		//  Estimated: `3534`
-		// Minimum execution time: 16_899_000 picoseconds.
-		Weight::from_parts(17_404_000, 3534)
+		// Minimum execution time: 19_269_000 picoseconds.
+		Weight::from_parts(19_859_000, 3534)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1 w:1)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1 w:1)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
 	fn set_attribute() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `539`
-		//  Estimated: `3944`
-		// Minimum execution time: 46_768_000 picoseconds.
-		Weight::from_parts(47_834_000, 3944)
+		//  Estimated: `3911`
+		// Minimum execution time: 51_540_000 picoseconds.
+		Weight::from_parts(52_663_000, 3911)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1 w:1)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1 w:1)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
 	fn force_set_attribute() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `344`
-		//  Estimated: `3944`
-		// Minimum execution time: 23_356_000 picoseconds.
-		Weight::from_parts(24_528_000, 3944)
+		//  Estimated: `3911`
+		// Minimum execution time: 26_529_000 picoseconds.
+		Weight::from_parts(27_305_000, 3911)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nfts::Attribute` (r:1 w:1)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Attribute (r:1 w:1)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
 	fn clear_attribute() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `983`
-		//  Estimated: `3944`
-		// Minimum execution time: 43_061_000 picoseconds.
-		Weight::from_parts(44_024_000, 3944)
+		//  Measured:  `950`
+		//  Estimated: `3911`
+		// Minimum execution time: 46_951_000 picoseconds.
+		Weight::from_parts(48_481_000, 3911)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemAttributesApprovalsOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(681), added: 3156, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemAttributesApprovalsOf (r:1 w:1)
+	/// Proof: Nfts ItemAttributesApprovalsOf (max_values: None, max_size: Some(681), added: 3156, mode: MaxEncodedLen)
 	fn approve_item_attributes() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `381`
 		//  Estimated: `4326`
-		// Minimum execution time: 14_929_000 picoseconds.
-		Weight::from_parts(15_344_000, 4326)
+		// Minimum execution time: 17_222_000 picoseconds.
+		Weight::from_parts(17_819_000, 4326)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemAttributesApprovalsOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(681), added: 3156, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1001 w:1000)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemAttributesApprovalsOf (r:1 w:1)
+	/// Proof: Nfts ItemAttributesApprovalsOf (max_values: None, max_size: Some(681), added: 3156, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1001 w:1000)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 1000]`.
 	fn cancel_item_attributes_approval(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `831 + n * (398 ±0)`
-		//  Estimated: `4326 + n * (2954 ±0)`
-		// Minimum execution time: 23_707_000 picoseconds.
-		Weight::from_parts(24_688_000, 4326)
-			// Standard Error: 3_813
-			.saturating_add(Weight::from_parts(6_422_256, 0).saturating_mul(n.into()))
+		//  Measured:  `837 + n * (364 ±0)`
+		//  Estimated: `4326 + n * (2921 ±0)`
+		// Minimum execution time: 26_185_000 picoseconds.
+		Weight::from_parts(27_038_000, 4326)
+			// Standard Error: 2_378
+			.saturating_add(Weight::from_parts(6_067_888, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 2954).saturating_mul(n.into()))
-	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemMetadataOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`)
+			.saturating_add(Weight::from_parts(0, 2921).saturating_mul(n.into()))
+	}
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemMetadataOf (r:1 w:1)
+	/// Proof: Nfts ItemMetadataOf (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
 	fn set_metadata() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `539`
-		//  Estimated: `3812`
-		// Minimum execution time: 37_882_000 picoseconds.
-		Weight::from_parts(39_222_000, 3812)
+		//  Estimated: `3605`
+		// Minimum execution time: 42_120_000 picoseconds.
+		Weight::from_parts(43_627_000, 3605)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemMetadataOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemMetadataOf (r:1 w:1)
+	/// Proof: Nfts ItemMetadataOf (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
 	fn clear_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `849`
-		//  Estimated: `3812`
-		// Minimum execution time: 36_629_000 picoseconds.
-		Weight::from_parts(37_351_000, 3812)
+		//  Measured:  `642`
+		//  Estimated: `3605`
+		// Minimum execution time: 40_732_000 picoseconds.
+		Weight::from_parts(42_760_000, 3605)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionMetadataOf` (r:1 w:1)
-	/// Proof: `Nfts::CollectionMetadataOf` (`max_values`: None, `max_size`: Some(294), added: 2769, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionMetadataOf (r:1 w:1)
+	/// Proof: Nfts CollectionMetadataOf (max_values: None, max_size: Some(87), added: 2562, mode: MaxEncodedLen)
 	fn set_collection_metadata() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `398`
-		//  Estimated: `3759`
-		// Minimum execution time: 34_853_000 picoseconds.
-		Weight::from_parts(35_914_000, 3759)
+		//  Estimated: `3552`
+		// Minimum execution time: 39_443_000 picoseconds.
+		Weight::from_parts(40_482_000, 3552)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionMetadataOf` (r:1 w:1)
-	/// Proof: `Nfts::CollectionMetadataOf` (`max_values`: None, `max_size`: Some(294), added: 2769, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionMetadataOf (r:1 w:1)
+	/// Proof: Nfts CollectionMetadataOf (max_values: None, max_size: Some(87), added: 2562, mode: MaxEncodedLen)
 	fn clear_collection_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `716`
-		//  Estimated: `3759`
-		// Minimum execution time: 33_759_000 picoseconds.
-		Weight::from_parts(34_729_000, 3759)
+		//  Measured:  `509`
+		//  Estimated: `3552`
+		// Minimum execution time: 37_676_000 picoseconds.
+		Weight::from_parts(39_527_000, 3552)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
 	fn approve_transfer() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `410`
 		//  Estimated: `4326`
-		// Minimum execution time: 17_583_000 picoseconds.
-		Weight::from_parts(18_675_000, 4326)
+		// Minimum execution time: 20_787_000 picoseconds.
+		Weight::from_parts(21_315_000, 4326)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
 	fn cancel_approval() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `418`
 		//  Estimated: `4326`
-		// Minimum execution time: 15_036_000 picoseconds.
-		Weight::from_parts(15_995_000, 4326)
+		// Minimum execution time: 18_200_000 picoseconds.
+		Weight::from_parts(19_064_000, 4326)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
 	fn clear_all_transfer_approvals() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `418`
 		//  Estimated: `4326`
-		// Minimum execution time: 14_666_000 picoseconds.
-		Weight::from_parts(15_152_000, 4326)
+		// Minimum execution time: 17_128_000 picoseconds.
+		Weight::from_parts(17_952_000, 4326)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::OwnershipAcceptance` (r:1 w:1)
-	/// Proof: `Nfts::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
+	/// Storage: Nfts OwnershipAcceptance (r:1 w:1)
+	/// Proof: Nfts OwnershipAcceptance (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
 	fn set_accept_ownership() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `3517`
-		// Minimum execution time: 12_393_000 picoseconds.
-		Weight::from_parts(12_895_000, 3517)
+		// Minimum execution time: 14_667_000 picoseconds.
+		Weight::from_parts(15_262_000, 3517)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
 	fn set_collection_max_supply() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `340`
 		//  Estimated: `3549`
-		// Minimum execution time: 16_034_000 picoseconds.
-		Weight::from_parts(16_617_000, 3549)
+		// Minimum execution time: 18_435_000 picoseconds.
+		Weight::from_parts(18_775_000, 3549)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:1 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:1)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
 	fn update_mint_settings() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `323`
 		//  Estimated: `3538`
-		// Minimum execution time: 15_812_000 picoseconds.
-		Weight::from_parts(16_644_000, 3538)
+		// Minimum execution time: 18_125_000 picoseconds.
+		Weight::from_parts(18_415_000, 3538)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemPriceOf` (r:0 w:1)
-	/// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemPriceOf (r:0 w:1)
+	/// Proof: Nfts ItemPriceOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
 	fn set_price() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `518`
 		//  Estimated: `4326`
-		// Minimum execution time: 21_650_000 picoseconds.
-		Weight::from_parts(22_443_000, 4326)
+		// Minimum execution time: 23_237_000 picoseconds.
+		Weight::from_parts(24_128_000, 4326)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemPriceOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:1 w:0)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:2)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::PendingSwapOf` (r:0 w:1)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemPriceOf (r:1 w:1)
+	/// Proof: Nfts ItemPriceOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:1 w:0)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:2)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
+	/// Storage: Nfts PendingSwapOf (r:0 w:1)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
 	fn buy_item() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `705`
 		//  Estimated: `4326`
-		// Minimum execution time: 49_463_000 picoseconds.
-		Weight::from_parts(50_937_000, 4326)
+		// Minimum execution time: 53_291_000 picoseconds.
+		Weight::from_parts(54_614_000, 4326)
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
@@ -1349,120 +1341,120 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_029_000 picoseconds.
-		Weight::from_parts(3_749_829, 0)
-			// Standard Error: 8_497
-			.saturating_add(Weight::from_parts(1_913_514, 0).saturating_mul(n.into()))
-	}
-	/// Storage: `Nfts::Item` (r:2 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::PendingSwapOf` (r:0 w:1)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
+		// Minimum execution time: 2_192_000 picoseconds.
+		Weight::from_parts(4_039_901, 0)
+			// Standard Error: 10_309
+			.saturating_add(Weight::from_parts(3_934_017, 0).saturating_mul(n.into()))
+	}
+	/// Storage: Nfts Item (r:2 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts PendingSwapOf (r:0 w:1)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
 	fn create_swap() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `494`
 		//  Estimated: `7662`
-		// Minimum execution time: 18_181_000 picoseconds.
-		Weight::from_parts(18_698_000, 7662)
+		// Minimum execution time: 21_011_000 picoseconds.
+		Weight::from_parts(22_065_000, 7662)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::PendingSwapOf` (r:1 w:1)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
+	/// Storage: Nfts PendingSwapOf (r:1 w:1)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
 	fn cancel_swap() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `513`
 		//  Estimated: `4326`
-		// Minimum execution time: 18_228_000 picoseconds.
-		Weight::from_parts(18_940_000, 4326)
+		// Minimum execution time: 21_423_000 picoseconds.
+		Weight::from_parts(21_743_000, 4326)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nfts::Item` (r:2 w:2)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::PendingSwapOf` (r:1 w:2)
-	/// Proof: `Nfts::PendingSwapOf` (`max_values`: None, `max_size`: Some(71), added: 2546, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:0)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:2 w:0)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:2 w:0)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:4)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemPriceOf` (r:0 w:2)
-	/// Proof: `Nfts::ItemPriceOf` (`max_values`: None, `max_size`: Some(89), added: 2564, mode: `MaxEncodedLen`)
+	/// Storage: Nfts Item (r:2 w:2)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts PendingSwapOf (r:1 w:2)
+	/// Proof: Nfts PendingSwapOf (max_values: None, max_size: Some(71), added: 2546, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:0)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:2 w:0)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:2 w:0)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:4)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemPriceOf (r:0 w:2)
+	/// Proof: Nfts ItemPriceOf (max_values: None, max_size: Some(89), added: 2564, mode: MaxEncodedLen)
 	fn claim_swap() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `834`
 		//  Estimated: `7662`
-		// Minimum execution time: 77_983_000 picoseconds.
-		Weight::from_parts(79_887_000, 7662)
+		// Minimum execution time: 86_059_000 picoseconds.
+		Weight::from_parts(88_401_000, 7662)
 			.saturating_add(RocksDbWeight::get().reads(9_u64))
 			.saturating_add(RocksDbWeight::get().writes(10_u64))
 	}
-	/// Storage: `Nfts::CollectionRoleOf` (r:2 w:0)
-	/// Proof: `Nfts::CollectionRoleOf` (`max_values`: None, `max_size`: Some(69), added: 2544, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Item` (r:1 w:1)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemConfigOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemConfigOf` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:10 w:10)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemMetadataOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemMetadataOf` (`max_values`: None, `max_size`: Some(347), added: 2822, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Account` (r:0 w:1)
-	/// Proof: `Nfts::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
+	/// Storage: Nfts CollectionRoleOf (r:2 w:0)
+	/// Proof: Nfts CollectionRoleOf (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts Item (r:1 w:1)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemConfigOf (r:1 w:1)
+	/// Proof: Nfts ItemConfigOf (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:10 w:10)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemMetadataOf (r:1 w:1)
+	/// Proof: Nfts ItemMetadataOf (max_values: None, max_size: Some(140), added: 2615, mode: MaxEncodedLen)
+	/// Storage: Nfts Account (r:0 w:1)
+	/// Proof: Nfts Account (max_values: None, max_size: Some(88), added: 2563, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 10]`.
 	fn mint_pre_signed(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `629`
-		//  Estimated: `6078 + n * (2954 ±0)`
-		// Minimum execution time: 126_998_000 picoseconds.
-		Weight::from_parts(134_149_389, 6078)
-			// Standard Error: 33_180
-			.saturating_add(Weight::from_parts(30_711_206, 0).saturating_mul(n.into()))
+		//  Estimated: `6078 + n * (2921 ±0)`
+		// Minimum execution time: 146_746_000 picoseconds.
+		Weight::from_parts(152_885_862, 6078)
+			// Standard Error: 40_442
+			.saturating_add(Weight::from_parts(32_887_800, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(8_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 2954).saturating_mul(n.into()))
-	}
-	/// Storage: `Nfts::Item` (r:1 w:0)
-	/// Proof: `Nfts::Item` (`max_values`: None, `max_size`: Some(861), added: 3336, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::ItemAttributesApprovalsOf` (r:1 w:1)
-	/// Proof: `Nfts::ItemAttributesApprovalsOf` (`max_values`: None, `max_size`: Some(681), added: 3156, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::CollectionConfigOf` (r:1 w:0)
-	/// Proof: `Nfts::CollectionConfigOf` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Collection` (r:1 w:1)
-	/// Proof: `Nfts::Collection` (`max_values`: None, `max_size`: Some(84), added: 2559, mode: `MaxEncodedLen`)
-	/// Storage: `Nfts::Attribute` (r:10 w:10)
-	/// Proof: `Nfts::Attribute` (`max_values`: None, `max_size`: Some(479), added: 2954, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+			.saturating_add(Weight::from_parts(0, 2921).saturating_mul(n.into()))
+	}
+	/// Storage: Nfts Item (r:1 w:0)
+	/// Proof: Nfts Item (max_values: None, max_size: Some(861), added: 3336, mode: MaxEncodedLen)
+	/// Storage: Nfts ItemAttributesApprovalsOf (r:1 w:1)
+	/// Proof: Nfts ItemAttributesApprovalsOf (max_values: None, max_size: Some(681), added: 3156, mode: MaxEncodedLen)
+	/// Storage: Nfts CollectionConfigOf (r:1 w:0)
+	/// Proof: Nfts CollectionConfigOf (max_values: None, max_size: Some(73), added: 2548, mode: MaxEncodedLen)
+	/// Storage: Nfts Collection (r:1 w:1)
+	/// Proof: Nfts Collection (max_values: None, max_size: Some(84), added: 2559, mode: MaxEncodedLen)
+	/// Storage: Nfts Attribute (r:10 w:10)
+	/// Proof: Nfts Attribute (max_values: None, max_size: Some(446), added: 2921, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 10]`.
 	fn set_attributes_pre_signed(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `659`
-		//  Estimated: `4326 + n * (2954 ±0)`
-		// Minimum execution time: 66_213_000 picoseconds.
-		Weight::from_parts(81_661_819, 4326)
-			// Standard Error: 87_003
-			.saturating_add(Weight::from_parts(29_550_476, 0).saturating_mul(n.into()))
+		//  Estimated: `4326 + n * (2921 ±0)`
+		// Minimum execution time: 83_960_000 picoseconds.
+		Weight::from_parts(98_609_885, 4326)
+			// Standard Error: 85_991
+			.saturating_add(Weight::from_parts(32_633_495, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 2954).saturating_mul(n.into()))
+			.saturating_add(Weight::from_parts(0, 2921).saturating_mul(n.into()))
 	}
 }
diff --git a/substrate/frame/nis/src/weights.rs b/substrate/frame/nis/src/weights.rs
index 63908271391..cba2f004905 100644
--- a/substrate/frame/nis/src/weights.rs
+++ b/substrate/frame/nis/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_nis`
+//! Autogenerated weights for pallet_nis
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/nis/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/nis/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_nis`.
+/// Weight functions needed for pallet_nis.
 pub trait WeightInfo {
 	fn place_bid(l: u32, ) -> Weight;
 	fn place_bid_max() -> Weight;
@@ -64,367 +65,367 @@ pub trait WeightInfo {
 	fn process_bid() -> Weight;
 }
 
-/// Weights for `pallet_nis` using the Substrate node and recommended hardware.
+/// Weights for pallet_nis using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Nis::Queues` (r:1 w:1)
-	/// Proof: `Nis::Queues` (`max_values`: None, `max_size`: Some(48022), added: 50497, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::QueueTotals` (r:1 w:1)
-	/// Proof: `Nis::QueueTotals` (`max_values`: Some(1), `max_size`: Some(6002), added: 6497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Queues (r:1 w:1)
+	/// Proof: Nis Queues (max_values: None, max_size: Some(48022), added: 50497, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
+	/// Storage: Nis QueueTotals (r:1 w:1)
+	/// Proof: Nis QueueTotals (max_values: Some(1), max_size: Some(6002), added: 6497, mode: MaxEncodedLen)
 	/// The range of component `l` is `[0, 999]`.
 	fn place_bid(l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `6176 + l * (48 ±0)`
 		//  Estimated: `51487`
-		// Minimum execution time: 47_908_000 picoseconds.
-		Weight::from_parts(50_096_676, 51487)
-			// Standard Error: 208
-			.saturating_add(Weight::from_parts(41_318, 0).saturating_mul(l.into()))
+		// Minimum execution time: 49_410_000 picoseconds.
+		Weight::from_parts(57_832_282, 51487)
+			// Standard Error: 288
+			.saturating_add(Weight::from_parts(51_621, 0).saturating_mul(l.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Nis::Queues` (r:1 w:1)
-	/// Proof: `Nis::Queues` (`max_values`: None, `max_size`: Some(48022), added: 50497, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::QueueTotals` (r:1 w:1)
-	/// Proof: `Nis::QueueTotals` (`max_values`: Some(1), `max_size`: Some(6002), added: 6497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Queues (r:1 w:1)
+	/// Proof: Nis Queues (max_values: None, max_size: Some(48022), added: 50497, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
+	/// Storage: Nis QueueTotals (r:1 w:1)
+	/// Proof: Nis QueueTotals (max_values: Some(1), max_size: Some(6002), added: 6497, mode: MaxEncodedLen)
 	fn place_bid_max() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `54178`
 		//  Estimated: `51487`
-		// Minimum execution time: 100_836_000 picoseconds.
-		Weight::from_parts(102_497_000, 51487)
+		// Minimum execution time: 119_696_000 picoseconds.
+		Weight::from_parts(121_838_000, 51487)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Nis::Queues` (r:1 w:1)
-	/// Proof: `Nis::Queues` (`max_values`: None, `max_size`: Some(48022), added: 50497, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::QueueTotals` (r:1 w:1)
-	/// Proof: `Nis::QueueTotals` (`max_values`: Some(1), `max_size`: Some(6002), added: 6497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Queues (r:1 w:1)
+	/// Proof: Nis Queues (max_values: None, max_size: Some(48022), added: 50497, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
+	/// Storage: Nis QueueTotals (r:1 w:1)
+	/// Proof: Nis QueueTotals (max_values: Some(1), max_size: Some(6002), added: 6497, mode: MaxEncodedLen)
 	/// The range of component `l` is `[1, 1000]`.
 	fn retract_bid(l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `6176 + l * (48 ±0)`
 		//  Estimated: `51487`
-		// Minimum execution time: 45_830_000 picoseconds.
-		Weight::from_parts(46_667_676, 51487)
-			// Standard Error: 130
-			.saturating_add(Weight::from_parts(33_007, 0).saturating_mul(l.into()))
+		// Minimum execution time: 50_843_000 picoseconds.
+		Weight::from_parts(54_237_365, 51487)
+			// Standard Error: 243
+			.saturating_add(Weight::from_parts(67_732, 0).saturating_mul(l.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Nis::Summary` (r:1 w:0)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Nis Summary (r:1 w:0)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn fund_deficit() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `191`
 		//  Estimated: `3593`
-		// Minimum execution time: 30_440_000 picoseconds.
-		Weight::from_parts(31_240_000, 3593)
+		// Minimum execution time: 40_752_000 picoseconds.
+		Weight::from_parts(41_899_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nis::Receipts` (r:1 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:1 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
 	fn communify() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `668`
 		//  Estimated: `3675`
-		// Minimum execution time: 71_017_000 picoseconds.
-		Weight::from_parts(72_504_000, 3675)
+		// Minimum execution time: 79_779_000 picoseconds.
+		Weight::from_parts(82_478_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Nis::Receipts` (r:1 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:1 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
 	fn privatize() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `829`
 		//  Estimated: `3675`
-		// Minimum execution time: 89_138_000 picoseconds.
-		Weight::from_parts(91_290_000, 3675)
+		// Minimum execution time: 99_588_000 picoseconds.
+		Weight::from_parts(102_340_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(6_u64))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Nis::Receipts` (r:1 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:1 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:0)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
 	fn thaw_private() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `354`
-		//  Estimated: `3658`
-		// Minimum execution time: 47_917_000 picoseconds.
-		Weight::from_parts(49_121_000, 3658)
+		//  Estimated: `3593`
+		// Minimum execution time: 53_094_000 picoseconds.
+		Weight::from_parts(54_543_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Nis::Receipts` (r:1 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:1 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn thaw_communal() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `773`
 		//  Estimated: `3675`
-		// Minimum execution time: 91_320_000 picoseconds.
-		Weight::from_parts(93_080_000, 3675)
+		// Minimum execution time: 107_248_000 picoseconds.
+		Weight::from_parts(109_923_000, 3675)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::QueueTotals` (r:1 w:1)
-	/// Proof: `Nis::QueueTotals` (`max_values`: Some(1), `max_size`: Some(6002), added: 6497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:0)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Nis QueueTotals (r:1 w:1)
+	/// Proof: Nis QueueTotals (max_values: Some(1), max_size: Some(6002), added: 6497, mode: MaxEncodedLen)
 	fn process_queues() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `6624`
 		//  Estimated: `7487`
-		// Minimum execution time: 20_117_000 picoseconds.
-		Weight::from_parts(20_829_000, 7487)
+		// Minimum execution time: 27_169_000 picoseconds.
+		Weight::from_parts(29_201_000, 7487)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nis::Queues` (r:1 w:1)
-	/// Proof: `Nis::Queues` (`max_values`: None, `max_size`: Some(48022), added: 50497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Queues (r:1 w:1)
+	/// Proof: Nis Queues (max_values: None, max_size: Some(48022), added: 50497, mode: MaxEncodedLen)
 	fn process_queue() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `42`
 		//  Estimated: `51487`
-		// Minimum execution time: 4_460_000 picoseconds.
-		Weight::from_parts(4_797_000, 51487)
+		// Minimum execution time: 4_540_000 picoseconds.
+		Weight::from_parts(4_699_000, 51487)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nis::Receipts` (r:0 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:0 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
 	fn process_bid() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_609_000 picoseconds.
-		Weight::from_parts(4_834_000, 0)
+		// Minimum execution time: 7_085_000 picoseconds.
+		Weight::from_parts(7_336_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Nis::Queues` (r:1 w:1)
-	/// Proof: `Nis::Queues` (`max_values`: None, `max_size`: Some(48022), added: 50497, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::QueueTotals` (r:1 w:1)
-	/// Proof: `Nis::QueueTotals` (`max_values`: Some(1), `max_size`: Some(6002), added: 6497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Queues (r:1 w:1)
+	/// Proof: Nis Queues (max_values: None, max_size: Some(48022), added: 50497, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
+	/// Storage: Nis QueueTotals (r:1 w:1)
+	/// Proof: Nis QueueTotals (max_values: Some(1), max_size: Some(6002), added: 6497, mode: MaxEncodedLen)
 	/// The range of component `l` is `[0, 999]`.
 	fn place_bid(l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `6176 + l * (48 ±0)`
 		//  Estimated: `51487`
-		// Minimum execution time: 47_908_000 picoseconds.
-		Weight::from_parts(50_096_676, 51487)
-			// Standard Error: 208
-			.saturating_add(Weight::from_parts(41_318, 0).saturating_mul(l.into()))
+		// Minimum execution time: 49_410_000 picoseconds.
+		Weight::from_parts(57_832_282, 51487)
+			// Standard Error: 288
+			.saturating_add(Weight::from_parts(51_621, 0).saturating_mul(l.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Nis::Queues` (r:1 w:1)
-	/// Proof: `Nis::Queues` (`max_values`: None, `max_size`: Some(48022), added: 50497, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::QueueTotals` (r:1 w:1)
-	/// Proof: `Nis::QueueTotals` (`max_values`: Some(1), `max_size`: Some(6002), added: 6497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Queues (r:1 w:1)
+	/// Proof: Nis Queues (max_values: None, max_size: Some(48022), added: 50497, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
+	/// Storage: Nis QueueTotals (r:1 w:1)
+	/// Proof: Nis QueueTotals (max_values: Some(1), max_size: Some(6002), added: 6497, mode: MaxEncodedLen)
 	fn place_bid_max() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `54178`
 		//  Estimated: `51487`
-		// Minimum execution time: 100_836_000 picoseconds.
-		Weight::from_parts(102_497_000, 51487)
+		// Minimum execution time: 119_696_000 picoseconds.
+		Weight::from_parts(121_838_000, 51487)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Nis::Queues` (r:1 w:1)
-	/// Proof: `Nis::Queues` (`max_values`: None, `max_size`: Some(48022), added: 50497, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::QueueTotals` (r:1 w:1)
-	/// Proof: `Nis::QueueTotals` (`max_values`: Some(1), `max_size`: Some(6002), added: 6497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Queues (r:1 w:1)
+	/// Proof: Nis Queues (max_values: None, max_size: Some(48022), added: 50497, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
+	/// Storage: Nis QueueTotals (r:1 w:1)
+	/// Proof: Nis QueueTotals (max_values: Some(1), max_size: Some(6002), added: 6497, mode: MaxEncodedLen)
 	/// The range of component `l` is `[1, 1000]`.
 	fn retract_bid(l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `6176 + l * (48 ±0)`
 		//  Estimated: `51487`
-		// Minimum execution time: 45_830_000 picoseconds.
-		Weight::from_parts(46_667_676, 51487)
-			// Standard Error: 130
-			.saturating_add(Weight::from_parts(33_007, 0).saturating_mul(l.into()))
+		// Minimum execution time: 50_843_000 picoseconds.
+		Weight::from_parts(54_237_365, 51487)
+			// Standard Error: 243
+			.saturating_add(Weight::from_parts(67_732, 0).saturating_mul(l.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Nis::Summary` (r:1 w:0)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Nis Summary (r:1 w:0)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn fund_deficit() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `191`
 		//  Estimated: `3593`
-		// Minimum execution time: 30_440_000 picoseconds.
-		Weight::from_parts(31_240_000, 3593)
+		// Minimum execution time: 40_752_000 picoseconds.
+		Weight::from_parts(41_899_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nis::Receipts` (r:1 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:1 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
 	fn communify() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `668`
 		//  Estimated: `3675`
-		// Minimum execution time: 71_017_000 picoseconds.
-		Weight::from_parts(72_504_000, 3675)
+		// Minimum execution time: 79_779_000 picoseconds.
+		Weight::from_parts(82_478_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Nis::Receipts` (r:1 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:1 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
 	fn privatize() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `829`
 		//  Estimated: `3675`
-		// Minimum execution time: 89_138_000 picoseconds.
-		Weight::from_parts(91_290_000, 3675)
+		// Minimum execution time: 99_588_000 picoseconds.
+		Weight::from_parts(102_340_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(6_u64))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
-	/// Storage: `Nis::Receipts` (r:1 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:1 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:0)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Balances Holds (r:1 w:1)
+	/// Proof: Balances Holds (max_values: None, max_size: Some(85), added: 2560, mode: MaxEncodedLen)
 	fn thaw_private() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `354`
-		//  Estimated: `3658`
-		// Minimum execution time: 47_917_000 picoseconds.
-		Weight::from_parts(49_121_000, 3658)
+		//  Estimated: `3593`
+		// Minimum execution time: 53_094_000 picoseconds.
+		Weight::from_parts(54_543_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Nis::Receipts` (r:1 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:1 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:1 w:1)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn thaw_communal() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `773`
 		//  Estimated: `3675`
-		// Minimum execution time: 91_320_000 picoseconds.
-		Weight::from_parts(93_080_000, 3675)
+		// Minimum execution time: 107_248_000 picoseconds.
+		Weight::from_parts(109_923_000, 3675)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Nis::Summary` (r:1 w:1)
-	/// Proof: `Nis::Summary` (`max_values`: Some(1), `max_size`: Some(40), added: 535, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:0)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Nis::QueueTotals` (r:1 w:1)
-	/// Proof: `Nis::QueueTotals` (`max_values`: Some(1), `max_size`: Some(6002), added: 6497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Summary (r:1 w:1)
+	/// Proof: Nis Summary (max_values: Some(1), max_size: Some(40), added: 535, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:0)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Nis QueueTotals (r:1 w:1)
+	/// Proof: Nis QueueTotals (max_values: Some(1), max_size: Some(6002), added: 6497, mode: MaxEncodedLen)
 	fn process_queues() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `6624`
 		//  Estimated: `7487`
-		// Minimum execution time: 20_117_000 picoseconds.
-		Weight::from_parts(20_829_000, 7487)
+		// Minimum execution time: 27_169_000 picoseconds.
+		Weight::from_parts(29_201_000, 7487)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Nis::Queues` (r:1 w:1)
-	/// Proof: `Nis::Queues` (`max_values`: None, `max_size`: Some(48022), added: 50497, mode: `MaxEncodedLen`)
+	/// Storage: Nis Queues (r:1 w:1)
+	/// Proof: Nis Queues (max_values: None, max_size: Some(48022), added: 50497, mode: MaxEncodedLen)
 	fn process_queue() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `42`
 		//  Estimated: `51487`
-		// Minimum execution time: 4_460_000 picoseconds.
-		Weight::from_parts(4_797_000, 51487)
+		// Minimum execution time: 4_540_000 picoseconds.
+		Weight::from_parts(4_699_000, 51487)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Nis::Receipts` (r:0 w:1)
-	/// Proof: `Nis::Receipts` (`max_values`: None, `max_size`: Some(81), added: 2556, mode: `MaxEncodedLen`)
+	/// Storage: Nis Receipts (r:0 w:1)
+	/// Proof: Nis Receipts (max_values: None, max_size: Some(81), added: 2556, mode: MaxEncodedLen)
 	fn process_bid() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_609_000 picoseconds.
-		Weight::from_parts(4_834_000, 0)
+		// Minimum execution time: 7_085_000 picoseconds.
+		Weight::from_parts(7_336_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 }
diff --git a/substrate/frame/nomination-pools/src/weights.rs b/substrate/frame/nomination-pools/src/weights.rs
index 987ddd71703..0b8c1d22fa1 100644
--- a/substrate/frame/nomination-pools/src/weights.rs
+++ b/substrate/frame/nomination-pools/src/weights.rs
@@ -25,6 +25,7 @@
 
 // Executed Command:
 // target/production/substrate-node
+// target/production/substrate-node
 // benchmark
 // pallet
 // --steps=50
@@ -35,8 +36,12 @@
 // --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
 // --pallet=pallet_nomination_pools
 // --chain=dev
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_nomination_pools
+// --chain=dev
 // --header=./substrate/HEADER-APACHE2
 // --output=./substrate/frame/nomination-pools/src/weights.rs
+// --output=./substrate/frame/nomination-pools/src/weights.rs
 // --template=./substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -259,14 +264,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Freezes` (r:1 w:0)
 	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `NominationPools::ReversePoolIdLookup` (r:1 w:0)
-	/// Proof: `NominationPools::ReversePoolIdLookup` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::TotalValueLocked` (r:1 w:1)
 	/// Proof: `NominationPools::TotalValueLocked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[0, 100]`.
 	fn pool_withdraw_unbonded(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1848`
+		//  Measured:  `1817`
 		//  Estimated: `4764`
 		// Minimum execution time: 64_787_000 picoseconds.
 		Weight::from_parts(67_920_914, 4764)
@@ -293,8 +296,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `NominationPools::ReversePoolIdLookup` (r:1 w:0)
-	/// Proof: `NominationPools::ReversePoolIdLookup` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::TotalValueLocked` (r:1 w:1)
 	/// Proof: `NominationPools::TotalValueLocked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::CounterForPoolMembers` (r:1 w:1)
@@ -304,7 +305,7 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `s` is `[0, 100]`.
 	fn withdraw_unbonded_update(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2238`
+		//  Measured:  `2207`
 		//  Estimated: `27847`
 		// Minimum execution time: 124_990_000 picoseconds.
 		Weight::from_parts(129_041_398, 27847)
@@ -337,12 +338,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::Nominators` (r:1 w:0)
 	/// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`)
-	/// Storage: `NominationPools::ReversePoolIdLookup` (r:1 w:1)
-	/// Proof: `NominationPools::ReversePoolIdLookup` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::TotalValueLocked` (r:1 w:1)
 	/// Proof: `NominationPools::TotalValueLocked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::CounterForPoolMembers` (r:1 w:1)
 	/// Proof: `NominationPools::CounterForPoolMembers` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+	/// Storage: `NominationPools::ReversePoolIdLookup` (r:1 w:1)
+	/// Proof: `NominationPools::ReversePoolIdLookup` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::CounterForReversePoolIdLookup` (r:1 w:1)
 	/// Proof: `NominationPools::CounterForReversePoolIdLookup` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::RewardPools` (r:1 w:1)
@@ -849,14 +850,12 @@ impl WeightInfo for () {
 	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Freezes` (r:1 w:0)
 	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `NominationPools::ReversePoolIdLookup` (r:1 w:0)
-	/// Proof: `NominationPools::ReversePoolIdLookup` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::TotalValueLocked` (r:1 w:1)
 	/// Proof: `NominationPools::TotalValueLocked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[0, 100]`.
 	fn pool_withdraw_unbonded(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1848`
+		//  Measured:  `1817`
 		//  Estimated: `4764`
 		// Minimum execution time: 64_787_000 picoseconds.
 		Weight::from_parts(67_920_914, 4764)
@@ -883,8 +882,6 @@ impl WeightInfo for () {
 	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
 	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `NominationPools::ReversePoolIdLookup` (r:1 w:0)
-	/// Proof: `NominationPools::ReversePoolIdLookup` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::TotalValueLocked` (r:1 w:1)
 	/// Proof: `NominationPools::TotalValueLocked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::CounterForPoolMembers` (r:1 w:1)
@@ -894,7 +891,7 @@ impl WeightInfo for () {
 	/// The range of component `s` is `[0, 100]`.
 	fn withdraw_unbonded_update(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `2238`
+		//  Measured:  `2207`
 		//  Estimated: `27847`
 		// Minimum execution time: 124_990_000 picoseconds.
 		Weight::from_parts(129_041_398, 27847)
@@ -927,12 +924,12 @@ impl WeightInfo for () {
 	/// Proof: `Staking::Validators` (`max_values`: None, `max_size`: Some(45), added: 2520, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::Nominators` (r:1 w:0)
 	/// Proof: `Staking::Nominators` (`max_values`: None, `max_size`: Some(558), added: 3033, mode: `MaxEncodedLen`)
-	/// Storage: `NominationPools::ReversePoolIdLookup` (r:1 w:1)
-	/// Proof: `NominationPools::ReversePoolIdLookup` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::TotalValueLocked` (r:1 w:1)
 	/// Proof: `NominationPools::TotalValueLocked` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::CounterForPoolMembers` (r:1 w:1)
 	/// Proof: `NominationPools::CounterForPoolMembers` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
+	/// Storage: `NominationPools::ReversePoolIdLookup` (r:1 w:1)
+	/// Proof: `NominationPools::ReversePoolIdLookup` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::CounterForReversePoolIdLookup` (r:1 w:1)
 	/// Proof: `NominationPools::CounterForReversePoolIdLookup` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	/// Storage: `NominationPools::RewardPools` (r:1 w:1)
diff --git a/substrate/frame/offences/benchmarking/src/mock.rs b/substrate/frame/offences/benchmarking/src/mock.rs
index b3260f0841f..01ad8d64f10 100644
--- a/substrate/frame/offences/benchmarking/src/mock.rs
+++ b/substrate/frame/offences/benchmarking/src/mock.rs
@@ -148,7 +148,7 @@ parameter_types! {
 	pub static ElectionsBounds: ElectionBounds = ElectionBoundsBuilder::default().build();
 }
 
-pub type Extrinsic = sp_runtime::generic::UncheckedExtrinsic<u64, RuntimeCall, (), ()>;
+pub type Extrinsic = sp_runtime::testing::TestXt<RuntimeCall, ()>;
 
 pub struct OnChainSeqPhragmen;
 impl onchain::Config for OnChainSeqPhragmen {
diff --git a/substrate/frame/parameters/src/weights.rs b/substrate/frame/parameters/src/weights.rs
index 340eb9e31b7..6746960b1b7 100644
--- a/substrate/frame/parameters/src/weights.rs
+++ b/substrate/frame/parameters/src/weights.rs
@@ -18,27 +18,25 @@
 //! Autogenerated weights for `pallet_parameters`
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2024-02-05, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
 //! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/production/substrate-node
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_parameters
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/parameters/src/weights.rs
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_parameters
+// --chain=dev
 // --header=./substrate/HEADER-APACHE2
+// --output=./substrate/frame/parameters/src/weights.rs
 // --template=./substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -57,30 +55,22 @@ pub trait WeightInfo {
 /// Weights for `pallet_parameters` using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Parameters::Parameters` (r:1 w:1)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
 	fn set_parameter() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3`
-		//  Estimated: `3501`
-		// Minimum execution time: 8_400_000 picoseconds.
-		Weight::from_parts(8_682_000, 3501)
-			.saturating_add(T::DbWeight::get().reads(1_u64))
-			.saturating_add(T::DbWeight::get().writes(1_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
 	}
 }
 
 // For backwards compatibility and tests.
 impl WeightInfo for () {
-	/// Storage: `Parameters::Parameters` (r:1 w:1)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
 	fn set_parameter() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3`
-		//  Estimated: `3501`
-		// Minimum execution time: 8_400_000 picoseconds.
-		Weight::from_parts(8_682_000, 3501)
-			.saturating_add(RocksDbWeight::get().reads(1_u64))
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 0_000 picoseconds.
+		Weight::from_parts(0, 0)
 	}
 }
diff --git a/substrate/frame/preimage/src/weights.rs b/substrate/frame/preimage/src/weights.rs
index 6167cd53029..c11ab74c1e5 100644
--- a/substrate/frame/preimage/src/weights.rs
+++ b/substrate/frame/preimage/src/weights.rs
@@ -17,28 +17,26 @@
 
 //! Autogenerated weights for `pallet_preimage`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-09-06, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-mia4uyug-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/production/substrate-node
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_preimage
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/preimage/src/weights.rs
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_preimage
+// --chain=dev
 // --header=./substrate/HEADER-APACHE2
+// --output=./substrate/frame/preimage/src/weights.rs
 // --template=./substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -72,209 +70,200 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Parameters::Parameters` (r:2 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `112`
-		//  Estimated: `6012`
-		// Minimum execution time: 48_893_000 picoseconds.
-		Weight::from_parts(44_072_327, 6012)
-			// Standard Error: 2
-			.saturating_add(Weight::from_parts(1_684, 0).saturating_mul(s.into()))
-			.saturating_add(T::DbWeight::get().reads(5_u64))
-			.saturating_add(T::DbWeight::get().writes(3_u64))
+		//  Measured:  `42`
+		//  Estimated: `3556`
+		// Minimum execution time: 15_936_000 picoseconds.
+		Weight::from_parts(16_271_000, 3556)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(1_916, 0).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(2_u64))
+			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_requested_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `173`
+		//  Measured:  `106`
 		//  Estimated: `3556`
-		// Minimum execution time: 15_675_000 picoseconds.
-		Weight::from_parts(4_564_145, 3556)
+		// Minimum execution time: 16_468_000 picoseconds.
+		Weight::from_parts(17_031_000, 3556)
 			// Standard Error: 2
-			.saturating_add(Weight::from_parts(1_678, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_948, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_no_deposit_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `173`
+		//  Measured:  `106`
 		//  Estimated: `3556`
-		// Minimum execution time: 14_959_000 picoseconds.
-		Weight::from_parts(15_335_000, 3556)
+		// Minimum execution time: 16_342_000 picoseconds.
+		Weight::from_parts(16_535_000, 3556)
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_687, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_906, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unnote_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `311`
-		//  Estimated: `3658`
-		// Minimum execution time: 47_378_000 picoseconds.
-		Weight::from_parts(48_776_000, 3658)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
-			.saturating_add(T::DbWeight::get().writes(3_u64))
+		//  Measured:  `172`
+		//  Estimated: `3556`
+		// Minimum execution time: 31_047_000 picoseconds.
+		Weight::from_parts(34_099_000, 3556)
+			.saturating_add(T::DbWeight::get().reads(2_u64))
+			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unnote_no_deposit_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `211`
+		//  Measured:  `144`
 		//  Estimated: `3556`
-		// Minimum execution time: 20_939_000 picoseconds.
-		Weight::from_parts(21_577_000, 3556)
+		// Minimum execution time: 32_559_000 picoseconds.
+		Weight::from_parts(36_677_000, 3556)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `255`
+		//  Measured:  `172`
 		//  Estimated: `3556`
-		// Minimum execution time: 17_945_000 picoseconds.
-		Weight::from_parts(18_448_000, 3556)
+		// Minimum execution time: 27_887_000 picoseconds.
+		Weight::from_parts(30_303_000, 3556)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_no_deposit_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `211`
+		//  Measured:  `144`
 		//  Estimated: `3556`
-		// Minimum execution time: 12_132_000 picoseconds.
-		Weight::from_parts(12_710_000, 3556)
+		// Minimum execution time: 17_256_000 picoseconds.
+		Weight::from_parts(19_481_000, 3556)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_unnoted_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `109`
+		//  Measured:  `42`
 		//  Estimated: `3556`
-		// Minimum execution time: 13_014_000 picoseconds.
-		Weight::from_parts(13_726_000, 3556)
+		// Minimum execution time: 22_344_000 picoseconds.
+		Weight::from_parts(23_868_000, 3556)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_requested_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `173`
+		//  Measured:  `106`
 		//  Estimated: `3556`
-		// Minimum execution time: 9_785_000 picoseconds.
-		Weight::from_parts(10_266_000, 3556)
+		// Minimum execution time: 10_542_000 picoseconds.
+		Weight::from_parts(11_571_000, 3556)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unrequest_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `211`
+		//  Measured:  `144`
 		//  Estimated: `3556`
-		// Minimum execution time: 18_764_000 picoseconds.
-		Weight::from_parts(19_635_000, 3556)
+		// Minimum execution time: 29_054_000 picoseconds.
+		Weight::from_parts(32_996_000, 3556)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn unrequest_unnoted_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `173`
+		//  Measured:  `106`
 		//  Estimated: `3556`
-		// Minimum execution time: 9_624_000 picoseconds.
-		Weight::from_parts(10_044_000, 3556)
+		// Minimum execution time: 10_775_000 picoseconds.
+		Weight::from_parts(11_937_000, 3556)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn unrequest_multi_referenced_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `173`
+		//  Measured:  `106`
 		//  Estimated: `3556`
-		// Minimum execution time: 9_432_000 picoseconds.
-		Weight::from_parts(9_991_000, 3556)
+		// Minimum execution time: 10_696_000 picoseconds.
+		Weight::from_parts(11_717_000, 3556)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1023 w:1023)
+	/// Storage: `Preimage::StatusFor` (r:1024 w:1024)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1023 w:1023)
+	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Parameters::Parameters` (r:2 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1023 w:1023)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:0 w:1023)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// The range of component `n` is `[1, 1024]`.
+	/// Storage: `Preimage::RequestStatusFor` (r:0 w:1024)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
+	/// The range of component `n` is `[0, 1024]`.
 	fn ensure_updated(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `0 + n * (227 ±0)`
-		//  Estimated: `6012 + n * (2668 ±0)`
-		// Minimum execution time: 54_056_000 picoseconds.
-		Weight::from_parts(54_912_000, 6012)
-			// Standard Error: 42_469
-			.saturating_add(Weight::from_parts(50_710_258, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(2_u64))
-			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(n.into())))
-			.saturating_add(T::DbWeight::get().writes((4_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 2668).saturating_mul(n.into()))
+		//  Measured:  `193 + n * (91 ±0)`
+		//  Estimated: `3593 + n * (2566 ±0)`
+		// Minimum execution time: 2_452_000 picoseconds.
+		Weight::from_parts(2_641_000, 3593)
+			// Standard Error: 19_797
+			.saturating_add(Weight::from_parts(15_620_946, 0).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(1_u64))
+			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
+			.saturating_add(T::DbWeight::get().writes(1_u64))
+			.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(n.into())))
+			.saturating_add(Weight::from_parts(0, 2566).saturating_mul(n.into()))
 	}
 }
 
@@ -283,208 +272,199 @@ impl WeightInfo for () {
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Parameters::Parameters` (r:2 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `112`
-		//  Estimated: `6012`
-		// Minimum execution time: 48_893_000 picoseconds.
-		Weight::from_parts(44_072_327, 6012)
-			// Standard Error: 2
-			.saturating_add(Weight::from_parts(1_684, 0).saturating_mul(s.into()))
-			.saturating_add(RocksDbWeight::get().reads(5_u64))
-			.saturating_add(RocksDbWeight::get().writes(3_u64))
+		//  Measured:  `42`
+		//  Estimated: `3556`
+		// Minimum execution time: 15_936_000 picoseconds.
+		Weight::from_parts(16_271_000, 3556)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(1_916, 0).saturating_mul(s.into()))
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
+			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_requested_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `173`
+		//  Measured:  `106`
 		//  Estimated: `3556`
-		// Minimum execution time: 15_675_000 picoseconds.
-		Weight::from_parts(4_564_145, 3556)
+		// Minimum execution time: 16_468_000 picoseconds.
+		Weight::from_parts(17_031_000, 3556)
 			// Standard Error: 2
-			.saturating_add(Weight::from_parts(1_678, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_948, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[0, 4194304]`.
 	fn note_no_deposit_preimage(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `173`
+		//  Measured:  `106`
 		//  Estimated: `3556`
-		// Minimum execution time: 14_959_000 picoseconds.
-		Weight::from_parts(15_335_000, 3556)
+		// Minimum execution time: 16_342_000 picoseconds.
+		Weight::from_parts(16_535_000, 3556)
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_687, 0).saturating_mul(s.into()))
+			.saturating_add(Weight::from_parts(1_906, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unnote_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `311`
-		//  Estimated: `3658`
-		// Minimum execution time: 47_378_000 picoseconds.
-		Weight::from_parts(48_776_000, 3658)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
-			.saturating_add(RocksDbWeight::get().writes(3_u64))
+		//  Measured:  `172`
+		//  Estimated: `3556`
+		// Minimum execution time: 31_047_000 picoseconds.
+		Weight::from_parts(34_099_000, 3556)
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
+			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unnote_no_deposit_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `211`
+		//  Measured:  `144`
 		//  Estimated: `3556`
-		// Minimum execution time: 20_939_000 picoseconds.
-		Weight::from_parts(21_577_000, 3556)
+		// Minimum execution time: 32_559_000 picoseconds.
+		Weight::from_parts(36_677_000, 3556)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `255`
+		//  Measured:  `172`
 		//  Estimated: `3556`
-		// Minimum execution time: 17_945_000 picoseconds.
-		Weight::from_parts(18_448_000, 3556)
+		// Minimum execution time: 27_887_000 picoseconds.
+		Weight::from_parts(30_303_000, 3556)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_no_deposit_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `211`
+		//  Measured:  `144`
 		//  Estimated: `3556`
-		// Minimum execution time: 12_132_000 picoseconds.
-		Weight::from_parts(12_710_000, 3556)
+		// Minimum execution time: 17_256_000 picoseconds.
+		Weight::from_parts(19_481_000, 3556)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_unnoted_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `109`
+		//  Measured:  `42`
 		//  Estimated: `3556`
-		// Minimum execution time: 13_014_000 picoseconds.
-		Weight::from_parts(13_726_000, 3556)
+		// Minimum execution time: 22_344_000 picoseconds.
+		Weight::from_parts(23_868_000, 3556)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn request_requested_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `173`
+		//  Measured:  `106`
 		//  Estimated: `3556`
-		// Minimum execution time: 9_785_000 picoseconds.
-		Weight::from_parts(10_266_000, 3556)
+		// Minimum execution time: 10_542_000 picoseconds.
+		Weight::from_parts(11_571_000, 3556)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::PreimageFor` (r:0 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `MaxEncodedLen`)
 	fn unrequest_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `211`
+		//  Measured:  `144`
 		//  Estimated: `3556`
-		// Minimum execution time: 18_764_000 picoseconds.
-		Weight::from_parts(19_635_000, 3556)
+		// Minimum execution time: 29_054_000 picoseconds.
+		Weight::from_parts(32_996_000, 3556)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn unrequest_unnoted_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `173`
+		//  Measured:  `106`
 		//  Estimated: `3556`
-		// Minimum execution time: 9_624_000 picoseconds.
-		Weight::from_parts(10_044_000, 3556)
+		// Minimum execution time: 10_775_000 picoseconds.
+		Weight::from_parts(11_937_000, 3556)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Preimage::StatusFor` (r:1 w:0)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
 	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
 	fn unrequest_multi_referenced_preimage() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `173`
+		//  Measured:  `106`
 		//  Estimated: `3556`
-		// Minimum execution time: 9_432_000 picoseconds.
-		Weight::from_parts(9_991_000, 3556)
+		// Minimum execution time: 10_696_000 picoseconds.
+		Weight::from_parts(11_717_000, 3556)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Preimage::StatusFor` (r:1023 w:1023)
+	/// Storage: `Preimage::StatusFor` (r:1024 w:1024)
 	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1023 w:1023)
+	/// Storage: `System::Account` (r:1 w:1)
 	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Parameters::Parameters` (r:2 w:0)
-	/// Proof: `Parameters::Parameters` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1023 w:1023)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:0 w:1023)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// The range of component `n` is `[1, 1024]`.
+	/// Storage: `Preimage::RequestStatusFor` (r:0 w:1024)
+	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(75), added: 2550, mode: `MaxEncodedLen`)
+	/// The range of component `n` is `[0, 1024]`.
 	fn ensure_updated(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `0 + n * (227 ±0)`
-		//  Estimated: `6012 + n * (2668 ±0)`
-		// Minimum execution time: 54_056_000 picoseconds.
-		Weight::from_parts(54_912_000, 6012)
-			// Standard Error: 42_469
-			.saturating_add(Weight::from_parts(50_710_258, 0).saturating_mul(n.into()))
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
-			.saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(n.into())))
-			.saturating_add(RocksDbWeight::get().writes((4_u64).saturating_mul(n.into())))
-			.saturating_add(Weight::from_parts(0, 2668).saturating_mul(n.into()))
+		//  Measured:  `193 + n * (91 ±0)`
+		//  Estimated: `3593 + n * (2566 ±0)`
+		// Minimum execution time: 2_452_000 picoseconds.
+		Weight::from_parts(2_641_000, 3593)
+			// Standard Error: 19_797
+			.saturating_add(Weight::from_parts(15_620_946, 0).saturating_mul(n.into()))
+			.saturating_add(RocksDbWeight::get().reads(1_u64))
+			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
+			.saturating_add(RocksDbWeight::get().writes(1_u64))
+			.saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(n.into())))
+			.saturating_add(Weight::from_parts(0, 2566).saturating_mul(n.into()))
 	}
 }
diff --git a/substrate/frame/proxy/src/weights.rs b/substrate/frame/proxy/src/weights.rs
index 3c37c91d500..f30fe73d27a 100644
--- a/substrate/frame/proxy/src/weights.rs
+++ b/substrate/frame/proxy/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_proxy`
+//! Autogenerated weights for pallet_proxy
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/proxy/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/proxy/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_proxy`.
+/// Weight functions needed for pallet_proxy.
 pub trait WeightInfo {
 	fn proxy(p: u32, ) -> Weight;
 	fn proxy_announced(a: u32, p: u32, ) -> Weight;
@@ -63,352 +64,336 @@ pub trait WeightInfo {
 	fn kill_pure(p: u32, ) -> Weight;
 }
 
-/// Weights for `pallet_proxy` using the Substrate node and recommended hardware.
+/// Weights for pallet_proxy using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Proxy::Proxies` (r:1 w:0)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:0)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn proxy(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `306 + p * (37 ±0)`
+		//  Measured:  `161 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 18_437_000 picoseconds.
-		Weight::from_parts(19_610_577, 4706)
-			// Standard Error: 2_531
-			.saturating_add(Weight::from_parts(26_001, 0).saturating_mul(p.into()))
-			.saturating_add(T::DbWeight::get().reads(3_u64))
+		// Minimum execution time: 15_182_000 picoseconds.
+		Weight::from_parts(15_919_146, 4706)
+			// Standard Error: 1_586
+			.saturating_add(Weight::from_parts(31_768, 0).saturating_mul(p.into()))
+			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:0)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
-	/// Storage: `Proxy::Announcements` (r:1 w:1)
-	/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:0)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
+	/// Storage: Proxy Announcements (r:1 w:1)
+	/// Proof: Proxy Announcements (max_values: None, max_size: Some(2233), added: 4708, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 31]`.
 	/// The range of component `p` is `[1, 31]`.
 	fn proxy_announced(a: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `633 + a * (68 ±0) + p * (37 ±0)`
+		//  Measured:  `488 + a * (68 ±0) + p * (37 ±0)`
 		//  Estimated: `5698`
-		// Minimum execution time: 40_426_000 picoseconds.
-		Weight::from_parts(40_200_295, 5698)
-			// Standard Error: 2_922
-			.saturating_add(Weight::from_parts(161_885, 0).saturating_mul(a.into()))
-			// Standard Error: 3_019
-			.saturating_add(Weight::from_parts(69_710, 0).saturating_mul(p.into()))
-			.saturating_add(T::DbWeight::get().reads(5_u64))
+		// Minimum execution time: 40_256_000 picoseconds.
+		Weight::from_parts(40_373_648, 5698)
+			// Standard Error: 3_978
+			.saturating_add(Weight::from_parts(166_936, 0).saturating_mul(a.into()))
+			// Standard Error: 4_110
+			.saturating_add(Weight::from_parts(54_329, 0).saturating_mul(p.into()))
+			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Proxy::Announcements` (r:1 w:1)
-	/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Announcements (r:1 w:1)
+	/// Proof: Proxy Announcements (max_values: None, max_size: Some(2233), added: 4708, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 31]`.
 	/// The range of component `p` is `[1, 31]`.
 	fn remove_announcement(a: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `403 + a * (68 ±0)`
 		//  Estimated: `5698`
-		// Minimum execution time: 21_905_000 picoseconds.
-		Weight::from_parts(22_717_430, 5698)
-			// Standard Error: 2_004
-			.saturating_add(Weight::from_parts(153_390, 0).saturating_mul(a.into()))
-			// Standard Error: 2_071
-			.saturating_add(Weight::from_parts(5_676, 0).saturating_mul(p.into()))
+		// Minimum execution time: 25_040_000 picoseconds.
+		Weight::from_parts(25_112_188, 5698)
+			// Standard Error: 2_143
+			.saturating_add(Weight::from_parts(189_027, 0).saturating_mul(a.into()))
+			// Standard Error: 2_214
+			.saturating_add(Weight::from_parts(26_683, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Proxy::Announcements` (r:1 w:1)
-	/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Announcements (r:1 w:1)
+	/// Proof: Proxy Announcements (max_values: None, max_size: Some(2233), added: 4708, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 31]`.
 	/// The range of component `p` is `[1, 31]`.
 	fn reject_announcement(a: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `403 + a * (68 ±0)`
 		//  Estimated: `5698`
-		// Minimum execution time: 21_974_000 picoseconds.
-		Weight::from_parts(22_484_324, 5698)
-			// Standard Error: 1_846
-			.saturating_add(Weight::from_parts(153_904, 0).saturating_mul(a.into()))
-			// Standard Error: 1_907
-			.saturating_add(Weight::from_parts(9_616, 0).saturating_mul(p.into()))
+		// Minimum execution time: 24_884_000 picoseconds.
+		Weight::from_parts(25_359_291, 5698)
+			// Standard Error: 2_019
+			.saturating_add(Weight::from_parts(181_470, 0).saturating_mul(a.into()))
+			// Standard Error: 2_086
+			.saturating_add(Weight::from_parts(17_725, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:0)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
-	/// Storage: `Proxy::Announcements` (r:1 w:1)
-	/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:0)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
+	/// Storage: Proxy Announcements (r:1 w:1)
+	/// Proof: Proxy Announcements (max_values: None, max_size: Some(2233), added: 4708, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 31]`.
 	/// The range of component `p` is `[1, 31]`.
 	fn announce(a: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `420 + a * (68 ±0) + p * (37 ±0)`
 		//  Estimated: `5698`
-		// Minimum execution time: 30_454_000 picoseconds.
-		Weight::from_parts(32_128_158, 5698)
-			// Standard Error: 3_778
-			.saturating_add(Weight::from_parts(137_366, 0).saturating_mul(a.into()))
-			// Standard Error: 3_904
-			.saturating_add(Weight::from_parts(53_040, 0).saturating_mul(p.into()))
+		// Minimum execution time: 35_039_000 picoseconds.
+		Weight::from_parts(36_727_868, 5698)
+			// Standard Error: 4_463
+			.saturating_add(Weight::from_parts(167_060, 0).saturating_mul(a.into()))
+			// Standard Error: 4_611
+			.saturating_add(Weight::from_parts(59_836, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn add_proxy(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `161 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 21_391_000 picoseconds.
-		Weight::from_parts(22_202_614, 4706)
-			// Standard Error: 1_750
-			.saturating_add(Weight::from_parts(49_639, 0).saturating_mul(p.into()))
+		// Minimum execution time: 25_697_000 picoseconds.
+		Weight::from_parts(26_611_090, 4706)
+			// Standard Error: 2_306
+			.saturating_add(Weight::from_parts(85_165, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn remove_proxy(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `161 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 21_375_000 picoseconds.
-		Weight::from_parts(22_392_601, 4706)
-			// Standard Error: 2_415
-			.saturating_add(Weight::from_parts(40_345, 0).saturating_mul(p.into()))
+		// Minimum execution time: 25_638_000 picoseconds.
+		Weight::from_parts(26_904_510, 4706)
+			// Standard Error: 2_669
+			.saturating_add(Weight::from_parts(61_668, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn remove_proxies(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `161 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 19_833_000 picoseconds.
-		Weight::from_parts(20_839_747, 4706)
-			// Standard Error: 1_742
-			.saturating_add(Weight::from_parts(40_874, 0).saturating_mul(p.into()))
+		// Minimum execution time: 22_737_000 picoseconds.
+		Weight::from_parts(23_618_441, 4706)
+			// Standard Error: 1_729
+			.saturating_add(Weight::from_parts(44_009, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn create_pure(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `173`
 		//  Estimated: `4706`
-		// Minimum execution time: 22_231_000 picoseconds.
-		Weight::from_parts(23_370_995, 4706)
-			// Standard Error: 1_521
-			.saturating_add(Weight::from_parts(4_892, 0).saturating_mul(p.into()))
+		// Minimum execution time: 27_364_000 picoseconds.
+		Weight::from_parts(28_632_271, 4706)
+			// Standard Error: 1_613
+			.saturating_add(Weight::from_parts(2_453, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[0, 30]`.
 	fn kill_pure(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `198 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 20_614_000 picoseconds.
-		Weight::from_parts(21_845_970, 4706)
-			// Standard Error: 1_636
-			.saturating_add(Weight::from_parts(34_480, 0).saturating_mul(p.into()))
+		// Minimum execution time: 23_552_000 picoseconds.
+		Weight::from_parts(24_874_553, 4706)
+			// Standard Error: 1_919
+			.saturating_add(Weight::from_parts(38_799, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Proxy::Proxies` (r:1 w:0)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:0)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn proxy(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `306 + p * (37 ±0)`
+		//  Measured:  `161 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 18_437_000 picoseconds.
-		Weight::from_parts(19_610_577, 4706)
-			// Standard Error: 2_531
-			.saturating_add(Weight::from_parts(26_001, 0).saturating_mul(p.into()))
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
+		// Minimum execution time: 15_182_000 picoseconds.
+		Weight::from_parts(15_919_146, 4706)
+			// Standard Error: 1_586
+			.saturating_add(Weight::from_parts(31_768, 0).saturating_mul(p.into()))
+			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:0)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
-	/// Storage: `Proxy::Announcements` (r:1 w:1)
-	/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:0)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
+	/// Storage: Proxy Announcements (r:1 w:1)
+	/// Proof: Proxy Announcements (max_values: None, max_size: Some(2233), added: 4708, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 31]`.
 	/// The range of component `p` is `[1, 31]`.
 	fn proxy_announced(a: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `633 + a * (68 ±0) + p * (37 ±0)`
+		//  Measured:  `488 + a * (68 ±0) + p * (37 ±0)`
 		//  Estimated: `5698`
-		// Minimum execution time: 40_426_000 picoseconds.
-		Weight::from_parts(40_200_295, 5698)
-			// Standard Error: 2_922
-			.saturating_add(Weight::from_parts(161_885, 0).saturating_mul(a.into()))
-			// Standard Error: 3_019
-			.saturating_add(Weight::from_parts(69_710, 0).saturating_mul(p.into()))
-			.saturating_add(RocksDbWeight::get().reads(5_u64))
+		// Minimum execution time: 40_256_000 picoseconds.
+		Weight::from_parts(40_373_648, 5698)
+			// Standard Error: 3_978
+			.saturating_add(Weight::from_parts(166_936, 0).saturating_mul(a.into()))
+			// Standard Error: 4_110
+			.saturating_add(Weight::from_parts(54_329, 0).saturating_mul(p.into()))
+			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Proxy::Announcements` (r:1 w:1)
-	/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Announcements (r:1 w:1)
+	/// Proof: Proxy Announcements (max_values: None, max_size: Some(2233), added: 4708, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 31]`.
 	/// The range of component `p` is `[1, 31]`.
 	fn remove_announcement(a: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `403 + a * (68 ±0)`
 		//  Estimated: `5698`
-		// Minimum execution time: 21_905_000 picoseconds.
-		Weight::from_parts(22_717_430, 5698)
-			// Standard Error: 2_004
-			.saturating_add(Weight::from_parts(153_390, 0).saturating_mul(a.into()))
-			// Standard Error: 2_071
-			.saturating_add(Weight::from_parts(5_676, 0).saturating_mul(p.into()))
+		// Minimum execution time: 25_040_000 picoseconds.
+		Weight::from_parts(25_112_188, 5698)
+			// Standard Error: 2_143
+			.saturating_add(Weight::from_parts(189_027, 0).saturating_mul(a.into()))
+			// Standard Error: 2_214
+			.saturating_add(Weight::from_parts(26_683, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Proxy::Announcements` (r:1 w:1)
-	/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Announcements (r:1 w:1)
+	/// Proof: Proxy Announcements (max_values: None, max_size: Some(2233), added: 4708, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 31]`.
 	/// The range of component `p` is `[1, 31]`.
 	fn reject_announcement(a: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `403 + a * (68 ±0)`
 		//  Estimated: `5698`
-		// Minimum execution time: 21_974_000 picoseconds.
-		Weight::from_parts(22_484_324, 5698)
-			// Standard Error: 1_846
-			.saturating_add(Weight::from_parts(153_904, 0).saturating_mul(a.into()))
-			// Standard Error: 1_907
-			.saturating_add(Weight::from_parts(9_616, 0).saturating_mul(p.into()))
+		// Minimum execution time: 24_884_000 picoseconds.
+		Weight::from_parts(25_359_291, 5698)
+			// Standard Error: 2_019
+			.saturating_add(Weight::from_parts(181_470, 0).saturating_mul(a.into()))
+			// Standard Error: 2_086
+			.saturating_add(Weight::from_parts(17_725, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:0)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
-	/// Storage: `Proxy::Announcements` (r:1 w:1)
-	/// Proof: `Proxy::Announcements` (`max_values`: None, `max_size`: Some(2233), added: 4708, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:0)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
+	/// Storage: Proxy Announcements (r:1 w:1)
+	/// Proof: Proxy Announcements (max_values: None, max_size: Some(2233), added: 4708, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `a` is `[0, 31]`.
 	/// The range of component `p` is `[1, 31]`.
 	fn announce(a: u32, p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `420 + a * (68 ±0) + p * (37 ±0)`
 		//  Estimated: `5698`
-		// Minimum execution time: 30_454_000 picoseconds.
-		Weight::from_parts(32_128_158, 5698)
-			// Standard Error: 3_778
-			.saturating_add(Weight::from_parts(137_366, 0).saturating_mul(a.into()))
-			// Standard Error: 3_904
-			.saturating_add(Weight::from_parts(53_040, 0).saturating_mul(p.into()))
+		// Minimum execution time: 35_039_000 picoseconds.
+		Weight::from_parts(36_727_868, 5698)
+			// Standard Error: 4_463
+			.saturating_add(Weight::from_parts(167_060, 0).saturating_mul(a.into()))
+			// Standard Error: 4_611
+			.saturating_add(Weight::from_parts(59_836, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn add_proxy(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `161 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 21_391_000 picoseconds.
-		Weight::from_parts(22_202_614, 4706)
-			// Standard Error: 1_750
-			.saturating_add(Weight::from_parts(49_639, 0).saturating_mul(p.into()))
+		// Minimum execution time: 25_697_000 picoseconds.
+		Weight::from_parts(26_611_090, 4706)
+			// Standard Error: 2_306
+			.saturating_add(Weight::from_parts(85_165, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn remove_proxy(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `161 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 21_375_000 picoseconds.
-		Weight::from_parts(22_392_601, 4706)
-			// Standard Error: 2_415
-			.saturating_add(Weight::from_parts(40_345, 0).saturating_mul(p.into()))
+		// Minimum execution time: 25_638_000 picoseconds.
+		Weight::from_parts(26_904_510, 4706)
+			// Standard Error: 2_669
+			.saturating_add(Weight::from_parts(61_668, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn remove_proxies(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `161 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 19_833_000 picoseconds.
-		Weight::from_parts(20_839_747, 4706)
-			// Standard Error: 1_742
-			.saturating_add(Weight::from_parts(40_874, 0).saturating_mul(p.into()))
+		// Minimum execution time: 22_737_000 picoseconds.
+		Weight::from_parts(23_618_441, 4706)
+			// Standard Error: 1_729
+			.saturating_add(Weight::from_parts(44_009, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[1, 31]`.
 	fn create_pure(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `173`
 		//  Estimated: `4706`
-		// Minimum execution time: 22_231_000 picoseconds.
-		Weight::from_parts(23_370_995, 4706)
-			// Standard Error: 1_521
-			.saturating_add(Weight::from_parts(4_892, 0).saturating_mul(p.into()))
+		// Minimum execution time: 27_364_000 picoseconds.
+		Weight::from_parts(28_632_271, 4706)
+			// Standard Error: 1_613
+			.saturating_add(Weight::from_parts(2_453, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Proxy::Proxies` (r:1 w:1)
-	/// Proof: `Proxy::Proxies` (`max_values`: None, `max_size`: Some(1241), added: 3716, mode: `MaxEncodedLen`)
+	/// Storage: Proxy Proxies (r:1 w:1)
+	/// Proof: Proxy Proxies (max_values: None, max_size: Some(1241), added: 3716, mode: MaxEncodedLen)
 	/// The range of component `p` is `[0, 30]`.
 	fn kill_pure(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `198 + p * (37 ±0)`
 		//  Estimated: `4706`
-		// Minimum execution time: 20_614_000 picoseconds.
-		Weight::from_parts(21_845_970, 4706)
-			// Standard Error: 1_636
-			.saturating_add(Weight::from_parts(34_480, 0).saturating_mul(p.into()))
+		// Minimum execution time: 23_552_000 picoseconds.
+		Weight::from_parts(24_874_553, 4706)
+			// Standard Error: 1_919
+			.saturating_add(Weight::from_parts(38_799, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
diff --git a/substrate/frame/ranked-collective/src/weights.rs b/substrate/frame/ranked-collective/src/weights.rs
index 5721858f7e2..4ff0c3337d5 100644
--- a/substrate/frame/ranked-collective/src/weights.rs
+++ b/substrate/frame/ranked-collective/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_ranked_collective`
+//! Autogenerated weights for pallet_ranked_collective
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/ranked-collective/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/ranked-collective/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_ranked_collective`.
+/// Weight functions needed for pallet_ranked_collective.
 pub trait WeightInfo {
 	fn add_member() -> Weight;
 	fn remove_member(r: u32, ) -> Weight;
@@ -60,295 +61,283 @@ pub trait WeightInfo {
 	fn exchange_member() -> Weight;
 }
 
-/// Weights for `pallet_ranked_collective` using the Substrate node and recommended hardware.
+/// Weights for pallet_ranked_collective using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:0 w:1)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:0 w:1)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IndexToId (r:0 w:1)
+	/// Proof: RankedCollective IndexToId (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:0 w:1)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
 	fn add_member() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `3507`
-		// Minimum execution time: 15_389_000 picoseconds.
-		Weight::from_parts(15_901_000, 3507)
+		// Minimum execution time: 17_245_000 picoseconds.
+		Weight::from_parts(17_930_000, 3507)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:11 w:11)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:11 w:22)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:11 w:22)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:11 w:11)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:11 w:11)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IndexToId (r:11 w:11)
+	/// Proof: RankedCollective IndexToId (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 10]`.
 	fn remove_member(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `616 + r * (281 ±0)`
 		//  Estimated: `3519 + r * (2529 ±0)`
-		// Minimum execution time: 29_541_000 picoseconds.
-		Weight::from_parts(32_239_358, 3519)
-			// Standard Error: 23_406
-			.saturating_add(Weight::from_parts(16_030_191, 0).saturating_mul(r.into()))
+		// Minimum execution time: 29_534_000 picoseconds.
+		Weight::from_parts(32_847_495, 3519)
+			// Standard Error: 24_211
+			.saturating_add(Weight::from_parts(13_949_639, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(r.into())))
-			.saturating_add(T::DbWeight::get().writes(6_u64))
-			.saturating_add(T::DbWeight::get().writes((5_u64).saturating_mul(r.into())))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
+			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2529).saturating_mul(r.into()))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:0 w:1)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:0 w:1)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IndexToId (r:0 w:1)
+	/// Proof: RankedCollective IndexToId (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:0 w:1)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 10]`.
 	fn promote_member(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `314 + r * (17 ±0)`
 		//  Estimated: `3507`
-		// Minimum execution time: 17_939_000 picoseconds.
-		Weight::from_parts(19_290_416, 3507)
-			// Standard Error: 5_710
-			.saturating_add(Weight::from_parts(374_399, 0).saturating_mul(r.into()))
+		// Minimum execution time: 20_333_000 picoseconds.
+		Weight::from_parts(21_592_224, 3507)
+			// Standard Error: 6_423
+			.saturating_add(Weight::from_parts(321_314, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:1 w:2)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:1 w:2)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:1 w:1)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IndexToId (r:1 w:1)
+	/// Proof: RankedCollective IndexToId (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 10]`.
 	fn demote_member(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `632 + r * (72 ±0)`
 		//  Estimated: `3519`
-		// Minimum execution time: 29_609_000 picoseconds.
-		Weight::from_parts(32_686_167, 3519)
-			// Standard Error: 27_588
-			.saturating_add(Weight::from_parts(789_212, 0).saturating_mul(r.into()))
+		// Minimum execution time: 29_446_000 picoseconds.
+		Weight::from_parts(32_447_715, 3519)
+			// Standard Error: 28_791
+			.saturating_add(Weight::from_parts(822_890, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(6_u64))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `RankedPolls::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `RankedPolls::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(330), added: 2805, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Voting` (r:1 w:1)
-	/// Proof: `RankedCollective::Voting` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: RankedPolls ReferendumInfoFor (r:1 w:1)
+	/// Proof: RankedPolls ReferendumInfoFor (max_values: None, max_size: Some(330), added: 2805, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Voting (r:1 w:1)
+	/// Proof: RankedCollective Voting (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn vote() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `628`
 		//  Estimated: `219984`
-		// Minimum execution time: 41_151_000 picoseconds.
-		Weight::from_parts(42_435_000, 219984)
+		// Minimum execution time: 45_474_000 picoseconds.
+		Weight::from_parts(47_228_000, 219984)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
-			.saturating_add(T::DbWeight::get().writes(5_u64))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `RankedPolls::ReferendumInfoFor` (r:1 w:0)
-	/// Proof: `RankedPolls::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(330), added: 2805, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::VotingCleanup` (r:1 w:0)
-	/// Proof: `RankedCollective::VotingCleanup` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Voting` (r:100 w:100)
-	/// Proof: `RankedCollective::Voting` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
+	/// Storage: RankedPolls ReferendumInfoFor (r:1 w:0)
+	/// Proof: RankedPolls ReferendumInfoFor (max_values: None, max_size: Some(330), added: 2805, mode: MaxEncodedLen)
+	/// Storage: RankedCollective VotingCleanup (r:1 w:0)
+	/// Proof: RankedCollective VotingCleanup (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Voting (r:100 w:100)
+	/// Proof: RankedCollective Voting (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 100]`.
 	fn cleanup_poll(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `462 + n * (50 ±0)`
 		//  Estimated: `3795 + n * (2540 ±0)`
-		// Minimum execution time: 13_563_000 picoseconds.
-		Weight::from_parts(17_495_215, 3795)
-			// Standard Error: 2_294
-			.saturating_add(Weight::from_parts(1_207_393, 0).saturating_mul(n.into()))
+		// Minimum execution time: 13_903_000 picoseconds.
+		Weight::from_parts(18_209_102, 3795)
+			// Standard Error: 2_556
+			.saturating_add(Weight::from_parts(1_237_454, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(n.into())))
 			.saturating_add(Weight::from_parts(0, 2540).saturating_mul(n.into()))
 	}
+
 	/// Storage: `RankedCollective::Members` (r:2 w:2)
 	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
 	/// Storage: `RankedCollective::MemberCount` (r:2 w:2)
 	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:2 w:4)
+	/// Storage: `RankedCollective::IdToIndex` (r:2 w:2)
 	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Member` (r:2 w:2)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:1 w:0)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Claimant` (r:2 w:2)
-	/// Proof: `Salary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
 	/// Storage: `RankedCollective::IndexToId` (r:0 w:2)
 	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
 	fn exchange_member() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `625`
-		//  Estimated: `19894`
-		// Minimum execution time: 70_713_000 picoseconds.
-		Weight::from_parts(72_831_000, 19894)
-			.saturating_add(T::DbWeight::get().reads(11_u64))
-			.saturating_add(T::DbWeight::get().writes(14_u64))
+		//  Measured:  `437`
+		//  Estimated: `6048`
+		// Minimum execution time: 138_000_000 picoseconds.
+		Weight::from_parts(141_000_000, 0)
+			.saturating_add(Weight::from_parts(0, 6048))
+			.saturating_add(T::DbWeight::get().reads(6))
+			.saturating_add(T::DbWeight::get().writes(8))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:0 w:1)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:0 w:1)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IndexToId (r:0 w:1)
+	/// Proof: RankedCollective IndexToId (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:0 w:1)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
 	fn add_member() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `3507`
-		// Minimum execution time: 15_389_000 picoseconds.
-		Weight::from_parts(15_901_000, 3507)
+		// Minimum execution time: 17_245_000 picoseconds.
+		Weight::from_parts(17_930_000, 3507)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:11 w:11)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:11 w:22)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:11 w:22)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:11 w:11)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:11 w:11)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IndexToId (r:11 w:11)
+	/// Proof: RankedCollective IndexToId (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 10]`.
 	fn remove_member(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `616 + r * (281 ±0)`
 		//  Estimated: `3519 + r * (2529 ±0)`
-		// Minimum execution time: 29_541_000 picoseconds.
-		Weight::from_parts(32_239_358, 3519)
-			// Standard Error: 23_406
-			.saturating_add(Weight::from_parts(16_030_191, 0).saturating_mul(r.into()))
+		// Minimum execution time: 29_534_000 picoseconds.
+		Weight::from_parts(32_847_495, 3519)
+			// Standard Error: 24_211
+			.saturating_add(Weight::from_parts(13_949_639, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(r.into())))
-			.saturating_add(RocksDbWeight::get().writes(6_u64))
-			.saturating_add(RocksDbWeight::get().writes((5_u64).saturating_mul(r.into())))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
+			.saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(r.into())))
 			.saturating_add(Weight::from_parts(0, 2529).saturating_mul(r.into()))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:0 w:1)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:0 w:1)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IndexToId (r:0 w:1)
+	/// Proof: RankedCollective IndexToId (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:0 w:1)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 10]`.
 	fn promote_member(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `314 + r * (17 ±0)`
 		//  Estimated: `3507`
-		// Minimum execution time: 17_939_000 picoseconds.
-		Weight::from_parts(19_290_416, 3507)
-			// Standard Error: 5_710
-			.saturating_add(Weight::from_parts(374_399, 0).saturating_mul(r.into()))
+		// Minimum execution time: 20_333_000 picoseconds.
+		Weight::from_parts(21_592_224, 3507)
+			// Standard Error: 6_423
+			.saturating_add(Weight::from_parts(321_314, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:1)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::MemberCount` (r:1 w:1)
-	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:1 w:2)
-	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IndexToId` (r:1 w:2)
-	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:1)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: RankedCollective MemberCount (r:1 w:1)
+	/// Proof: RankedCollective MemberCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IdToIndex (r:1 w:1)
+	/// Proof: RankedCollective IdToIndex (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
+	/// Storage: RankedCollective IndexToId (r:1 w:1)
+	/// Proof: RankedCollective IndexToId (max_values: None, max_size: Some(54), added: 2529, mode: MaxEncodedLen)
 	/// The range of component `r` is `[0, 10]`.
 	fn demote_member(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `632 + r * (72 ±0)`
 		//  Estimated: `3519`
-		// Minimum execution time: 29_609_000 picoseconds.
-		Weight::from_parts(32_686_167, 3519)
-			// Standard Error: 27_588
-			.saturating_add(Weight::from_parts(789_212, 0).saturating_mul(r.into()))
+		// Minimum execution time: 29_446_000 picoseconds.
+		Weight::from_parts(32_447_715, 3519)
+			// Standard Error: 28_791
+			.saturating_add(Weight::from_parts(822_890, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(6_u64))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `RankedPolls::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `RankedPolls::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(330), added: 2805, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Voting` (r:1 w:1)
-	/// Proof: `RankedCollective::Voting` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: RankedPolls ReferendumInfoFor (r:1 w:1)
+	/// Proof: RankedPolls ReferendumInfoFor (max_values: None, max_size: Some(330), added: 2805, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Voting (r:1 w:1)
+	/// Proof: RankedCollective Voting (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn vote() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `628`
 		//  Estimated: `219984`
-		// Minimum execution time: 41_151_000 picoseconds.
-		Weight::from_parts(42_435_000, 219984)
+		// Minimum execution time: 45_474_000 picoseconds.
+		Weight::from_parts(47_228_000, 219984)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
-			.saturating_add(RocksDbWeight::get().writes(5_u64))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `RankedPolls::ReferendumInfoFor` (r:1 w:0)
-	/// Proof: `RankedPolls::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(330), added: 2805, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::VotingCleanup` (r:1 w:0)
-	/// Proof: `RankedCollective::VotingCleanup` (`max_values`: None, `max_size`: Some(114), added: 2589, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Voting` (r:100 w:100)
-	/// Proof: `RankedCollective::Voting` (`max_values`: None, `max_size`: Some(65), added: 2540, mode: `MaxEncodedLen`)
+	/// Storage: RankedPolls ReferendumInfoFor (r:1 w:0)
+	/// Proof: RankedPolls ReferendumInfoFor (max_values: None, max_size: Some(330), added: 2805, mode: MaxEncodedLen)
+	/// Storage: RankedCollective VotingCleanup (r:1 w:0)
+	/// Proof: RankedCollective VotingCleanup (max_values: None, max_size: Some(114), added: 2589, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Voting (r:100 w:100)
+	/// Proof: RankedCollective Voting (max_values: None, max_size: Some(65), added: 2540, mode: MaxEncodedLen)
 	/// The range of component `n` is `[0, 100]`.
 	fn cleanup_poll(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `462 + n * (50 ±0)`
 		//  Estimated: `3795 + n * (2540 ±0)`
-		// Minimum execution time: 13_563_000 picoseconds.
-		Weight::from_parts(17_495_215, 3795)
-			// Standard Error: 2_294
-			.saturating_add(Weight::from_parts(1_207_393, 0).saturating_mul(n.into()))
+		// Minimum execution time: 13_903_000 picoseconds.
+		Weight::from_parts(18_209_102, 3795)
+			// Standard Error: 2_556
+			.saturating_add(Weight::from_parts(1_237_454, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(n.into())))
 			.saturating_add(Weight::from_parts(0, 2540).saturating_mul(n.into()))
 	}
+
 	/// Storage: `RankedCollective::Members` (r:2 w:2)
 	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
 	/// Storage: `RankedCollective::MemberCount` (r:2 w:2)
 	/// Proof: `RankedCollective::MemberCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::IdToIndex` (r:2 w:4)
+	/// Storage: `RankedCollective::IdToIndex` (r:2 w:2)
 	/// Proof: `RankedCollective::IdToIndex` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::Member` (r:2 w:2)
-	/// Proof: `CoreFellowship::Member` (`max_values`: None, `max_size`: Some(49), added: 2524, mode: `MaxEncodedLen`)
-	/// Storage: `CoreFellowship::MemberEvidence` (r:1 w:0)
-	/// Proof: `CoreFellowship::MemberEvidence` (`max_values`: None, `max_size`: Some(16429), added: 18904, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Claimant` (r:2 w:2)
-	/// Proof: `Salary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
 	/// Storage: `RankedCollective::IndexToId` (r:0 w:2)
 	/// Proof: `RankedCollective::IndexToId` (`max_values`: None, `max_size`: Some(54), added: 2529, mode: `MaxEncodedLen`)
 	fn exchange_member() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `625`
-		//  Estimated: `19894`
-		// Minimum execution time: 70_713_000 picoseconds.
-		Weight::from_parts(72_831_000, 19894)
-			.saturating_add(RocksDbWeight::get().reads(11_u64))
-			.saturating_add(RocksDbWeight::get().writes(14_u64))
+		//  Measured:  `437`
+		//  Estimated: `6048`
+		// Minimum execution time: 138_000_000 picoseconds.
+		Weight::from_parts(141_000_000, 0)
+			.saturating_add(Weight::from_parts(0, 6048))
+			.saturating_add(RocksDbWeight::get().reads(6))
+			.saturating_add(RocksDbWeight::get().writes(8))
 	}
 }
diff --git a/substrate/frame/recovery/src/weights.rs b/substrate/frame/recovery/src/weights.rs
index fe5dbcfc222..84b19ae694e 100644
--- a/substrate/frame/recovery/src/weights.rs
+++ b/substrate/frame/recovery/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_recovery`
+//! Autogenerated weights for pallet_recovery
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/recovery/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/recovery/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_recovery`.
+/// Weight functions needed for pallet_recovery.
 pub trait WeightInfo {
 	fn as_recovered() -> Weight;
 	fn set_recovered() -> Weight;
@@ -62,266 +63,258 @@ pub trait WeightInfo {
 	fn cancel_recovered() -> Weight;
 }
 
-/// Weights for `pallet_recovery` using the Substrate node and recommended hardware.
+/// Weights for pallet_recovery using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Recovery::Proxy` (r:1 w:0)
-	/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Proxy (r:1 w:0)
+	/// Proof: Recovery Proxy (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen)
 	fn as_recovered() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `497`
-		//  Estimated: `3997`
-		// Minimum execution time: 14_898_000 picoseconds.
-		Weight::from_parts(15_464_000, 3997)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
+		//  Measured:  `281`
+		//  Estimated: `3545`
+		// Minimum execution time: 9_360_000 picoseconds.
+		Weight::from_parts(9_773_000, 3545)
+			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
-	/// Storage: `Recovery::Proxy` (r:0 w:1)
-	/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Proxy (r:0 w:1)
+	/// Proof: Recovery Proxy (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen)
 	fn set_recovered() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 7_424_000 picoseconds.
-		Weight::from_parts(7_830_000, 0)
+		// Minimum execution time: 9_146_000 picoseconds.
+		Weight::from_parts(9_507_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Recovery::Recoverable` (r:1 w:1)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Recoverable (r:1 w:1)
+	/// Proof: Recovery Recoverable (max_values: None, max_size: Some(351), added: 2826, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 9]`.
 	fn create_recovery(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `246`
+		//  Measured:  `175`
 		//  Estimated: `3816`
-		// Minimum execution time: 21_968_000 picoseconds.
-		Weight::from_parts(23_594_232, 3816)
-			// Standard Error: 5_848
-			.saturating_add(Weight::from_parts(24_843, 0).saturating_mul(n.into()))
+		// Minimum execution time: 26_472_000 picoseconds.
+		Weight::from_parts(27_917_651, 3816)
+			// Standard Error: 7_129
+			.saturating_add(Weight::from_parts(59_239, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Recovery::Recoverable` (r:1 w:0)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:1)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Recoverable (r:1 w:0)
+	/// Proof: Recovery Recoverable (max_values: None, max_size: Some(351), added: 2826, mode: MaxEncodedLen)
+	/// Storage: Recovery ActiveRecoveries (r:1 w:1)
+	/// Proof: Recovery ActiveRecoveries (max_values: None, max_size: Some(389), added: 2864, mode: MaxEncodedLen)
 	fn initiate_recovery() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `343`
+		//  Measured:  `272`
 		//  Estimated: `3854`
-		// Minimum execution time: 25_494_000 picoseconds.
-		Weight::from_parts(26_290_000, 3854)
+		// Minimum execution time: 29_618_000 picoseconds.
+		Weight::from_parts(30_192_000, 3854)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Recovery::Recoverable` (r:1 w:0)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:1)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Recoverable (r:1 w:0)
+	/// Proof: Recovery Recoverable (max_values: None, max_size: Some(351), added: 2826, mode: MaxEncodedLen)
+	/// Storage: Recovery ActiveRecoveries (r:1 w:1)
+	/// Proof: Recovery ActiveRecoveries (max_values: None, max_size: Some(389), added: 2864, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 9]`.
 	fn vouch_recovery(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `431 + n * (64 ±0)`
+		//  Measured:  `360 + n * (64 ±0)`
 		//  Estimated: `3854`
-		// Minimum execution time: 17_044_000 picoseconds.
-		Weight::from_parts(18_299_617, 3854)
-			// Standard Error: 5_580
-			.saturating_add(Weight::from_parts(187_568, 0).saturating_mul(n.into()))
+		// Minimum execution time: 19_464_000 picoseconds.
+		Weight::from_parts(20_642_522, 3854)
+			// Standard Error: 5_974
+			.saturating_add(Weight::from_parts(142_308, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Recovery::Recoverable` (r:1 w:0)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:0)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::Proxy` (r:1 w:1)
-	/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Recoverable (r:1 w:0)
+	/// Proof: Recovery Recoverable (max_values: None, max_size: Some(351), added: 2826, mode: MaxEncodedLen)
+	/// Storage: Recovery ActiveRecoveries (r:1 w:0)
+	/// Proof: Recovery ActiveRecoveries (max_values: None, max_size: Some(389), added: 2864, mode: MaxEncodedLen)
+	/// Storage: Recovery Proxy (r:1 w:1)
+	/// Proof: Recovery Proxy (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 9]`.
 	fn claim_recovery(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `463 + n * (64 ±0)`
+		//  Measured:  `392 + n * (64 ±0)`
 		//  Estimated: `3854`
-		// Minimum execution time: 22_186_000 picoseconds.
-		Weight::from_parts(23_476_807, 3854)
-			// Standard Error: 6_392
-			.saturating_add(Weight::from_parts(89_770, 0).saturating_mul(n.into()))
+		// Minimum execution time: 23_656_000 picoseconds.
+		Weight::from_parts(24_903_269, 3854)
+			// Standard Error: 5_771
+			.saturating_add(Weight::from_parts(117_343, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:1)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Recovery ActiveRecoveries (r:1 w:1)
+	/// Proof: Recovery ActiveRecoveries (max_values: None, max_size: Some(389), added: 2864, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 9]`.
 	fn close_recovery(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `584 + n * (32 ±0)`
+		//  Measured:  `513 + n * (32 ±0)`
 		//  Estimated: `3854`
-		// Minimum execution time: 31_045_000 picoseconds.
-		Weight::from_parts(32_623_578, 3854)
-			// Standard Error: 7_203
-			.saturating_add(Weight::from_parts(61_466, 0).saturating_mul(n.into()))
+		// Minimum execution time: 34_866_000 picoseconds.
+		Weight::from_parts(36_368_748, 3854)
+			// Standard Error: 6_600
+			.saturating_add(Weight::from_parts(118_610, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:0)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::Recoverable` (r:1 w:1)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
+	/// Storage: Recovery ActiveRecoveries (r:1 w:0)
+	/// Proof: Recovery ActiveRecoveries (max_values: None, max_size: Some(389), added: 2864, mode: MaxEncodedLen)
+	/// Storage: Recovery Recoverable (r:1 w:1)
+	/// Proof: Recovery Recoverable (max_values: None, max_size: Some(351), added: 2826, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 9]`.
 	fn remove_recovery(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `341 + n * (32 ±0)`
+		//  Measured:  `270 + n * (32 ±0)`
 		//  Estimated: `3854`
-		// Minimum execution time: 27_925_000 picoseconds.
-		Weight::from_parts(29_258_264, 3854)
-			// Standard Error: 8_192
-			.saturating_add(Weight::from_parts(128_124, 0).saturating_mul(n.into()))
+		// Minimum execution time: 31_405_000 picoseconds.
+		Weight::from_parts(32_552_838, 3854)
+			// Standard Error: 8_043
+			.saturating_add(Weight::from_parts(171_605, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Recovery::Proxy` (r:1 w:1)
-	/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Proxy (r:1 w:1)
+	/// Proof: Recovery Proxy (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen)
 	fn cancel_recovered() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `352`
+		//  Measured:  `281`
 		//  Estimated: `3545`
-		// Minimum execution time: 11_623_000 picoseconds.
-		Weight::from_parts(12_043_000, 3545)
+		// Minimum execution time: 11_530_000 picoseconds.
+		Weight::from_parts(11_851_000, 3545)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Recovery::Proxy` (r:1 w:0)
-	/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Proxy (r:1 w:0)
+	/// Proof: Recovery Proxy (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen)
 	fn as_recovered() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `497`
-		//  Estimated: `3997`
-		// Minimum execution time: 14_898_000 picoseconds.
-		Weight::from_parts(15_464_000, 3997)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
+		//  Measured:  `281`
+		//  Estimated: `3545`
+		// Minimum execution time: 9_360_000 picoseconds.
+		Weight::from_parts(9_773_000, 3545)
+			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
-	/// Storage: `Recovery::Proxy` (r:0 w:1)
-	/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Proxy (r:0 w:1)
+	/// Proof: Recovery Proxy (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen)
 	fn set_recovered() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 7_424_000 picoseconds.
-		Weight::from_parts(7_830_000, 0)
+		// Minimum execution time: 9_146_000 picoseconds.
+		Weight::from_parts(9_507_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Recovery::Recoverable` (r:1 w:1)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Recoverable (r:1 w:1)
+	/// Proof: Recovery Recoverable (max_values: None, max_size: Some(351), added: 2826, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 9]`.
 	fn create_recovery(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `246`
+		//  Measured:  `175`
 		//  Estimated: `3816`
-		// Minimum execution time: 21_968_000 picoseconds.
-		Weight::from_parts(23_594_232, 3816)
-			// Standard Error: 5_848
-			.saturating_add(Weight::from_parts(24_843, 0).saturating_mul(n.into()))
+		// Minimum execution time: 26_472_000 picoseconds.
+		Weight::from_parts(27_917_651, 3816)
+			// Standard Error: 7_129
+			.saturating_add(Weight::from_parts(59_239, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Recovery::Recoverable` (r:1 w:0)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:1)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Recoverable (r:1 w:0)
+	/// Proof: Recovery Recoverable (max_values: None, max_size: Some(351), added: 2826, mode: MaxEncodedLen)
+	/// Storage: Recovery ActiveRecoveries (r:1 w:1)
+	/// Proof: Recovery ActiveRecoveries (max_values: None, max_size: Some(389), added: 2864, mode: MaxEncodedLen)
 	fn initiate_recovery() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `343`
+		//  Measured:  `272`
 		//  Estimated: `3854`
-		// Minimum execution time: 25_494_000 picoseconds.
-		Weight::from_parts(26_290_000, 3854)
+		// Minimum execution time: 29_618_000 picoseconds.
+		Weight::from_parts(30_192_000, 3854)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Recovery::Recoverable` (r:1 w:0)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:1)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Recoverable (r:1 w:0)
+	/// Proof: Recovery Recoverable (max_values: None, max_size: Some(351), added: 2826, mode: MaxEncodedLen)
+	/// Storage: Recovery ActiveRecoveries (r:1 w:1)
+	/// Proof: Recovery ActiveRecoveries (max_values: None, max_size: Some(389), added: 2864, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 9]`.
 	fn vouch_recovery(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `431 + n * (64 ±0)`
+		//  Measured:  `360 + n * (64 ±0)`
 		//  Estimated: `3854`
-		// Minimum execution time: 17_044_000 picoseconds.
-		Weight::from_parts(18_299_617, 3854)
-			// Standard Error: 5_580
-			.saturating_add(Weight::from_parts(187_568, 0).saturating_mul(n.into()))
+		// Minimum execution time: 19_464_000 picoseconds.
+		Weight::from_parts(20_642_522, 3854)
+			// Standard Error: 5_974
+			.saturating_add(Weight::from_parts(142_308, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Recovery::Recoverable` (r:1 w:0)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:0)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::Proxy` (r:1 w:1)
-	/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Recoverable (r:1 w:0)
+	/// Proof: Recovery Recoverable (max_values: None, max_size: Some(351), added: 2826, mode: MaxEncodedLen)
+	/// Storage: Recovery ActiveRecoveries (r:1 w:0)
+	/// Proof: Recovery ActiveRecoveries (max_values: None, max_size: Some(389), added: 2864, mode: MaxEncodedLen)
+	/// Storage: Recovery Proxy (r:1 w:1)
+	/// Proof: Recovery Proxy (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 9]`.
 	fn claim_recovery(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `463 + n * (64 ±0)`
+		//  Measured:  `392 + n * (64 ±0)`
 		//  Estimated: `3854`
-		// Minimum execution time: 22_186_000 picoseconds.
-		Weight::from_parts(23_476_807, 3854)
-			// Standard Error: 6_392
-			.saturating_add(Weight::from_parts(89_770, 0).saturating_mul(n.into()))
+		// Minimum execution time: 23_656_000 picoseconds.
+		Weight::from_parts(24_903_269, 3854)
+			// Standard Error: 5_771
+			.saturating_add(Weight::from_parts(117_343, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:1)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Recovery ActiveRecoveries (r:1 w:1)
+	/// Proof: Recovery ActiveRecoveries (max_values: None, max_size: Some(389), added: 2864, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 9]`.
 	fn close_recovery(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `584 + n * (32 ±0)`
+		//  Measured:  `513 + n * (32 ±0)`
 		//  Estimated: `3854`
-		// Minimum execution time: 31_045_000 picoseconds.
-		Weight::from_parts(32_623_578, 3854)
-			// Standard Error: 7_203
-			.saturating_add(Weight::from_parts(61_466, 0).saturating_mul(n.into()))
+		// Minimum execution time: 34_866_000 picoseconds.
+		Weight::from_parts(36_368_748, 3854)
+			// Standard Error: 6_600
+			.saturating_add(Weight::from_parts(118_610, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Recovery::ActiveRecoveries` (r:1 w:0)
-	/// Proof: `Recovery::ActiveRecoveries` (`max_values`: None, `max_size`: Some(389), added: 2864, mode: `MaxEncodedLen`)
-	/// Storage: `Recovery::Recoverable` (r:1 w:1)
-	/// Proof: `Recovery::Recoverable` (`max_values`: None, `max_size`: Some(351), added: 2826, mode: `MaxEncodedLen`)
+	/// Storage: Recovery ActiveRecoveries (r:1 w:0)
+	/// Proof: Recovery ActiveRecoveries (max_values: None, max_size: Some(389), added: 2864, mode: MaxEncodedLen)
+	/// Storage: Recovery Recoverable (r:1 w:1)
+	/// Proof: Recovery Recoverable (max_values: None, max_size: Some(351), added: 2826, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 9]`.
 	fn remove_recovery(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `341 + n * (32 ±0)`
+		//  Measured:  `270 + n * (32 ±0)`
 		//  Estimated: `3854`
-		// Minimum execution time: 27_925_000 picoseconds.
-		Weight::from_parts(29_258_264, 3854)
-			// Standard Error: 8_192
-			.saturating_add(Weight::from_parts(128_124, 0).saturating_mul(n.into()))
+		// Minimum execution time: 31_405_000 picoseconds.
+		Weight::from_parts(32_552_838, 3854)
+			// Standard Error: 8_043
+			.saturating_add(Weight::from_parts(171_605, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Recovery::Proxy` (r:1 w:1)
-	/// Proof: `Recovery::Proxy` (`max_values`: None, `max_size`: Some(80), added: 2555, mode: `MaxEncodedLen`)
+	/// Storage: Recovery Proxy (r:1 w:1)
+	/// Proof: Recovery Proxy (max_values: None, max_size: Some(80), added: 2555, mode: MaxEncodedLen)
 	fn cancel_recovered() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `352`
+		//  Measured:  `281`
 		//  Estimated: `3545`
-		// Minimum execution time: 11_623_000 picoseconds.
-		Weight::from_parts(12_043_000, 3545)
+		// Minimum execution time: 11_530_000 picoseconds.
+		Weight::from_parts(11_851_000, 3545)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
diff --git a/substrate/frame/referenda/src/weights.rs b/substrate/frame/referenda/src/weights.rs
index 1f1b69873eb..4b89379b311 100644
--- a/substrate/frame/referenda/src/weights.rs
+++ b/substrate/frame/referenda/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_referenda`
+//! Autogenerated weights for pallet_referenda
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/referenda/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/referenda/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_referenda`.
+/// Weight functions needed for pallet_referenda.
 pub trait WeightInfo {
 	fn submit() -> Weight;
 	fn place_decision_deposit_preparing() -> Weight;
@@ -83,874 +84,842 @@ pub trait WeightInfo {
 	fn clear_metadata() -> Weight;
 }
 
-/// Weights for `pallet_referenda` using the Substrate node and recommended hardware.
+/// Weights for pallet_referenda using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Referenda::ReferendumCount` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:0 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumCount (r:1 w:1)
+	/// Proof: Referenda ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:0 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
 	fn submit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `286`
+		//  Measured:  `220`
 		//  Estimated: `110487`
-		// Minimum execution time: 31_536_000 picoseconds.
-		Weight::from_parts(32_797_000, 110487)
+		// Minimum execution time: 40_175_000 picoseconds.
+		Weight::from_parts(41_107_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn place_decision_deposit_preparing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `539`
+		//  Measured:  `473`
 		//  Estimated: `219984`
-		// Minimum execution time: 42_579_000 picoseconds.
-		Weight::from_parts(43_877_000, 219984)
+		// Minimum execution time: 50_922_000 picoseconds.
+		Weight::from_parts(52_179_000, 219984)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
-			.saturating_add(T::DbWeight::get().writes(4_u64))
+			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:0)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:0)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn place_decision_deposit_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3326`
+		//  Measured:  `3260`
 		//  Estimated: `110487`
-		// Minimum execution time: 61_439_000 picoseconds.
-		Weight::from_parts(63_681_000, 110487)
+		// Minimum execution time: 69_559_000 picoseconds.
+		Weight::from_parts(72_143_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(4_u64))
+			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:0)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:0)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn place_decision_deposit_not_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3346`
+		//  Measured:  `3280`
 		//  Estimated: `110487`
-		// Minimum execution time: 60_136_000 picoseconds.
-		Weight::from_parts(61_841_000, 110487)
+		// Minimum execution time: 68_833_000 picoseconds.
+		Weight::from_parts(70_987_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(4_u64))
+			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:1)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn place_decision_deposit_passing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `539`
+		//  Measured:  `473`
 		//  Estimated: `219984`
-		// Minimum execution time: 49_865_000 picoseconds.
-		Weight::from_parts(51_347_000, 219984)
+		// Minimum execution time: 61_794_000 picoseconds.
+		Weight::from_parts(62_846_000, 219984)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(5_u64))
-	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+			.saturating_add(T::DbWeight::get().writes(4_u64))
+	}
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:1)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn place_decision_deposit_failing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `539`
+		//  Measured:  `473`
 		//  Estimated: `219984`
-		// Minimum execution time: 47_887_000 picoseconds.
-		Weight::from_parts(49_927_000, 219984)
+		// Minimum execution time: 58_664_000 picoseconds.
+		Weight::from_parts(60_195_000, 219984)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(5_u64))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
 	fn refund_decision_deposit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `417`
+		//  Measured:  `351`
 		//  Estimated: `3831`
-		// Minimum execution time: 25_721_000 picoseconds.
-		Weight::from_parts(26_922_000, 3831)
+		// Minimum execution time: 30_850_000 picoseconds.
+		Weight::from_parts(32_130_000, 3831)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
 	fn refund_submission_deposit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `407`
+		//  Measured:  `341`
 		//  Estimated: `3831`
-		// Minimum execution time: 25_840_000 picoseconds.
-		Weight::from_parts(26_498_000, 3831)
+		// Minimum execution time: 30_747_000 picoseconds.
+		Weight::from_parts(32_196_000, 3831)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn cancel() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `447`
+		//  Measured:  `381`
 		//  Estimated: `219984`
-		// Minimum execution time: 30_530_000 picoseconds.
-		Weight::from_parts(31_547_000, 219984)
+		// Minimum execution time: 36_139_000 picoseconds.
+		Weight::from_parts(37_252_000, 219984)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
-			.saturating_add(T::DbWeight::get().writes(4_u64))
+			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::MetadataOf` (r:1 w:0)
-	/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
+	/// Storage: Referenda MetadataOf (r:1 w:0)
+	/// Proof: Referenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
 	fn kill() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `688`
+		//  Measured:  `622`
 		//  Estimated: `219984`
-		// Minimum execution time: 64_011_000 picoseconds.
-		Weight::from_parts(65_240_000, 219984)
+		// Minimum execution time: 80_862_000 picoseconds.
+		Weight::from_parts(83_045_000, 219984)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(4_u64))
+			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::TrackQueue` (r:1 w:0)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
+	/// Storage: Referenda TrackQueue (r:1 w:0)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:1)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
 	fn one_fewer_deciding_queue_empty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `240`
+		//  Measured:  `174`
 		//  Estimated: `5477`
-		// Minimum execution time: 9_568_000 picoseconds.
-		Weight::from_parts(10_004_000, 5477)
+		// Minimum execution time: 10_136_000 picoseconds.
+		Weight::from_parts(10_638_000, 5477)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn one_fewer_deciding_failing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3216`
+		//  Measured:  `3150`
 		//  Estimated: `110487`
-		// Minimum execution time: 43_325_000 picoseconds.
-		Weight::from_parts(45_335_000, 110487)
+		// Minimum execution time: 52_022_000 picoseconds.
+		Weight::from_parts(53_910_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn one_fewer_deciding_passing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3216`
+		//  Measured:  `3150`
 		//  Estimated: `110487`
-		// Minimum execution time: 44_287_000 picoseconds.
-		Weight::from_parts(45_164_000, 110487)
+		// Minimum execution time: 53_683_000 picoseconds.
+		Weight::from_parts(55_707_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
 	fn nudge_referendum_requeued_insertion() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3077`
+		//  Measured:  `3011`
 		//  Estimated: `5477`
-		// Minimum execution time: 21_909_000 picoseconds.
-		Weight::from_parts(22_641_000, 5477)
+		// Minimum execution time: 24_043_000 picoseconds.
+		Weight::from_parts(24_512_000, 5477)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
 	fn nudge_referendum_requeued_slide() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3077`
+		//  Measured:  `3011`
 		//  Estimated: `5477`
-		// Minimum execution time: 21_626_000 picoseconds.
-		Weight::from_parts(22_338_000, 5477)
+		// Minimum execution time: 23_588_000 picoseconds.
+		Weight::from_parts(24_422_000, 5477)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:0)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:0)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
 	fn nudge_referendum_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3081`
+		//  Measured:  `3015`
 		//  Estimated: `5477`
-		// Minimum execution time: 29_245_000 picoseconds.
-		Weight::from_parts(30_147_000, 5477)
+		// Minimum execution time: 31_443_000 picoseconds.
+		Weight::from_parts(32_725_000, 5477)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:0)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:0)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
 	fn nudge_referendum_not_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3101`
+		//  Measured:  `3035`
 		//  Estimated: `5477`
-		// Minimum execution time: 28_512_000 picoseconds.
-		Weight::from_parts(29_781_000, 5477)
+		// Minimum execution time: 30_319_000 picoseconds.
+		Weight::from_parts(31_652_000, 5477)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_no_deposit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `399`
+		//  Measured:  `333`
 		//  Estimated: `110487`
-		// Minimum execution time: 19_208_000 picoseconds.
-		Weight::from_parts(19_947_000, 110487)
+		// Minimum execution time: 23_062_000 picoseconds.
+		Weight::from_parts(23_614_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_preparing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `447`
+		//  Measured:  `381`
 		//  Estimated: `110487`
-		// Minimum execution time: 19_708_000 picoseconds.
-		Weight::from_parts(20_783_000, 110487)
+		// Minimum execution time: 23_537_000 picoseconds.
+		Weight::from_parts(24_267_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
 	fn nudge_referendum_timed_out() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `344`
+		//  Measured:  `278`
 		//  Estimated: `3831`
-		// Minimum execution time: 12_947_000 picoseconds.
-		Weight::from_parts(13_582_000, 3831)
+		// Minimum execution time: 16_388_000 picoseconds.
+		Weight::from_parts(16_676_000, 3831)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:1)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_begin_deciding_failing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `447`
+		//  Measured:  `381`
 		//  Estimated: `110487`
-		// Minimum execution time: 26_699_000 picoseconds.
-		Weight::from_parts(28_048_000, 110487)
+		// Minimum execution time: 32_801_000 picoseconds.
+		Weight::from_parts(34_053_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:1)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_begin_deciding_passing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `447`
+		//  Measured:  `381`
 		//  Estimated: `110487`
-		// Minimum execution time: 28_132_000 picoseconds.
-		Weight::from_parts(29_520_000, 110487)
+		// Minimum execution time: 35_704_000 picoseconds.
+		Weight::from_parts(36_451_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_begin_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `500`
+		//  Measured:  `434`
 		//  Estimated: `110487`
-		// Minimum execution time: 23_212_000 picoseconds.
-		Weight::from_parts(24_200_000, 110487)
+		// Minimum execution time: 29_151_000 picoseconds.
+		Weight::from_parts(30_055_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_end_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `483`
+		//  Measured:  `417`
 		//  Estimated: `110487`
-		// Minimum execution time: 22_807_000 picoseconds.
-		Weight::from_parts(23_858_000, 110487)
+		// Minimum execution time: 29_265_000 picoseconds.
+		Weight::from_parts(30_213_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_continue_not_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `500`
+		//  Measured:  `434`
 		//  Estimated: `110487`
-		// Minimum execution time: 22_862_000 picoseconds.
-		Weight::from_parts(23_627_000, 110487)
+		// Minimum execution time: 27_760_000 picoseconds.
+		Weight::from_parts(28_381_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_continue_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `504`
+		//  Measured:  `438`
 		//  Estimated: `110487`
-		// Minimum execution time: 21_030_000 picoseconds.
-		Weight::from_parts(21_710_000, 110487)
+		// Minimum execution time: 25_464_000 picoseconds.
+		Weight::from_parts(26_348_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Lookup` (r:1 w:1)
-	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
+	/// Storage: Scheduler Lookup (r:1 w:1)
+	/// Proof: Scheduler Lookup (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
 	fn nudge_referendum_approved() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `504`
+		//  Measured:  `438`
 		//  Estimated: `219984`
-		// Minimum execution time: 33_031_000 picoseconds.
-		Weight::from_parts(34_518_000, 219984)
+		// Minimum execution time: 42_629_000 picoseconds.
+		Weight::from_parts(43_732_000, 219984)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_rejected() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `500`
+		//  Measured:  `434`
 		//  Estimated: `110487`
-		// Minimum execution time: 23_198_000 picoseconds.
-		Weight::from_parts(24_238_000, 110487)
+		// Minimum execution time: 30_015_000 picoseconds.
+		Weight::from_parts(30_827_000, 110487)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:0)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::MetadataOf` (r:0 w:1)
-	/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Preimage StatusFor (r:1 w:0)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Referenda MetadataOf (r:0 w:1)
+	/// Proof: Referenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
 	fn set_some_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `555`
+		//  Measured:  `422`
 		//  Estimated: `3831`
-		// Minimum execution time: 19_502_000 picoseconds.
-		Weight::from_parts(20_105_000, 3831)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
+		// Minimum execution time: 19_901_000 picoseconds.
+		Weight::from_parts(20_681_000, 3831)
+			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::MetadataOf` (r:1 w:1)
-	/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda MetadataOf (r:1 w:1)
+	/// Proof: Referenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
 	fn clear_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `421`
+		//  Measured:  `355`
 		//  Estimated: `3831`
-		// Minimum execution time: 15_417_000 picoseconds.
-		Weight::from_parts(15_916_000, 3831)
+		// Minimum execution time: 17_323_000 picoseconds.
+		Weight::from_parts(18_227_000, 3831)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Referenda::ReferendumCount` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:0 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumCount (r:1 w:1)
+	/// Proof: Referenda ReferendumCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:0 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
 	fn submit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `286`
+		//  Measured:  `220`
 		//  Estimated: `110487`
-		// Minimum execution time: 31_536_000 picoseconds.
-		Weight::from_parts(32_797_000, 110487)
+		// Minimum execution time: 40_175_000 picoseconds.
+		Weight::from_parts(41_107_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn place_decision_deposit_preparing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `539`
+		//  Measured:  `473`
 		//  Estimated: `219984`
-		// Minimum execution time: 42_579_000 picoseconds.
-		Weight::from_parts(43_877_000, 219984)
+		// Minimum execution time: 50_922_000 picoseconds.
+		Weight::from_parts(52_179_000, 219984)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
-			.saturating_add(RocksDbWeight::get().writes(4_u64))
+			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:0)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:0)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn place_decision_deposit_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3326`
+		//  Measured:  `3260`
 		//  Estimated: `110487`
-		// Minimum execution time: 61_439_000 picoseconds.
-		Weight::from_parts(63_681_000, 110487)
+		// Minimum execution time: 69_559_000 picoseconds.
+		Weight::from_parts(72_143_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(4_u64))
+			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:0)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:0)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn place_decision_deposit_not_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3346`
+		//  Measured:  `3280`
 		//  Estimated: `110487`
-		// Minimum execution time: 60_136_000 picoseconds.
-		Weight::from_parts(61_841_000, 110487)
+		// Minimum execution time: 68_833_000 picoseconds.
+		Weight::from_parts(70_987_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(4_u64))
+			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:1)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn place_decision_deposit_passing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `539`
+		//  Measured:  `473`
 		//  Estimated: `219984`
-		// Minimum execution time: 49_865_000 picoseconds.
-		Weight::from_parts(51_347_000, 219984)
+		// Minimum execution time: 61_794_000 picoseconds.
+		Weight::from_parts(62_846_000, 219984)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(5_u64))
-	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
+	}
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:1)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn place_decision_deposit_failing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `539`
+		//  Measured:  `473`
 		//  Estimated: `219984`
-		// Minimum execution time: 47_887_000 picoseconds.
-		Weight::from_parts(49_927_000, 219984)
+		// Minimum execution time: 58_664_000 picoseconds.
+		Weight::from_parts(60_195_000, 219984)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(5_u64))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
 	fn refund_decision_deposit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `417`
+		//  Measured:  `351`
 		//  Estimated: `3831`
-		// Minimum execution time: 25_721_000 picoseconds.
-		Weight::from_parts(26_922_000, 3831)
+		// Minimum execution time: 30_850_000 picoseconds.
+		Weight::from_parts(32_130_000, 3831)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
 	fn refund_submission_deposit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `407`
+		//  Measured:  `341`
 		//  Estimated: `3831`
-		// Minimum execution time: 25_840_000 picoseconds.
-		Weight::from_parts(26_498_000, 3831)
+		// Minimum execution time: 30_747_000 picoseconds.
+		Weight::from_parts(32_196_000, 3831)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn cancel() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `447`
+		//  Measured:  `381`
 		//  Estimated: `219984`
-		// Minimum execution time: 30_530_000 picoseconds.
-		Weight::from_parts(31_547_000, 219984)
+		// Minimum execution time: 36_139_000 picoseconds.
+		Weight::from_parts(37_252_000, 219984)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
-			.saturating_add(RocksDbWeight::get().writes(4_u64))
+			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::MetadataOf` (r:1 w:0)
-	/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
+	/// Storage: Referenda MetadataOf (r:1 w:0)
+	/// Proof: Referenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
 	fn kill() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `688`
+		//  Measured:  `622`
 		//  Estimated: `219984`
-		// Minimum execution time: 64_011_000 picoseconds.
-		Weight::from_parts(65_240_000, 219984)
+		// Minimum execution time: 80_862_000 picoseconds.
+		Weight::from_parts(83_045_000, 219984)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(4_u64))
+			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::TrackQueue` (r:1 w:0)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
+	/// Storage: Referenda TrackQueue (r:1 w:0)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:1)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
 	fn one_fewer_deciding_queue_empty() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `240`
+		//  Measured:  `174`
 		//  Estimated: `5477`
-		// Minimum execution time: 9_568_000 picoseconds.
-		Weight::from_parts(10_004_000, 5477)
+		// Minimum execution time: 10_136_000 picoseconds.
+		Weight::from_parts(10_638_000, 5477)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn one_fewer_deciding_failing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3216`
+		//  Measured:  `3150`
 		//  Estimated: `110487`
-		// Minimum execution time: 43_325_000 picoseconds.
-		Weight::from_parts(45_335_000, 110487)
+		// Minimum execution time: 52_022_000 picoseconds.
+		Weight::from_parts(53_910_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn one_fewer_deciding_passing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3216`
+		//  Measured:  `3150`
 		//  Estimated: `110487`
-		// Minimum execution time: 44_287_000 picoseconds.
-		Weight::from_parts(45_164_000, 110487)
+		// Minimum execution time: 53_683_000 picoseconds.
+		Weight::from_parts(55_707_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
 	fn nudge_referendum_requeued_insertion() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3077`
+		//  Measured:  `3011`
 		//  Estimated: `5477`
-		// Minimum execution time: 21_909_000 picoseconds.
-		Weight::from_parts(22_641_000, 5477)
+		// Minimum execution time: 24_043_000 picoseconds.
+		Weight::from_parts(24_512_000, 5477)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
 	fn nudge_referendum_requeued_slide() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3077`
+		//  Measured:  `3011`
 		//  Estimated: `5477`
-		// Minimum execution time: 21_626_000 picoseconds.
-		Weight::from_parts(22_338_000, 5477)
+		// Minimum execution time: 23_588_000 picoseconds.
+		Weight::from_parts(24_422_000, 5477)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:0)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:0)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
 	fn nudge_referendum_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3081`
+		//  Measured:  `3015`
 		//  Estimated: `5477`
-		// Minimum execution time: 29_245_000 picoseconds.
-		Weight::from_parts(30_147_000, 5477)
+		// Minimum execution time: 31_443_000 picoseconds.
+		Weight::from_parts(32_725_000, 5477)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:0)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::TrackQueue` (r:1 w:1)
-	/// Proof: `Referenda::TrackQueue` (`max_values`: None, `max_size`: Some(2012), added: 4487, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:0)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Referenda TrackQueue (r:1 w:1)
+	/// Proof: Referenda TrackQueue (max_values: None, max_size: Some(2012), added: 4487, mode: MaxEncodedLen)
 	fn nudge_referendum_not_queued() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `3101`
+		//  Measured:  `3035`
 		//  Estimated: `5477`
-		// Minimum execution time: 28_512_000 picoseconds.
-		Weight::from_parts(29_781_000, 5477)
+		// Minimum execution time: 30_319_000 picoseconds.
+		Weight::from_parts(31_652_000, 5477)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_no_deposit() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `399`
+		//  Measured:  `333`
 		//  Estimated: `110487`
-		// Minimum execution time: 19_208_000 picoseconds.
-		Weight::from_parts(19_947_000, 110487)
+		// Minimum execution time: 23_062_000 picoseconds.
+		Weight::from_parts(23_614_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_preparing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `447`
+		//  Measured:  `381`
 		//  Estimated: `110487`
-		// Minimum execution time: 19_708_000 picoseconds.
-		Weight::from_parts(20_783_000, 110487)
+		// Minimum execution time: 23_537_000 picoseconds.
+		Weight::from_parts(24_267_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
 	fn nudge_referendum_timed_out() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `344`
+		//  Measured:  `278`
 		//  Estimated: `3831`
-		// Minimum execution time: 12_947_000 picoseconds.
-		Weight::from_parts(13_582_000, 3831)
+		// Minimum execution time: 16_388_000 picoseconds.
+		Weight::from_parts(16_676_000, 3831)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:1)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_begin_deciding_failing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `447`
+		//  Measured:  `381`
 		//  Estimated: `110487`
-		// Minimum execution time: 26_699_000 picoseconds.
-		Weight::from_parts(28_048_000, 110487)
+		// Minimum execution time: 32_801_000 picoseconds.
+		Weight::from_parts(34_053_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::DecidingCount` (r:1 w:1)
-	/// Proof: `Referenda::DecidingCount` (`max_values`: None, `max_size`: Some(14), added: 2489, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda DecidingCount (r:1 w:1)
+	/// Proof: Referenda DecidingCount (max_values: None, max_size: Some(14), added: 2489, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_begin_deciding_passing() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `447`
+		//  Measured:  `381`
 		//  Estimated: `110487`
-		// Minimum execution time: 28_132_000 picoseconds.
-		Weight::from_parts(29_520_000, 110487)
+		// Minimum execution time: 35_704_000 picoseconds.
+		Weight::from_parts(36_451_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_begin_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `500`
+		//  Measured:  `434`
 		//  Estimated: `110487`
-		// Minimum execution time: 23_212_000 picoseconds.
-		Weight::from_parts(24_200_000, 110487)
+		// Minimum execution time: 29_151_000 picoseconds.
+		Weight::from_parts(30_055_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_end_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `483`
+		//  Measured:  `417`
 		//  Estimated: `110487`
-		// Minimum execution time: 22_807_000 picoseconds.
-		Weight::from_parts(23_858_000, 110487)
+		// Minimum execution time: 29_265_000 picoseconds.
+		Weight::from_parts(30_213_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_continue_not_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `500`
+		//  Measured:  `434`
 		//  Estimated: `110487`
-		// Minimum execution time: 22_862_000 picoseconds.
-		Weight::from_parts(23_627_000, 110487)
+		// Minimum execution time: 27_760_000 picoseconds.
+		Weight::from_parts(28_381_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_continue_confirming() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `504`
+		//  Measured:  `438`
 		//  Estimated: `110487`
-		// Minimum execution time: 21_030_000 picoseconds.
-		Weight::from_parts(21_710_000, 110487)
+		// Minimum execution time: 25_464_000 picoseconds.
+		Weight::from_parts(26_348_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:2 w:2)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Lookup` (r:1 w:1)
-	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:2 w:2)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
+	/// Storage: Scheduler Lookup (r:1 w:1)
+	/// Proof: Scheduler Lookup (max_values: None, max_size: Some(48), added: 2523, mode: MaxEncodedLen)
 	fn nudge_referendum_approved() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `504`
+		//  Measured:  `438`
 		//  Estimated: `219984`
-		// Minimum execution time: 33_031_000 picoseconds.
-		Weight::from_parts(34_518_000, 219984)
+		// Minimum execution time: 42_629_000 picoseconds.
+		Weight::from_parts(43_732_000, 219984)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:1)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Agenda` (r:1 w:1)
-	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:1)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Scheduler Agenda (r:1 w:1)
+	/// Proof: Scheduler Agenda (max_values: None, max_size: Some(107022), added: 109497, mode: MaxEncodedLen)
 	fn nudge_referendum_rejected() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `500`
+		//  Measured:  `434`
 		//  Estimated: `110487`
-		// Minimum execution time: 23_198_000 picoseconds.
-		Weight::from_parts(24_238_000, 110487)
+		// Minimum execution time: 30_015_000 picoseconds.
+		Weight::from_parts(30_827_000, 110487)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:0)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::MetadataOf` (r:0 w:1)
-	/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Preimage StatusFor (r:1 w:0)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
+	/// Storage: Referenda MetadataOf (r:0 w:1)
+	/// Proof: Referenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
 	fn set_some_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `555`
+		//  Measured:  `422`
 		//  Estimated: `3831`
-		// Minimum execution time: 19_502_000 picoseconds.
-		Weight::from_parts(20_105_000, 3831)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
+		// Minimum execution time: 19_901_000 picoseconds.
+		Weight::from_parts(20_681_000, 3831)
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Referenda::ReferendumInfoFor` (r:1 w:0)
-	/// Proof: `Referenda::ReferendumInfoFor` (`max_values`: None, `max_size`: Some(366), added: 2841, mode: `MaxEncodedLen`)
-	/// Storage: `Referenda::MetadataOf` (r:1 w:1)
-	/// Proof: `Referenda::MetadataOf` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
+	/// Storage: Referenda ReferendumInfoFor (r:1 w:0)
+	/// Proof: Referenda ReferendumInfoFor (max_values: None, max_size: Some(366), added: 2841, mode: MaxEncodedLen)
+	/// Storage: Referenda MetadataOf (r:1 w:1)
+	/// Proof: Referenda MetadataOf (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
 	fn clear_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `421`
+		//  Measured:  `355`
 		//  Estimated: `3831`
-		// Minimum execution time: 15_417_000 picoseconds.
-		Weight::from_parts(15_916_000, 3831)
+		// Minimum execution time: 17_323_000 picoseconds.
+		Weight::from_parts(18_227_000, 3831)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
diff --git a/substrate/frame/remark/src/weights.rs b/substrate/frame/remark/src/weights.rs
index 61cca5b7d05..46475db163f 100644
--- a/substrate/frame/remark/src/weights.rs
+++ b/substrate/frame/remark/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_remark`
+//! Autogenerated weights for pallet_remark
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/remark/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/remark/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,12 +50,12 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_remark`.
+/// Weight functions needed for pallet_remark.
 pub trait WeightInfo {
 	fn store(l: u32, ) -> Weight;
 }
 
-/// Weights for `pallet_remark` using the Substrate node and recommended hardware.
+/// Weights for pallet_remark using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `l` is `[1, 1048576]`.
@@ -62,23 +63,23 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_623_000 picoseconds.
-		Weight::from_parts(6_757_000, 0)
+		// Minimum execution time: 8_471_000 picoseconds.
+		Weight::from_parts(8_586_000, 0)
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_368, 0).saturating_mul(l.into()))
+			.saturating_add(Weight::from_parts(1_359, 0).saturating_mul(l.into()))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
 	/// The range of component `l` is `[1, 1048576]`.
 	fn store(l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_623_000 picoseconds.
-		Weight::from_parts(6_757_000, 0)
+		// Minimum execution time: 8_471_000 picoseconds.
+		Weight::from_parts(8_586_000, 0)
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_368, 0).saturating_mul(l.into()))
+			.saturating_add(Weight::from_parts(1_359, 0).saturating_mul(l.into()))
 	}
 }
diff --git a/substrate/frame/safe-mode/src/weights.rs b/substrate/frame/safe-mode/src/weights.rs
index d326fab0f0f..f72bebcab9a 100644
--- a/substrate/frame/safe-mode/src/weights.rs
+++ b/substrate/frame/safe-mode/src/weights.rs
@@ -17,29 +17,27 @@
 
 //! Autogenerated weights for `pallet_safe_mode`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-08-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-aahe6cbd-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/production/substrate-node
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_safe_mode
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/safe-mode/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --json-file=/builds/parity/mirrors/substrate/.git/.artifacts/bench.json
+// --pallet=pallet_safe_mode
+// --chain=dev
+// --header=./HEADER-APACHE2
+// --output=./frame/safe-mode/src/weights.rs
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -72,8 +70,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `1489`
-		// Minimum execution time: 2_216_000 picoseconds.
-		Weight::from_parts(2_309_000, 1489)
+		// Minimum execution time: 2_500_000 picoseconds.
+		Weight::from_parts(2_594_000, 1489)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// Storage: `SafeMode::EnteredUntil` (r:1 w:1)
@@ -82,23 +80,23 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `169`
 		//  Estimated: `1489`
-		// Minimum execution time: 6_124_000 picoseconds.
-		Weight::from_parts(6_601_000, 1489)
+		// Minimum execution time: 8_868_000 picoseconds.
+		Weight::from_parts(9_415_000, 1489)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `SafeMode::EnteredUntil` (r:1 w:1)
 	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	/// Storage: `SafeMode::Deposits` (r:0 w:1)
 	/// Proof: `SafeMode::Deposits` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
 	fn enter() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
-		//  Estimated: `3658`
-		// Minimum execution time: 44_825_000 picoseconds.
-		Weight::from_parts(45_845_000, 3658)
+		//  Estimated: `3550`
+		// Minimum execution time: 50_541_000 picoseconds.
+		Weight::from_parts(51_558_000, 3550)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -108,23 +106,23 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `1489`
-		// Minimum execution time: 7_603_000 picoseconds.
-		Weight::from_parts(7_954_000, 1489)
+		// Minimum execution time: 10_489_000 picoseconds.
+		Weight::from_parts(10_833_000, 1489)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `SafeMode::EnteredUntil` (r:1 w:1)
 	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	/// Storage: `SafeMode::Deposits` (r:0 w:1)
 	/// Proof: `SafeMode::Deposits` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
 	fn extend() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `169`
-		//  Estimated: `3658`
-		// Minimum execution time: 44_716_000 picoseconds.
-		Weight::from_parts(46_039_000, 3658)
+		//  Estimated: `3550`
+		// Minimum execution time: 50_818_000 picoseconds.
+		Weight::from_parts(51_873_000, 3550)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -134,8 +132,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `169`
 		//  Estimated: `1489`
-		// Minimum execution time: 8_231_000 picoseconds.
-		Weight::from_parts(8_731_000, 1489)
+		// Minimum execution time: 10_843_000 picoseconds.
+		Weight::from_parts(11_314_000, 1489)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -145,8 +143,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `169`
 		//  Estimated: `1489`
-		// Minimum execution time: 8_015_000 picoseconds.
-		Weight::from_parts(8_247_000, 1489)
+		// Minimum execution time: 10_382_000 picoseconds.
+		Weight::from_parts(10_814_000, 1489)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -155,39 +153,39 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
 	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	fn release_deposit() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `292`
-		//  Estimated: `3658`
-		// Minimum execution time: 39_149_000 picoseconds.
-		Weight::from_parts(40_005_000, 3658)
+		//  Estimated: `3550`
+		// Minimum execution time: 42_828_000 picoseconds.
+		Weight::from_parts(43_752_000, 3550)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `SafeMode::Deposits` (r:1 w:1)
 	/// Proof: `SafeMode::Deposits` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	fn force_release_deposit() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `292`
-		//  Estimated: `3658`
-		// Minimum execution time: 37_528_000 picoseconds.
-		Weight::from_parts(38_473_000, 3658)
+		//  Estimated: `3550`
+		// Minimum execution time: 40_196_000 picoseconds.
+		Weight::from_parts(41_298_000, 3550)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `SafeMode::Deposits` (r:1 w:1)
 	/// Proof: `SafeMode::Deposits` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	fn force_slash_deposit() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `292`
-		//  Estimated: `3658`
-		// Minimum execution time: 29_417_000 picoseconds.
-		Weight::from_parts(30_195_000, 3658)
+		//  Estimated: `3550`
+		// Minimum execution time: 33_660_000 picoseconds.
+		Weight::from_parts(34_426_000, 3550)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -201,8 +199,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `1489`
-		// Minimum execution time: 2_216_000 picoseconds.
-		Weight::from_parts(2_309_000, 1489)
+		// Minimum execution time: 2_500_000 picoseconds.
+		Weight::from_parts(2_594_000, 1489)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// Storage: `SafeMode::EnteredUntil` (r:1 w:1)
@@ -211,23 +209,23 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `169`
 		//  Estimated: `1489`
-		// Minimum execution time: 6_124_000 picoseconds.
-		Weight::from_parts(6_601_000, 1489)
+		// Minimum execution time: 8_868_000 picoseconds.
+		Weight::from_parts(9_415_000, 1489)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `SafeMode::EnteredUntil` (r:1 w:1)
 	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	/// Storage: `SafeMode::Deposits` (r:0 w:1)
 	/// Proof: `SafeMode::Deposits` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
 	fn enter() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
-		//  Estimated: `3658`
-		// Minimum execution time: 44_825_000 picoseconds.
-		Weight::from_parts(45_845_000, 3658)
+		//  Estimated: `3550`
+		// Minimum execution time: 50_541_000 picoseconds.
+		Weight::from_parts(51_558_000, 3550)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -237,23 +235,23 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `142`
 		//  Estimated: `1489`
-		// Minimum execution time: 7_603_000 picoseconds.
-		Weight::from_parts(7_954_000, 1489)
+		// Minimum execution time: 10_489_000 picoseconds.
+		Weight::from_parts(10_833_000, 1489)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `SafeMode::EnteredUntil` (r:1 w:1)
 	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	/// Storage: `SafeMode::Deposits` (r:0 w:1)
 	/// Proof: `SafeMode::Deposits` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
 	fn extend() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `169`
-		//  Estimated: `3658`
-		// Minimum execution time: 44_716_000 picoseconds.
-		Weight::from_parts(46_039_000, 3658)
+		//  Estimated: `3550`
+		// Minimum execution time: 50_818_000 picoseconds.
+		Weight::from_parts(51_873_000, 3550)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -263,8 +261,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `169`
 		//  Estimated: `1489`
-		// Minimum execution time: 8_231_000 picoseconds.
-		Weight::from_parts(8_731_000, 1489)
+		// Minimum execution time: 10_843_000 picoseconds.
+		Weight::from_parts(11_314_000, 1489)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -274,8 +272,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `169`
 		//  Estimated: `1489`
-		// Minimum execution time: 8_015_000 picoseconds.
-		Weight::from_parts(8_247_000, 1489)
+		// Minimum execution time: 10_382_000 picoseconds.
+		Weight::from_parts(10_814_000, 1489)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -284,39 +282,39 @@ impl WeightInfo for () {
 	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
 	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	fn release_deposit() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `292`
-		//  Estimated: `3658`
-		// Minimum execution time: 39_149_000 picoseconds.
-		Weight::from_parts(40_005_000, 3658)
+		//  Estimated: `3550`
+		// Minimum execution time: 42_828_000 picoseconds.
+		Weight::from_parts(43_752_000, 3550)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `SafeMode::Deposits` (r:1 w:1)
 	/// Proof: `SafeMode::Deposits` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	fn force_release_deposit() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `292`
-		//  Estimated: `3658`
-		// Minimum execution time: 37_528_000 picoseconds.
-		Weight::from_parts(38_473_000, 3658)
+		//  Estimated: `3550`
+		// Minimum execution time: 40_196_000 picoseconds.
+		Weight::from_parts(41_298_000, 3550)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `SafeMode::Deposits` (r:1 w:1)
 	/// Proof: `SafeMode::Deposits` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(85), added: 2560, mode: `MaxEncodedLen`)
 	fn force_slash_deposit() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `292`
-		//  Estimated: `3658`
-		// Minimum execution time: 29_417_000 picoseconds.
-		Weight::from_parts(30_195_000, 3658)
+		//  Estimated: `3550`
+		// Minimum execution time: 33_660_000 picoseconds.
+		Weight::from_parts(34_426_000, 3550)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
diff --git a/substrate/frame/salary/src/weights.rs b/substrate/frame/salary/src/weights.rs
index c4f22a027eb..3d3b9e31595 100644
--- a/substrate/frame/salary/src/weights.rs
+++ b/substrate/frame/salary/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_salary`
+//! Autogenerated weights for pallet_salary
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/salary/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/salary/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_salary`.
+/// Weight functions needed for pallet_salary.
 pub trait WeightInfo {
 	fn init() -> Weight;
 	fn bump() -> Weight;
@@ -60,204 +61,204 @@ pub trait WeightInfo {
 	fn check_payment() -> Weight;
 }
 
-/// Weights for `pallet_salary` using the Substrate node and recommended hardware.
+/// Weights for pallet_salary using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Salary::Status` (r:1 w:1)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
+	/// Storage: Salary Status (r:1 w:1)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
 	fn init() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `4`
 		//  Estimated: `1541`
-		// Minimum execution time: 7_421_000 picoseconds.
-		Weight::from_parts(7_819_000, 1541)
+		// Minimum execution time: 10_778_000 picoseconds.
+		Weight::from_parts(11_084_000, 1541)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Salary::Status` (r:1 w:1)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
+	/// Storage: Salary Status (r:1 w:1)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
 	fn bump() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `86`
 		//  Estimated: `1541`
-		// Minimum execution time: 8_651_000 picoseconds.
-		Weight::from_parts(9_056_000, 1541)
+		// Minimum execution time: 12_042_000 picoseconds.
+		Weight::from_parts(12_645_000, 1541)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Salary::Status` (r:1 w:0)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Claimant` (r:1 w:1)
-	/// Proof: `Salary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
+	/// Storage: Salary Status (r:1 w:0)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: Salary Claimant (r:1 w:1)
+	/// Proof: Salary Claimant (max_values: None, max_size: Some(78), added: 2553, mode: MaxEncodedLen)
 	fn induct() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `395`
 		//  Estimated: `3543`
-		// Minimum execution time: 16_513_000 picoseconds.
-		Weight::from_parts(17_305_000, 3543)
+		// Minimum execution time: 18_374_000 picoseconds.
+		Weight::from_parts(19_200_000, 3543)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Status` (r:1 w:1)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Claimant` (r:1 w:1)
-	/// Proof: `Salary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: Salary Status (r:1 w:1)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
+	/// Storage: Salary Claimant (r:1 w:1)
+	/// Proof: Salary Claimant (max_values: None, max_size: Some(78), added: 2553, mode: MaxEncodedLen)
 	fn register() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `462`
 		//  Estimated: `3543`
-		// Minimum execution time: 18_913_000 picoseconds.
-		Weight::from_parts(19_867_000, 3543)
+		// Minimum execution time: 22_696_000 picoseconds.
+		Weight::from_parts(23_275_000, 3543)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Salary::Status` (r:1 w:1)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Claimant` (r:1 w:1)
-	/// Proof: `Salary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
+	/// Storage: Salary Status (r:1 w:1)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
+	/// Storage: Salary Claimant (r:1 w:1)
+	/// Proof: Salary Claimant (max_values: None, max_size: Some(78), added: 2553, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
 	fn payout() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `462`
 		//  Estimated: `3543`
-		// Minimum execution time: 53_297_000 picoseconds.
-		Weight::from_parts(55_144_000, 3543)
+		// Minimum execution time: 63_660_000 picoseconds.
+		Weight::from_parts(65_006_000, 3543)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Salary::Status` (r:1 w:1)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Claimant` (r:1 w:1)
-	/// Proof: `Salary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Salary Status (r:1 w:1)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
+	/// Storage: Salary Claimant (r:1 w:1)
+	/// Proof: Salary Claimant (max_values: None, max_size: Some(78), added: 2553, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn payout_other() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `462`
 		//  Estimated: `3593`
-		// Minimum execution time: 53_638_000 picoseconds.
-		Weight::from_parts(55_328_000, 3593)
+		// Minimum execution time: 64_706_000 picoseconds.
+		Weight::from_parts(65_763_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Salary::Status` (r:1 w:1)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Claimant` (r:1 w:1)
-	/// Proof: `Salary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
+	/// Storage: Salary Status (r:1 w:1)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
+	/// Storage: Salary Claimant (r:1 w:1)
+	/// Proof: Salary Claimant (max_values: None, max_size: Some(78), added: 2553, mode: MaxEncodedLen)
 	fn check_payment() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `170`
 		//  Estimated: `3543`
-		// Minimum execution time: 10_557_000 picoseconds.
-		Weight::from_parts(11_145_000, 3543)
+		// Minimum execution time: 11_838_000 picoseconds.
+		Weight::from_parts(12_323_000, 3543)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Salary::Status` (r:1 w:1)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
+	/// Storage: Salary Status (r:1 w:1)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
 	fn init() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `4`
 		//  Estimated: `1541`
-		// Minimum execution time: 7_421_000 picoseconds.
-		Weight::from_parts(7_819_000, 1541)
+		// Minimum execution time: 10_778_000 picoseconds.
+		Weight::from_parts(11_084_000, 1541)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Salary::Status` (r:1 w:1)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
+	/// Storage: Salary Status (r:1 w:1)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
 	fn bump() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `86`
 		//  Estimated: `1541`
-		// Minimum execution time: 8_651_000 picoseconds.
-		Weight::from_parts(9_056_000, 1541)
+		// Minimum execution time: 12_042_000 picoseconds.
+		Weight::from_parts(12_645_000, 1541)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Salary::Status` (r:1 w:0)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Claimant` (r:1 w:1)
-	/// Proof: `Salary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
+	/// Storage: Salary Status (r:1 w:0)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: Salary Claimant (r:1 w:1)
+	/// Proof: Salary Claimant (max_values: None, max_size: Some(78), added: 2553, mode: MaxEncodedLen)
 	fn induct() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `395`
 		//  Estimated: `3543`
-		// Minimum execution time: 16_513_000 picoseconds.
-		Weight::from_parts(17_305_000, 3543)
+		// Minimum execution time: 18_374_000 picoseconds.
+		Weight::from_parts(19_200_000, 3543)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Status` (r:1 w:1)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Claimant` (r:1 w:1)
-	/// Proof: `Salary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: Salary Status (r:1 w:1)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
+	/// Storage: Salary Claimant (r:1 w:1)
+	/// Proof: Salary Claimant (max_values: None, max_size: Some(78), added: 2553, mode: MaxEncodedLen)
 	fn register() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `462`
 		//  Estimated: `3543`
-		// Minimum execution time: 18_913_000 picoseconds.
-		Weight::from_parts(19_867_000, 3543)
+		// Minimum execution time: 22_696_000 picoseconds.
+		Weight::from_parts(23_275_000, 3543)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Salary::Status` (r:1 w:1)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Claimant` (r:1 w:1)
-	/// Proof: `Salary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
+	/// Storage: Salary Status (r:1 w:1)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
+	/// Storage: Salary Claimant (r:1 w:1)
+	/// Proof: Salary Claimant (max_values: None, max_size: Some(78), added: 2553, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
 	fn payout() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `462`
 		//  Estimated: `3543`
-		// Minimum execution time: 53_297_000 picoseconds.
-		Weight::from_parts(55_144_000, 3543)
+		// Minimum execution time: 63_660_000 picoseconds.
+		Weight::from_parts(65_006_000, 3543)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Salary::Status` (r:1 w:1)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Claimant` (r:1 w:1)
-	/// Proof: `Salary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
-	/// Storage: `RankedCollective::Members` (r:1 w:0)
-	/// Proof: `RankedCollective::Members` (`max_values`: None, `max_size`: Some(42), added: 2517, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Salary Status (r:1 w:1)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
+	/// Storage: Salary Claimant (r:1 w:1)
+	/// Proof: Salary Claimant (max_values: None, max_size: Some(78), added: 2553, mode: MaxEncodedLen)
+	/// Storage: RankedCollective Members (r:1 w:0)
+	/// Proof: RankedCollective Members (max_values: None, max_size: Some(42), added: 2517, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn payout_other() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `462`
 		//  Estimated: `3593`
-		// Minimum execution time: 53_638_000 picoseconds.
-		Weight::from_parts(55_328_000, 3593)
+		// Minimum execution time: 64_706_000 picoseconds.
+		Weight::from_parts(65_763_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Salary::Status` (r:1 w:1)
-	/// Proof: `Salary::Status` (`max_values`: Some(1), `max_size`: Some(56), added: 551, mode: `MaxEncodedLen`)
-	/// Storage: `Salary::Claimant` (r:1 w:1)
-	/// Proof: `Salary::Claimant` (`max_values`: None, `max_size`: Some(78), added: 2553, mode: `MaxEncodedLen`)
+	/// Storage: Salary Status (r:1 w:1)
+	/// Proof: Salary Status (max_values: Some(1), max_size: Some(56), added: 551, mode: MaxEncodedLen)
+	/// Storage: Salary Claimant (r:1 w:1)
+	/// Proof: Salary Claimant (max_values: None, max_size: Some(78), added: 2553, mode: MaxEncodedLen)
 	fn check_payment() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `170`
 		//  Estimated: `3543`
-		// Minimum execution time: 10_557_000 picoseconds.
-		Weight::from_parts(11_145_000, 3543)
+		// Minimum execution time: 11_838_000 picoseconds.
+		Weight::from_parts(12_323_000, 3543)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
diff --git a/substrate/frame/sassafras/src/mock.rs b/substrate/frame/sassafras/src/mock.rs
index 4c6efaa63a9..5e5909fcb0d 100644
--- a/substrate/frame/sassafras/src/mock.rs
+++ b/substrate/frame/sassafras/src/mock.rs
@@ -34,8 +34,7 @@ use sp_core::{
 	H256, U256,
 };
 use sp_runtime::{
-	generic::UncheckedExtrinsic,
-	testing::{Digest, DigestItem, Header},
+	testing::{Digest, DigestItem, Header, TestXt},
 	BuildStorage,
 };
 
@@ -54,7 +53,7 @@ where
 	RuntimeCall: From<C>,
 {
 	type OverarchingCall = RuntimeCall;
-	type Extrinsic = UncheckedExtrinsic<u64, RuntimeCall, (), ()>;
+	type Extrinsic = TestXt<RuntimeCall, ()>;
 }
 
 impl pallet_sassafras::Config for Test {
diff --git a/substrate/frame/scheduler/src/weights.rs b/substrate/frame/scheduler/src/weights.rs
index 6c98145d266..9b7e5405a1b 100644
--- a/substrate/frame/scheduler/src/weights.rs
+++ b/substrate/frame/scheduler/src/weights.rs
@@ -17,28 +17,26 @@
 
 //! Autogenerated weights for `pallet_scheduler`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2024-01-25, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-grjcggob-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/production/substrate-node
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_scheduler
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/scheduler/src/weights.rs
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_scheduler
+// --chain=dev
 // --header=./substrate/HEADER-APACHE2
+// --output=./substrate/frame/scheduler/src/weights.rs
 // --template=./substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -79,8 +77,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `31`
 		//  Estimated: `1489`
-		// Minimum execution time: 3_128_000 picoseconds.
-		Weight::from_parts(3_372_000, 1489)
+		// Minimum execution time: 3_040_000 picoseconds.
+		Weight::from_parts(3_202_000, 1489)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -91,10 +89,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `81 + s * (177 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 3_560_000 picoseconds.
-		Weight::from_parts(6_356_795, 110487)
-			// Standard Error: 493
-			.saturating_add(Weight::from_parts(315_098, 0).saturating_mul(s.into()))
+		// Minimum execution time: 3_462_000 picoseconds.
+		Weight::from_parts(6_262_125, 110487)
+			// Standard Error: 536
+			.saturating_add(Weight::from_parts(332_570, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -102,8 +100,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_501_000 picoseconds.
-		Weight::from_parts(3_722_000, 0)
+		// Minimum execution time: 3_425_000 picoseconds.
+		Weight::from_parts(3_680_000, 0)
 	}
 	/// Storage: `Preimage::PreimageFor` (r:1 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `Measured`)
@@ -116,10 +114,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `246 + s * (1 ±0)`
 		//  Estimated: `3711 + s * (1 ±0)`
-		// Minimum execution time: 17_976_000 picoseconds.
-		Weight::from_parts(18_137_000, 3711)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_173, 0).saturating_mul(s.into()))
+		// Minimum execution time: 17_564_000 picoseconds.
+		Weight::from_parts(17_887_000, 3711)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(1_253, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(s.into()))
@@ -130,16 +128,16 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_935_000 picoseconds.
-		Weight::from_parts(5_133_000, 0)
+		// Minimum execution time: 4_934_000 picoseconds.
+		Weight::from_parts(5_275_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	fn service_task_periodic() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_467_000 picoseconds.
-		Weight::from_parts(3_654_000, 0)
+		// Minimum execution time: 3_348_000 picoseconds.
+		Weight::from_parts(3_561_000, 0)
 	}
 	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
 	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
@@ -149,16 +147,16 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `145`
 		//  Estimated: `3997`
-		// Minimum execution time: 6_528_000 picoseconds.
-		Weight::from_parts(6_820_000, 3997)
+		// Minimum execution time: 6_395_000 picoseconds.
+		Weight::from_parts(6_642_000, 3997)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 	}
 	fn execute_dispatch_unsigned() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_202_000 picoseconds.
-		Weight::from_parts(2_360_000, 0)
+		// Minimum execution time: 2_167_000 picoseconds.
+		Weight::from_parts(2_266_000, 0)
 	}
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
@@ -167,17 +165,15 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `81 + s * (177 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 10_222_000 picoseconds.
-		Weight::from_parts(13_654_958, 110487)
-			// Standard Error: 676
-			.saturating_add(Weight::from_parts(338_633, 0).saturating_mul(s.into()))
+		// Minimum execution time: 10_009_000 picoseconds.
+		Weight::from_parts(13_565_985, 110487)
+			// Standard Error: 575
+			.saturating_add(Weight::from_parts(354_760, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Lookup` (r:0 w:1)
 	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[1, 512]`.
@@ -185,12 +181,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `81 + s * (177 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 15_517_000 picoseconds.
-		Weight::from_parts(17_464_075, 110487)
-			// Standard Error: 952
-			.saturating_add(Weight::from_parts(495_806, 0).saturating_mul(s.into()))
+		// Minimum execution time: 14_048_000 picoseconds.
+		Weight::from_parts(15_141_696, 110487)
+			// Standard Error: 1_082
+			.saturating_add(Weight::from_parts(533_390, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
-			.saturating_add(T::DbWeight::get().writes(3_u64))
+			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Scheduler::Lookup` (r:1 w:1)
 	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
@@ -201,10 +197,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `596 + s * (178 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 13_091_000 picoseconds.
-		Weight::from_parts(19_101_313, 110487)
-			// Standard Error: 662
-			.saturating_add(Weight::from_parts(342_468, 0).saturating_mul(s.into()))
+		// Minimum execution time: 12_902_000 picoseconds.
+		Weight::from_parts(18_957_156, 110487)
+			// Standard Error: 792
+			.saturating_add(Weight::from_parts(361_909, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -212,35 +208,35 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[1, 512]`.
 	fn cancel_named(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `709 + s * (177 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 17_579_000 picoseconds.
-		Weight::from_parts(20_561_921, 110487)
-			// Standard Error: 792
-			.saturating_add(Weight::from_parts(500_463, 0).saturating_mul(s.into()))
+		// Minimum execution time: 15_933_000 picoseconds.
+		Weight::from_parts(18_091_415, 110487)
+			// Standard Error: 779
+			.saturating_add(Weight::from_parts(534_402, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
-			.saturating_add(T::DbWeight::get().writes(3_u64))
+			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
+	/// Storage: `Scheduler::Retries` (r:1 w:2)
+	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: `Scheduler::Lookup` (r:0 w:1)
+	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[1, 512]`.
 	fn schedule_retry(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `118`
+		//  Measured:  `159`
 		//  Estimated: `110487`
-		// Minimum execution time: 8_996_000 picoseconds.
-		Weight::from_parts(11_393_234, 110487)
-			// Standard Error: 190
-			.saturating_add(Weight::from_parts(6_714, 0).saturating_mul(s.into()))
-			.saturating_add(T::DbWeight::get().reads(1_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
+		// Minimum execution time: 14_155_000 picoseconds.
+		Weight::from_parts(16_447_031, 110487)
+			// Standard Error: 233
+			.saturating_add(Weight::from_parts(8_424, 0).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(2_u64))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
 	/// Storage: `Scheduler::Agenda` (r:1 w:0)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
@@ -248,10 +244,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn set_retry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `90705`
+		//  Measured:  `81 + s * (177 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 121_505_000 picoseconds.
-		Weight::from_parts(124_306_000, 110487)
+		// Minimum execution time: 8_130_000 picoseconds.
+		Weight::from_parts(9_047_554, 110487)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -263,10 +259,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn set_retry_named() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `91747`
+		//  Measured:  `647 + s * (178 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 128_070_000 picoseconds.
-		Weight::from_parts(132_683_000, 110487)
+		// Minimum execution time: 10_838_000 picoseconds.
+		Weight::from_parts(12_804_076, 110487)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -276,10 +272,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn cancel_retry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `90717`
+		//  Measured:  `81 + s * (177 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 118_260_000 picoseconds.
-		Weight::from_parts(119_722_000, 110487)
+		// Minimum execution time: 8_130_000 picoseconds.
+		Weight::from_parts(9_047_554, 110487)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -291,10 +287,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn cancel_retry_named() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `91759`
+		//  Measured:  `647 + s * (178 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 129_036_000 picoseconds.
-		Weight::from_parts(133_975_000, 110487)
+		// Minimum execution time: 10_838_000 picoseconds.
+		Weight::from_parts(12_804_076, 110487)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -308,8 +304,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `31`
 		//  Estimated: `1489`
-		// Minimum execution time: 3_128_000 picoseconds.
-		Weight::from_parts(3_372_000, 1489)
+		// Minimum execution time: 3_040_000 picoseconds.
+		Weight::from_parts(3_202_000, 1489)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -320,10 +316,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `81 + s * (177 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 3_560_000 picoseconds.
-		Weight::from_parts(6_356_795, 110487)
-			// Standard Error: 493
-			.saturating_add(Weight::from_parts(315_098, 0).saturating_mul(s.into()))
+		// Minimum execution time: 3_462_000 picoseconds.
+		Weight::from_parts(6_262_125, 110487)
+			// Standard Error: 536
+			.saturating_add(Weight::from_parts(332_570, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -331,8 +327,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_501_000 picoseconds.
-		Weight::from_parts(3_722_000, 0)
+		// Minimum execution time: 3_425_000 picoseconds.
+		Weight::from_parts(3_680_000, 0)
 	}
 	/// Storage: `Preimage::PreimageFor` (r:1 w:1)
 	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `Measured`)
@@ -345,10 +341,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `246 + s * (1 ±0)`
 		//  Estimated: `3711 + s * (1 ±0)`
-		// Minimum execution time: 17_976_000 picoseconds.
-		Weight::from_parts(18_137_000, 3711)
-			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_173, 0).saturating_mul(s.into()))
+		// Minimum execution time: 17_564_000 picoseconds.
+		Weight::from_parts(17_887_000, 3711)
+			// Standard Error: 1
+			.saturating_add(Weight::from_parts(1_253, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(s.into()))
@@ -359,16 +355,16 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 4_935_000 picoseconds.
-		Weight::from_parts(5_133_000, 0)
+		// Minimum execution time: 4_934_000 picoseconds.
+		Weight::from_parts(5_275_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	fn service_task_periodic() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_467_000 picoseconds.
-		Weight::from_parts(3_654_000, 0)
+		// Minimum execution time: 3_348_000 picoseconds.
+		Weight::from_parts(3_561_000, 0)
 	}
 	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
 	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
@@ -378,16 +374,16 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `145`
 		//  Estimated: `3997`
-		// Minimum execution time: 6_528_000 picoseconds.
-		Weight::from_parts(6_820_000, 3997)
+		// Minimum execution time: 6_395_000 picoseconds.
+		Weight::from_parts(6_642_000, 3997)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 	}
 	fn execute_dispatch_unsigned() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_202_000 picoseconds.
-		Weight::from_parts(2_360_000, 0)
+		// Minimum execution time: 2_167_000 picoseconds.
+		Weight::from_parts(2_266_000, 0)
 	}
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
@@ -396,17 +392,15 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `81 + s * (177 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 10_222_000 picoseconds.
-		Weight::from_parts(13_654_958, 110487)
-			// Standard Error: 676
-			.saturating_add(Weight::from_parts(338_633, 0).saturating_mul(s.into()))
+		// Minimum execution time: 10_009_000 picoseconds.
+		Weight::from_parts(13_565_985, 110487)
+			// Standard Error: 575
+			.saturating_add(Weight::from_parts(354_760, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Lookup` (r:0 w:1)
 	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[1, 512]`.
@@ -414,12 +408,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `81 + s * (177 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 15_517_000 picoseconds.
-		Weight::from_parts(17_464_075, 110487)
-			// Standard Error: 952
-			.saturating_add(Weight::from_parts(495_806, 0).saturating_mul(s.into()))
+		// Minimum execution time: 14_048_000 picoseconds.
+		Weight::from_parts(15_141_696, 110487)
+			// Standard Error: 1_082
+			.saturating_add(Weight::from_parts(533_390, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
-			.saturating_add(RocksDbWeight::get().writes(3_u64))
+			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Scheduler::Lookup` (r:1 w:1)
 	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
@@ -430,10 +424,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `596 + s * (178 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 13_091_000 picoseconds.
-		Weight::from_parts(19_101_313, 110487)
-			// Standard Error: 662
-			.saturating_add(Weight::from_parts(342_468, 0).saturating_mul(s.into()))
+		// Minimum execution time: 12_902_000 picoseconds.
+		Weight::from_parts(18_957_156, 110487)
+			// Standard Error: 792
+			.saturating_add(Weight::from_parts(361_909, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
@@ -441,35 +435,35 @@ impl WeightInfo for () {
 	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[1, 512]`.
 	fn cancel_named(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `709 + s * (177 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 17_579_000 picoseconds.
-		Weight::from_parts(20_561_921, 110487)
-			// Standard Error: 792
-			.saturating_add(Weight::from_parts(500_463, 0).saturating_mul(s.into()))
+		// Minimum execution time: 15_933_000 picoseconds.
+		Weight::from_parts(18_091_415, 110487)
+			// Standard Error: 779
+			.saturating_add(Weight::from_parts(534_402, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
-			.saturating_add(RocksDbWeight::get().writes(3_u64))
+			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
+	/// Storage: `Scheduler::Retries` (r:1 w:2)
+	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	/// Storage: `Scheduler::Agenda` (r:1 w:1)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
-	/// Storage: `Scheduler::Retries` (r:0 w:1)
-	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
+	/// Storage: `Scheduler::Lookup` (r:0 w:1)
+	/// Proof: `Scheduler::Lookup` (`max_values`: None, `max_size`: Some(48), added: 2523, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[1, 512]`.
 	fn schedule_retry(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `118`
+		//  Measured:  `159`
 		//  Estimated: `110487`
-		// Minimum execution time: 8_996_000 picoseconds.
-		Weight::from_parts(11_393_234, 110487)
-			// Standard Error: 190
-			.saturating_add(Weight::from_parts(6_714, 0).saturating_mul(s.into()))
-			.saturating_add(RocksDbWeight::get().reads(1_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
+		// Minimum execution time: 14_155_000 picoseconds.
+		Weight::from_parts(16_447_031, 110487)
+			// Standard Error: 233
+			.saturating_add(Weight::from_parts(8_424, 0).saturating_mul(s.into()))
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
 	/// Storage: `Scheduler::Agenda` (r:1 w:0)
 	/// Proof: `Scheduler::Agenda` (`max_values`: None, `max_size`: Some(107022), added: 109497, mode: `MaxEncodedLen`)
@@ -477,10 +471,10 @@ impl WeightInfo for () {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn set_retry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `90705`
+		//  Measured:  `81 + s * (177 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 121_505_000 picoseconds.
-		Weight::from_parts(124_306_000, 110487)
+		// Minimum execution time: 8_130_000 picoseconds.
+		Weight::from_parts(9_047_554, 110487)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -492,10 +486,10 @@ impl WeightInfo for () {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn set_retry_named() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `91747`
+		//  Measured:  `647 + s * (178 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 128_070_000 picoseconds.
-		Weight::from_parts(132_683_000, 110487)
+		// Minimum execution time: 10_838_000 picoseconds.
+		Weight::from_parts(12_804_076, 110487)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -505,10 +499,10 @@ impl WeightInfo for () {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn cancel_retry() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `90717`
+		//  Measured:  `81 + s * (177 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 118_260_000 picoseconds.
-		Weight::from_parts(119_722_000, 110487)
+		// Minimum execution time: 8_130_000 picoseconds.
+		Weight::from_parts(9_047_554, 110487)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -520,10 +514,10 @@ impl WeightInfo for () {
 	/// Proof: `Scheduler::Retries` (`max_values`: None, `max_size`: Some(30), added: 2505, mode: `MaxEncodedLen`)
 	fn cancel_retry_named() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `91759`
+		//  Measured:  `647 + s * (178 ±0)`
 		//  Estimated: `110487`
-		// Minimum execution time: 129_036_000 picoseconds.
-		Weight::from_parts(133_975_000, 110487)
+		// Minimum execution time: 10_838_000 picoseconds.
+		Weight::from_parts(12_804_076, 110487)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
diff --git a/substrate/frame/session/src/weights.rs b/substrate/frame/session/src/weights.rs
index 09eb665ff3d..dd9848fd2c1 100644
--- a/substrate/frame/session/src/weights.rs
+++ b/substrate/frame/session/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_session`
+//! Autogenerated weights for pallet_session
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/session/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/session/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,77 +50,77 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_session`.
+/// Weight functions needed for pallet_session.
 pub trait WeightInfo {
 	fn set_keys() -> Weight;
 	fn purge_keys() -> Weight;
 }
 
-/// Weights for `pallet_session` using the Substrate node and recommended hardware.
+/// Weights for pallet_session using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Staking::Ledger` (r:1 w:0)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `Session::NextKeys` (r:1 w:1)
-	/// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Session::KeyOwner` (r:6 w:6)
-	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Staking Ledger (r:1 w:0)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: Session NextKeys (r:1 w:1)
+	/// Proof Skipped: Session NextKeys (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Session KeyOwner (r:4 w:4)
+	/// Proof Skipped: Session KeyOwner (max_values: None, max_size: None, mode: Measured)
 	fn set_keys() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1919`
-		//  Estimated: `17759`
-		// Minimum execution time: 57_921_000 picoseconds.
-		Weight::from_parts(58_960_000, 17759)
-			.saturating_add(T::DbWeight::get().reads(8_u64))
-			.saturating_add(T::DbWeight::get().writes(7_u64))
+		//  Measured:  `1924`
+		//  Estimated: `12814`
+		// Minimum execution time: 55_459_000 picoseconds.
+		Weight::from_parts(56_180_000, 12814)
+			.saturating_add(T::DbWeight::get().reads(6_u64))
+			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Staking::Ledger` (r:1 w:0)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `Session::NextKeys` (r:1 w:1)
-	/// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Session::KeyOwner` (r:0 w:6)
-	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Staking Ledger (r:1 w:0)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: Session NextKeys (r:1 w:1)
+	/// Proof Skipped: Session NextKeys (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Session KeyOwner (r:0 w:4)
+	/// Proof Skipped: Session KeyOwner (max_values: None, max_size: None, mode: Measured)
 	fn purge_keys() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1817`
-		//  Estimated: `5282`
-		// Minimum execution time: 40_983_000 picoseconds.
-		Weight::from_parts(42_700_000, 5282)
+		//  Measured:  `1791`
+		//  Estimated: `5256`
+		// Minimum execution time: 40_194_000 picoseconds.
+		Weight::from_parts(41_313_000, 5256)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
-			.saturating_add(T::DbWeight::get().writes(7_u64))
+			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Staking::Ledger` (r:1 w:0)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `Session::NextKeys` (r:1 w:1)
-	/// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Session::KeyOwner` (r:6 w:6)
-	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Staking Ledger (r:1 w:0)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: Session NextKeys (r:1 w:1)
+	/// Proof Skipped: Session NextKeys (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Session KeyOwner (r:4 w:4)
+	/// Proof Skipped: Session KeyOwner (max_values: None, max_size: None, mode: Measured)
 	fn set_keys() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1919`
-		//  Estimated: `17759`
-		// Minimum execution time: 57_921_000 picoseconds.
-		Weight::from_parts(58_960_000, 17759)
-			.saturating_add(RocksDbWeight::get().reads(8_u64))
-			.saturating_add(RocksDbWeight::get().writes(7_u64))
+		//  Measured:  `1924`
+		//  Estimated: `12814`
+		// Minimum execution time: 55_459_000 picoseconds.
+		Weight::from_parts(56_180_000, 12814)
+			.saturating_add(RocksDbWeight::get().reads(6_u64))
+			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Staking::Ledger` (r:1 w:0)
-	/// Proof: `Staking::Ledger` (`max_values`: None, `max_size`: Some(1091), added: 3566, mode: `MaxEncodedLen`)
-	/// Storage: `Session::NextKeys` (r:1 w:1)
-	/// Proof: `Session::NextKeys` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Session::KeyOwner` (r:0 w:6)
-	/// Proof: `Session::KeyOwner` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Staking Ledger (r:1 w:0)
+	/// Proof: Staking Ledger (max_values: None, max_size: Some(1091), added: 3566, mode: MaxEncodedLen)
+	/// Storage: Session NextKeys (r:1 w:1)
+	/// Proof Skipped: Session NextKeys (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Session KeyOwner (r:0 w:4)
+	/// Proof Skipped: Session KeyOwner (max_values: None, max_size: None, mode: Measured)
 	fn purge_keys() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1817`
-		//  Estimated: `5282`
-		// Minimum execution time: 40_983_000 picoseconds.
-		Weight::from_parts(42_700_000, 5282)
+		//  Measured:  `1791`
+		//  Estimated: `5256`
+		// Minimum execution time: 40_194_000 picoseconds.
+		Weight::from_parts(41_313_000, 5256)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
-			.saturating_add(RocksDbWeight::get().writes(7_u64))
+			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
 }
diff --git a/substrate/frame/society/src/weights.rs b/substrate/frame/society/src/weights.rs
index 1245f762972..c32c2383ac9 100644
--- a/substrate/frame/society/src/weights.rs
+++ b/substrate/frame/society/src/weights.rs
@@ -7,7 +7,7 @@
 // you may not use this file except in compliance with the License.
 // You may obtain a copy of the License at
 //
-// 	http://www.apache.org/licenses/LICENSE-2.0
+// http://www.apache.org/licenses/LICENSE-2.0
 //
 // Unless required by applicable law or agreed to in writing, software
 // distributed under the License is distributed on an "AS IS" BASIS,
@@ -15,41 +15,35 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_society`
+//! Autogenerated weights for pallet_society
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2022-09-13, STEPS: `50`, REPEAT: 20, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
 // --steps=50
 // --repeat=20
 // --pallet=pallet_society
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
-// --heap-pages=4096
-// --output=./substrate/frame/society/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --template=./.maintain/frame-weight-template.hbs
+// --header=./HEADER-APACHE2
+// --output=./frame/society/src/weights.rs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
 #![allow(unused_imports)]
-#![allow(missing_docs)]
 
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_society`.
+/// Weight functions needed for pallet_society.
 pub trait WeightInfo {
 	fn bid() -> Weight;
 	fn unbid() -> Weight;
@@ -73,739 +67,309 @@ pub trait WeightInfo {
 	fn cleanup_challenge() -> Weight;
 }
 
-/// Weights for `pallet_society` using the Substrate node and recommended hardware.
+/// Weights for pallet_society using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Society::Bids` (r:1 w:1)
-	/// Proof: `Society::Bids` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Candidates` (r:1 w:0)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:1 w:0)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::SuspendedMembers` (r:1 w:0)
-	/// Proof: `Society::SuspendedMembers` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:1 w:0)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	// Storage: Society Bids (r:1 w:1)
+	// Storage: Society Candidates (r:1 w:0)
+	// Storage: Society Members (r:1 w:0)
+	// Storage: Society SuspendedMembers (r:1 w:0)
+	// Storage: Society Parameters (r:1 w:0)
 	fn bid() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `444`
-		//  Estimated: `3909`
-		// Minimum execution time: 29_905_000 picoseconds.
-		Weight::from_parts(31_031_000, 3909)
-			.saturating_add(T::DbWeight::get().reads(5_u64))
-			.saturating_add(T::DbWeight::get().writes(1_u64))
-	}
-	/// Storage: `Society::Bids` (r:1 w:1)
-	/// Proof: `Society::Bids` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Bids (r:1 w:1)
 	fn unbid() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `461`
-		//  Estimated: `1946`
-		// Minimum execution time: 23_038_000 picoseconds.
-		Weight::from_parts(23_904_000, 1946)
-			.saturating_add(T::DbWeight::get().reads(1_u64))
-			.saturating_add(T::DbWeight::get().writes(1_u64))
-	}
-	/// Storage: `Society::Bids` (r:1 w:1)
-	/// Proof: `Society::Bids` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Candidates` (r:1 w:0)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:2 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::SuspendedMembers` (r:1 w:0)
-	/// Proof: `Society::SuspendedMembers` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Bids (r:1 w:1)
+	// Storage: Society Candidates (r:1 w:0)
+	// Storage: Society Members (r:2 w:1)
+	// Storage: Society SuspendedMembers (r:1 w:0)
 	fn vouch() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `481`
-		//  Estimated: `6421`
-		// Minimum execution time: 21_197_000 picoseconds.
-		Weight::from_parts(22_043_000, 6421)
-			.saturating_add(T::DbWeight::get().reads(5_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Bids` (r:1 w:1)
-	/// Proof: `Society::Bids` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:1 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Bids (r:1 w:1)
+	// Storage: Society Members (r:1 w:1)
 	fn unvouch() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `535`
-		//  Estimated: `4000`
-		// Minimum execution time: 14_402_000 picoseconds.
-		Weight::from_parts(15_171_000, 4000)
-			.saturating_add(T::DbWeight::get().reads(2_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:1 w:0)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Votes` (r:1 w:1)
-	/// Proof: `Society::Votes` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society Members (r:1 w:0)
+	// Storage: Society Votes (r:1 w:1)
 	fn vote() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `569`
-		//  Estimated: `4034`
-		// Minimum execution time: 21_930_000 picoseconds.
-		Weight::from_parts(22_666_000, 4034)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Defending` (r:1 w:1)
-	/// Proof: `Society::Defending` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:1 w:0)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::ChallengeRoundCount` (r:1 w:0)
-	/// Proof: `Society::ChallengeRoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::DefenderVotes` (r:1 w:1)
-	/// Proof: `Society::DefenderVotes` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Defending (r:1 w:1)
+	// Storage: Society Members (r:1 w:0)
+	// Storage: Society ChallengeRoundCount (r:1 w:0)
+	// Storage: Society DefenderVotes (r:1 w:1)
 	fn defender_vote() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `561`
-		//  Estimated: `4026`
-		// Minimum execution time: 18_821_000 picoseconds.
-		Weight::from_parts(19_633_000, 4026)
-			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Members` (r:1 w:0)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Payouts` (r:1 w:1)
-	/// Proof: `Society::Payouts` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+		Weight::zero()
+	}
+	// Storage: Society Members (r:1 w:0)
+	// Storage: Society Payouts (r:1 w:1)
+	// Storage: System Account (r:1 w:1)
 	fn payout() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `650`
-		//  Estimated: `4115`
-		// Minimum execution time: 47_262_000 picoseconds.
-		Weight::from_parts(48_313_000, 4115)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Members` (r:1 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Payouts` (r:1 w:1)
-	/// Proof: `Society::Payouts` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Members (r:1 w:1)
+	// Storage: Society Payouts (r:1 w:1)
 	fn waive_repay() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `547`
-		//  Estimated: `4012`
-		// Minimum execution time: 18_189_000 picoseconds.
-		Weight::from_parts(19_038_000, 4012)
-			.saturating_add(T::DbWeight::get().reads(2_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Head` (r:1 w:1)
-	/// Proof: `Society::Head` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberCount` (r:1 w:1)
-	/// Proof: `Society::MemberCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberByIndex` (r:0 w:1)
-	/// Proof: `Society::MemberByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Founder` (r:0 w:1)
-	/// Proof: `Society::Founder` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Rules` (r:0 w:1)
-	/// Proof: `Society::Rules` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:0 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:0 w:1)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Head (r:1 w:1)
+	// Storage: Society MemberCount (r:1 w:1)
+	// Storage: Society MemberByIndex (r:0 w:1)
+	// Storage: Society Founder (r:0 w:1)
+	// Storage: Society Rules (r:0 w:1)
+	// Storage: Society Members (r:0 w:1)
+	// Storage: Society Parameters (r:0 w:1)
 	fn found_society() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `180`
-		//  Estimated: `1665`
-		// Minimum execution time: 14_815_000 picoseconds.
-		Weight::from_parts(15_426_000, 1665)
-			.saturating_add(T::DbWeight::get().reads(2_u64))
-			.saturating_add(T::DbWeight::get().writes(7_u64))
-	}
-	/// Storage: `Society::Founder` (r:1 w:1)
-	/// Proof: `Society::Founder` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberCount` (r:1 w:1)
-	/// Proof: `Society::MemberCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:5 w:5)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberByIndex` (r:5 w:5)
-	/// Proof: `Society::MemberByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Votes` (r:4 w:4)
-	/// Proof: `Society::Votes` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Candidates` (r:4 w:4)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Head` (r:0 w:1)
-	/// Proof: `Society::Head` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Defending` (r:0 w:1)
-	/// Proof: `Society::Defending` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::ChallengeRoundCount` (r:0 w:1)
-	/// Proof: `Society::ChallengeRoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Skeptic` (r:0 w:1)
-	/// Proof: `Society::Skeptic` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Pot` (r:0 w:1)
-	/// Proof: `Society::Pot` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Rules` (r:0 w:1)
-	/// Proof: `Society::Rules` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:0 w:1)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Bids` (r:0 w:1)
-	/// Proof: `Society::Bids` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:0 w:1)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::NextHead` (r:0 w:1)
-	/// Proof: `Society::NextHead` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Founder (r:1 w:1)
+	// Storage: Society MemberCount (r:1 w:1)
+	// Storage: Society Head (r:0 w:1)
+	// Storage: Society Defending (r:0 w:1)
+	// Storage: Society ChallengeRoundCount (r:0 w:1)
+	// Storage: Society MemberByIndex (r:0 w:5)
+	// Storage: Society Skeptic (r:0 w:1)
+	// Storage: Society Candidates (r:0 w:4)
+	// Storage: Society Pot (r:0 w:1)
+	// Storage: Society Rules (r:0 w:1)
+	// Storage: Society Votes (r:0 w:4)
+	// Storage: Society Members (r:0 w:5)
+	// Storage: Society RoundCount (r:0 w:1)
+	// Storage: Society Bids (r:0 w:1)
+	// Storage: Society Parameters (r:0 w:1)
+	// Storage: Society NextHead (r:0 w:1)
 	fn dissolve() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `1654`
-		//  Estimated: `15019`
-		// Minimum execution time: 57_787_000 picoseconds.
-		Weight::from_parts(59_489_000, 15019)
-			.saturating_add(T::DbWeight::get().reads(20_u64))
-			.saturating_add(T::DbWeight::get().writes(30_u64))
-	}
-	/// Storage: `Society::Founder` (r:1 w:0)
-	/// Proof: `Society::Founder` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::SuspendedMembers` (r:1 w:1)
-	/// Proof: `Society::SuspendedMembers` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Payouts` (r:1 w:0)
-	/// Proof: `Society::Payouts` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Pot` (r:1 w:1)
-	/// Proof: `Society::Pot` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Founder (r:1 w:0)
+	// Storage: Society SuspendedMembers (r:1 w:1)
+	// Storage: Society Payouts (r:1 w:0)
+	// Storage: Society Pot (r:1 w:1)
 	fn judge_suspended_member() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `505`
-		//  Estimated: `3970`
-		// Minimum execution time: 19_262_000 picoseconds.
-		Weight::from_parts(19_752_000, 3970)
-			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Founder` (r:1 w:0)
-	/// Proof: `Society::Founder` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberCount` (r:1 w:0)
-	/// Proof: `Society::MemberCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:0 w:1)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Founder (r:1 w:0)
+	// Storage: Society MemberCount (r:1 w:0)
+	// Storage: Society Parameters (r:0 w:1)
 	fn set_parameters() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `387`
-		//  Estimated: `1872`
-		// Minimum execution time: 10_656_000 picoseconds.
-		Weight::from_parts(11_063_000, 1872)
-			.saturating_add(T::DbWeight::get().reads(2_u64))
-			.saturating_add(T::DbWeight::get().writes(1_u64))
-	}
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:1 w:0)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Skeptic` (r:1 w:0)
-	/// Proof: `Society::Skeptic` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Votes` (r:1 w:0)
-	/// Proof: `Society::Votes` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:1 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:1 w:0)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society RoundCount (r:1 w:0)
+	// Storage: Society Skeptic (r:1 w:0)
+	// Storage: Society Votes (r:1 w:0)
+	// Storage: Society Members (r:1 w:1)
+	// Storage: Society Parameters (r:1 w:0)
 	fn punish_skeptic() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `636`
-		//  Estimated: `4101`
-		// Minimum execution time: 22_837_000 picoseconds.
-		Weight::from_parts(23_738_000, 4101)
-			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:1 w:0)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:1 w:0)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberCount` (r:1 w:1)
-	/// Proof: `Society::MemberCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::NextHead` (r:1 w:1)
-	/// Proof: `Society::NextHead` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Society::MemberByIndex` (r:0 w:1)
-	/// Proof: `Society::MemberByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:0 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society RoundCount (r:1 w:0)
+	// Storage: Society Parameters (r:1 w:0)
+	// Storage: Society MemberCount (r:1 w:1)
+	// Storage: Society NextHead (r:1 w:1)
+	// Storage: System Account (r:1 w:1)
+	// Storage: Society MemberByIndex (r:0 w:1)
+	// Storage: Society Members (r:0 w:1)
 	fn claim_membership() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `632`
-		//  Estimated: `4097`
-		// Minimum execution time: 35_142_000 picoseconds.
-		Weight::from_parts(36_811_000, 4097)
-			.saturating_add(T::DbWeight::get().reads(6_u64))
-			.saturating_add(T::DbWeight::get().writes(6_u64))
-	}
-	/// Storage: `Society::Founder` (r:1 w:0)
-	/// Proof: `Society::Founder` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:1 w:0)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:1 w:0)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberCount` (r:1 w:1)
-	/// Proof: `Society::MemberCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::NextHead` (r:1 w:1)
-	/// Proof: `Society::NextHead` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Society::MemberByIndex` (r:0 w:1)
-	/// Proof: `Society::MemberByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:0 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Founder (r:1 w:0)
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society RoundCount (r:1 w:0)
+	// Storage: Society Parameters (r:1 w:0)
+	// Storage: Society MemberCount (r:1 w:1)
+	// Storage: Society NextHead (r:1 w:1)
+	// Storage: System Account (r:1 w:1)
+	// Storage: Society MemberByIndex (r:0 w:1)
+	// Storage: Society Members (r:0 w:1)
 	fn bestow_membership() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `650`
-		//  Estimated: `4115`
-		// Minimum execution time: 37_133_000 picoseconds.
-		Weight::from_parts(38_366_000, 4115)
-			.saturating_add(T::DbWeight::get().reads(7_u64))
-			.saturating_add(T::DbWeight::get().writes(6_u64))
-	}
-	/// Storage: `Society::Founder` (r:1 w:0)
-	/// Proof: `Society::Founder` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:1 w:0)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+		Weight::zero()
+	}
+	// Storage: Society Founder (r:1 w:0)
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society RoundCount (r:1 w:0)
 	fn kick_candidate() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `776`
-		//  Estimated: `6196`
-		// Minimum execution time: 37_033_000 picoseconds.
-		Weight::from_parts(38_293_000, 6196)
-			.saturating_add(T::DbWeight::get().reads(5_u64))
-			.saturating_add(T::DbWeight::get().writes(3_u64))
-	}
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:1 w:0)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+		Weight::zero()
+	}
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society RoundCount (r:1 w:0)
 	fn resign_candidacy() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `746`
-		//  Estimated: `6196`
-		// Minimum execution time: 35_203_000 picoseconds.
-		Weight::from_parts(36_252_000, 6196)
-			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(3_u64))
-	}
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:1 w:0)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+		Weight::zero()
+	}
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society RoundCount (r:1 w:0)
 	fn drop_candidate() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `758`
-		//  Estimated: `6196`
-		// Minimum execution time: 35_518_000 picoseconds.
-		Weight::from_parts(36_508_000, 6196)
-			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(3_u64))
-	}
-	/// Storage: `Society::Candidates` (r:1 w:0)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::VoteClearCursor` (r:1 w:0)
-	/// Proof: `Society::VoteClearCursor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Votes` (r:2 w:2)
-	/// Proof: `Society::Votes` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Candidates (r:1 w:0)
+	// Storage: Society VoteClearCursor (r:1 w:0)
+	// Storage: Society Votes (r:0 w:2)
 	fn cleanup_candidacy() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `552`
-		//  Estimated: `6492`
-		// Minimum execution time: 17_001_000 picoseconds.
-		Weight::from_parts(17_845_000, 6492)
-			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::ChallengeRoundCount` (r:1 w:0)
-	/// Proof: `Society::ChallengeRoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::DefenderVotes` (r:1 w:1)
-	/// Proof: `Society::DefenderVotes` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society ChallengeRoundCount (r:1 w:0)
+	// Storage: Society DefenderVotes (r:0 w:1)
 	fn cleanup_challenge() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `510`
-		//  Estimated: `3975`
-		// Minimum execution time: 11_583_000 picoseconds.
-		Weight::from_parts(12_134_000, 3975)
-			.saturating_add(T::DbWeight::get().reads(2_u64))
-			.saturating_add(T::DbWeight::get().writes(1_u64))
+		Weight::zero()
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Society::Bids` (r:1 w:1)
-	/// Proof: `Society::Bids` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Candidates` (r:1 w:0)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:1 w:0)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::SuspendedMembers` (r:1 w:0)
-	/// Proof: `Society::SuspendedMembers` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:1 w:0)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+	// Storage: Society Bids (r:1 w:1)
+	// Storage: Society Candidates (r:1 w:0)
+	// Storage: Society Members (r:1 w:0)
+	// Storage: Society SuspendedMembers (r:1 w:0)
+	// Storage: Society Parameters (r:1 w:0)
 	fn bid() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `444`
-		//  Estimated: `3909`
-		// Minimum execution time: 29_905_000 picoseconds.
-		Weight::from_parts(31_031_000, 3909)
-			.saturating_add(RocksDbWeight::get().reads(5_u64))
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
-	}
-	/// Storage: `Society::Bids` (r:1 w:1)
-	/// Proof: `Society::Bids` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Bids (r:1 w:1)
 	fn unbid() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `461`
-		//  Estimated: `1946`
-		// Minimum execution time: 23_038_000 picoseconds.
-		Weight::from_parts(23_904_000, 1946)
-			.saturating_add(RocksDbWeight::get().reads(1_u64))
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
-	}
-	/// Storage: `Society::Bids` (r:1 w:1)
-	/// Proof: `Society::Bids` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Candidates` (r:1 w:0)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:2 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::SuspendedMembers` (r:1 w:0)
-	/// Proof: `Society::SuspendedMembers` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Bids (r:1 w:1)
+	// Storage: Society Candidates (r:1 w:0)
+	// Storage: Society Members (r:2 w:1)
+	// Storage: Society SuspendedMembers (r:1 w:0)
 	fn vouch() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `481`
-		//  Estimated: `6421`
-		// Minimum execution time: 21_197_000 picoseconds.
-		Weight::from_parts(22_043_000, 6421)
-			.saturating_add(RocksDbWeight::get().reads(5_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Bids` (r:1 w:1)
-	/// Proof: `Society::Bids` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:1 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Bids (r:1 w:1)
+	// Storage: Society Members (r:1 w:1)
 	fn unvouch() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `535`
-		//  Estimated: `4000`
-		// Minimum execution time: 14_402_000 picoseconds.
-		Weight::from_parts(15_171_000, 4000)
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:1 w:0)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Votes` (r:1 w:1)
-	/// Proof: `Society::Votes` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society Members (r:1 w:0)
+	// Storage: Society Votes (r:1 w:1)
 	fn vote() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `569`
-		//  Estimated: `4034`
-		// Minimum execution time: 21_930_000 picoseconds.
-		Weight::from_parts(22_666_000, 4034)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Defending` (r:1 w:1)
-	/// Proof: `Society::Defending` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:1 w:0)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::ChallengeRoundCount` (r:1 w:0)
-	/// Proof: `Society::ChallengeRoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::DefenderVotes` (r:1 w:1)
-	/// Proof: `Society::DefenderVotes` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Defending (r:1 w:1)
+	// Storage: Society Members (r:1 w:0)
+	// Storage: Society ChallengeRoundCount (r:1 w:0)
+	// Storage: Society DefenderVotes (r:1 w:1)
 	fn defender_vote() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `561`
-		//  Estimated: `4026`
-		// Minimum execution time: 18_821_000 picoseconds.
-		Weight::from_parts(19_633_000, 4026)
-			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Members` (r:1 w:0)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Payouts` (r:1 w:1)
-	/// Proof: `Society::Payouts` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+		Weight::zero()
+	}
+	// Storage: Society Members (r:1 w:0)
+	// Storage: Society Payouts (r:1 w:1)
+	// Storage: System Account (r:1 w:1)
 	fn payout() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `650`
-		//  Estimated: `4115`
-		// Minimum execution time: 47_262_000 picoseconds.
-		Weight::from_parts(48_313_000, 4115)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Members` (r:1 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Payouts` (r:1 w:1)
-	/// Proof: `Society::Payouts` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Members (r:1 w:1)
+	// Storage: Society Payouts (r:1 w:1)
 	fn waive_repay() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `547`
-		//  Estimated: `4012`
-		// Minimum execution time: 18_189_000 picoseconds.
-		Weight::from_parts(19_038_000, 4012)
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Head` (r:1 w:1)
-	/// Proof: `Society::Head` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberCount` (r:1 w:1)
-	/// Proof: `Society::MemberCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberByIndex` (r:0 w:1)
-	/// Proof: `Society::MemberByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Founder` (r:0 w:1)
-	/// Proof: `Society::Founder` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Rules` (r:0 w:1)
-	/// Proof: `Society::Rules` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:0 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:0 w:1)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Head (r:1 w:1)
+	// Storage: Society MemberCount (r:1 w:1)
+	// Storage: Society MemberByIndex (r:0 w:1)
+	// Storage: Society Founder (r:0 w:1)
+	// Storage: Society Rules (r:0 w:1)
+	// Storage: Society Members (r:0 w:1)
+	// Storage: Society Parameters (r:0 w:1)
 	fn found_society() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `180`
-		//  Estimated: `1665`
-		// Minimum execution time: 14_815_000 picoseconds.
-		Weight::from_parts(15_426_000, 1665)
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
-			.saturating_add(RocksDbWeight::get().writes(7_u64))
-	}
-	/// Storage: `Society::Founder` (r:1 w:1)
-	/// Proof: `Society::Founder` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberCount` (r:1 w:1)
-	/// Proof: `Society::MemberCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:5 w:5)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberByIndex` (r:5 w:5)
-	/// Proof: `Society::MemberByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Votes` (r:4 w:4)
-	/// Proof: `Society::Votes` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Candidates` (r:4 w:4)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Head` (r:0 w:1)
-	/// Proof: `Society::Head` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Defending` (r:0 w:1)
-	/// Proof: `Society::Defending` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::ChallengeRoundCount` (r:0 w:1)
-	/// Proof: `Society::ChallengeRoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Skeptic` (r:0 w:1)
-	/// Proof: `Society::Skeptic` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Pot` (r:0 w:1)
-	/// Proof: `Society::Pot` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Rules` (r:0 w:1)
-	/// Proof: `Society::Rules` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:0 w:1)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Bids` (r:0 w:1)
-	/// Proof: `Society::Bids` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:0 w:1)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::NextHead` (r:0 w:1)
-	/// Proof: `Society::NextHead` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Founder (r:1 w:1)
+	// Storage: Society MemberCount (r:1 w:1)
+	// Storage: Society Head (r:0 w:1)
+	// Storage: Society Defending (r:0 w:1)
+	// Storage: Society ChallengeRoundCount (r:0 w:1)
+	// Storage: Society MemberByIndex (r:0 w:5)
+	// Storage: Society Skeptic (r:0 w:1)
+	// Storage: Society Candidates (r:0 w:4)
+	// Storage: Society Pot (r:0 w:1)
+	// Storage: Society Rules (r:0 w:1)
+	// Storage: Society Votes (r:0 w:4)
+	// Storage: Society Members (r:0 w:5)
+	// Storage: Society RoundCount (r:0 w:1)
+	// Storage: Society Bids (r:0 w:1)
+	// Storage: Society Parameters (r:0 w:1)
+	// Storage: Society NextHead (r:0 w:1)
 	fn dissolve() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `1654`
-		//  Estimated: `15019`
-		// Minimum execution time: 57_787_000 picoseconds.
-		Weight::from_parts(59_489_000, 15019)
-			.saturating_add(RocksDbWeight::get().reads(20_u64))
-			.saturating_add(RocksDbWeight::get().writes(30_u64))
-	}
-	/// Storage: `Society::Founder` (r:1 w:0)
-	/// Proof: `Society::Founder` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::SuspendedMembers` (r:1 w:1)
-	/// Proof: `Society::SuspendedMembers` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Payouts` (r:1 w:0)
-	/// Proof: `Society::Payouts` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Pot` (r:1 w:1)
-	/// Proof: `Society::Pot` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Founder (r:1 w:0)
+	// Storage: Society SuspendedMembers (r:1 w:1)
+	// Storage: Society Payouts (r:1 w:0)
+	// Storage: Society Pot (r:1 w:1)
 	fn judge_suspended_member() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `505`
-		//  Estimated: `3970`
-		// Minimum execution time: 19_262_000 picoseconds.
-		Weight::from_parts(19_752_000, 3970)
-			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Founder` (r:1 w:0)
-	/// Proof: `Society::Founder` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberCount` (r:1 w:0)
-	/// Proof: `Society::MemberCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:0 w:1)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Founder (r:1 w:0)
+	// Storage: Society MemberCount (r:1 w:0)
+	// Storage: Society Parameters (r:0 w:1)
 	fn set_parameters() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `387`
-		//  Estimated: `1872`
-		// Minimum execution time: 10_656_000 picoseconds.
-		Weight::from_parts(11_063_000, 1872)
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
-	}
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:1 w:0)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Skeptic` (r:1 w:0)
-	/// Proof: `Society::Skeptic` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Votes` (r:1 w:0)
-	/// Proof: `Society::Votes` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:1 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:1 w:0)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society RoundCount (r:1 w:0)
+	// Storage: Society Skeptic (r:1 w:0)
+	// Storage: Society Votes (r:1 w:0)
+	// Storage: Society Members (r:1 w:1)
+	// Storage: Society Parameters (r:1 w:0)
 	fn punish_skeptic() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `636`
-		//  Estimated: `4101`
-		// Minimum execution time: 22_837_000 picoseconds.
-		Weight::from_parts(23_738_000, 4101)
-			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:1 w:0)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:1 w:0)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberCount` (r:1 w:1)
-	/// Proof: `Society::MemberCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::NextHead` (r:1 w:1)
-	/// Proof: `Society::NextHead` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Society::MemberByIndex` (r:0 w:1)
-	/// Proof: `Society::MemberByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:0 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society RoundCount (r:1 w:0)
+	// Storage: Society Parameters (r:1 w:0)
+	// Storage: Society MemberCount (r:1 w:1)
+	// Storage: Society NextHead (r:1 w:1)
+	// Storage: System Account (r:1 w:1)
+	// Storage: Society MemberByIndex (r:0 w:1)
+	// Storage: Society Members (r:0 w:1)
 	fn claim_membership() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `632`
-		//  Estimated: `4097`
-		// Minimum execution time: 35_142_000 picoseconds.
-		Weight::from_parts(36_811_000, 4097)
-			.saturating_add(RocksDbWeight::get().reads(6_u64))
-			.saturating_add(RocksDbWeight::get().writes(6_u64))
-	}
-	/// Storage: `Society::Founder` (r:1 w:0)
-	/// Proof: `Society::Founder` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:1 w:0)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Parameters` (r:1 w:0)
-	/// Proof: `Society::Parameters` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::MemberCount` (r:1 w:1)
-	/// Proof: `Society::MemberCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::NextHead` (r:1 w:1)
-	/// Proof: `Society::NextHead` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Society::MemberByIndex` (r:0 w:1)
-	/// Proof: `Society::MemberByIndex` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Members` (r:0 w:1)
-	/// Proof: `Society::Members` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Founder (r:1 w:0)
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society RoundCount (r:1 w:0)
+	// Storage: Society Parameters (r:1 w:0)
+	// Storage: Society MemberCount (r:1 w:1)
+	// Storage: Society NextHead (r:1 w:1)
+	// Storage: System Account (r:1 w:1)
+	// Storage: Society MemberByIndex (r:0 w:1)
+	// Storage: Society Members (r:0 w:1)
 	fn bestow_membership() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `650`
-		//  Estimated: `4115`
-		// Minimum execution time: 37_133_000 picoseconds.
-		Weight::from_parts(38_366_000, 4115)
-			.saturating_add(RocksDbWeight::get().reads(7_u64))
-			.saturating_add(RocksDbWeight::get().writes(6_u64))
-	}
-	/// Storage: `Society::Founder` (r:1 w:0)
-	/// Proof: `Society::Founder` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:1 w:0)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+		Weight::zero()
+	}
+	// Storage: Society Founder (r:1 w:0)
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society RoundCount (r:1 w:0)
 	fn kick_candidate() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `776`
-		//  Estimated: `6196`
-		// Minimum execution time: 37_033_000 picoseconds.
-		Weight::from_parts(38_293_000, 6196)
-			.saturating_add(RocksDbWeight::get().reads(5_u64))
-			.saturating_add(RocksDbWeight::get().writes(3_u64))
-	}
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:1 w:0)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+		Weight::zero()
+	}
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society RoundCount (r:1 w:0)
 	fn resign_candidacy() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `746`
-		//  Estimated: `6196`
-		// Minimum execution time: 35_203_000 picoseconds.
-		Weight::from_parts(36_252_000, 6196)
-			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(3_u64))
-	}
-	/// Storage: `Society::Candidates` (r:1 w:1)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::RoundCount` (r:1 w:0)
-	/// Proof: `Society::RoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:2 w:2)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+		Weight::zero()
+	}
+	// Storage: Society Candidates (r:1 w:1)
+	// Storage: Society RoundCount (r:1 w:0)
 	fn drop_candidate() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `758`
-		//  Estimated: `6196`
-		// Minimum execution time: 35_518_000 picoseconds.
-		Weight::from_parts(36_508_000, 6196)
-			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(3_u64))
-	}
-	/// Storage: `Society::Candidates` (r:1 w:0)
-	/// Proof: `Society::Candidates` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::VoteClearCursor` (r:1 w:0)
-	/// Proof: `Society::VoteClearCursor` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::Votes` (r:2 w:2)
-	/// Proof: `Society::Votes` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society Candidates (r:1 w:0)
+	// Storage: Society VoteClearCursor (r:1 w:0)
+	// Storage: Society Votes (r:0 w:2)
 	fn cleanup_candidacy() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `552`
-		//  Estimated: `6492`
-		// Minimum execution time: 17_001_000 picoseconds.
-		Weight::from_parts(17_845_000, 6492)
-			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
-	}
-	/// Storage: `Society::ChallengeRoundCount` (r:1 w:0)
-	/// Proof: `Society::ChallengeRoundCount` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Society::DefenderVotes` (r:1 w:1)
-	/// Proof: `Society::DefenderVotes` (`max_values`: None, `max_size`: None, mode: `Measured`)
+		Weight::zero()
+	}
+	// Storage: Society ChallengeRoundCount (r:1 w:0)
+	// Storage: Society DefenderVotes (r:0 w:1)
 	fn cleanup_challenge() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `510`
-		//  Estimated: `3975`
-		// Minimum execution time: 11_583_000 picoseconds.
-		Weight::from_parts(12_134_000, 3975)
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
+		Weight::zero()
 	}
 }
diff --git a/substrate/frame/src/lib.rs b/substrate/frame/src/lib.rs
index 549e177491d..52db7c34bfd 100644
--- a/substrate/frame/src/lib.rs
+++ b/substrate/frame/src/lib.rs
@@ -249,8 +249,8 @@ pub mod runtime {
 
 		/// The block type, which should be fed into [`frame_system::Config`].
 		///
-		/// Should be parameterized with `T: frame_system::Config` and a tuple of
-		/// `TransactionExtension`. When in doubt, use [`SystemTransactionExtensionsOf`].
+		/// Should be parameterized with `T: frame_system::Config` and a tuple of `SignedExtension`.
+		/// When in doubt, use [`SystemSignedExtensionsOf`].
 		// Note that this cannot be dependent on `T` for block-number because it would lead to a
 		// circular dependency (self-referential generics).
 		pub type BlockOf<T, Extra = ()> = generic::Block<HeaderInner, ExtrinsicInner<T, Extra>>;
@@ -264,7 +264,7 @@ pub mod runtime {
 		/// Default set of signed extensions exposed from the `frame_system`.
 		///
 		/// crucially, this does NOT contain any tx-payment extension.
-		pub type SystemTransactionExtensionsOf<T> = (
+		pub type SystemSignedExtensionsOf<T> = (
 			frame_system::CheckNonZeroSender<T>,
 			frame_system::CheckSpecVersion<T>,
 			frame_system::CheckTxVersion<T>,
diff --git a/substrate/frame/staking/src/weights.rs b/substrate/frame/staking/src/weights.rs
index 8288591a787..6f729e08ba5 100644
--- a/substrate/frame/staking/src/weights.rs
+++ b/substrate/frame/staking/src/weights.rs
@@ -17,28 +17,26 @@
 
 //! Autogenerated weights for `pallet_staking`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2024-01-08, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-q7z7ruxr-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/production/substrate-node
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_staking
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/staking/src/weights.rs
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_staking
+// --chain=dev
 // --header=./substrate/HEADER-APACHE2
+// --output=./substrate/frame/staking/src/weights.rs
 // --template=./substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -101,8 +99,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `927`
 		//  Estimated: `4764`
-		// Minimum execution time: 41_318_000 picoseconds.
-		Weight::from_parts(43_268_000, 4764)
+		// Minimum execution time: 42_042_000 picoseconds.
+		Weight::from_parts(43_292_000, 4764)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
@@ -122,8 +120,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1990`
 		//  Estimated: `8877`
-		// Minimum execution time: 85_666_000 picoseconds.
-		Weight::from_parts(88_749_000, 8877)
+		// Minimum execution time: 85_050_000 picoseconds.
+		Weight::from_parts(87_567_000, 8877)
 			.saturating_add(T::DbWeight::get().reads(9_u64))
 			.saturating_add(T::DbWeight::get().writes(7_u64))
 	}
@@ -149,8 +147,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `2195`
 		//  Estimated: `8877`
-		// Minimum execution time: 90_282_000 picoseconds.
-		Weight::from_parts(92_332_000, 8877)
+		// Minimum execution time: 89_076_000 picoseconds.
+		Weight::from_parts(92_715_000, 8877)
 			.saturating_add(T::DbWeight::get().reads(12_u64))
 			.saturating_add(T::DbWeight::get().writes(7_u64))
 	}
@@ -164,18 +162,16 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Freezes` (r:1 w:0)
 	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `NominationPools::ReversePoolIdLookup` (r:1 w:0)
-	/// Proof: `NominationPools::ReversePoolIdLookup` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[0, 100]`.
 	fn withdraw_unbonded_update(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1297`
+		//  Measured:  `1115`
 		//  Estimated: `4764`
-		// Minimum execution time: 44_626_000 picoseconds.
-		Weight::from_parts(47_254_657, 4764)
-			// Standard Error: 1_179
-			.saturating_add(Weight::from_parts(57_657, 0).saturating_mul(s.into()))
-			.saturating_add(T::DbWeight::get().reads(6_u64))
+		// Minimum execution time: 42_067_000 picoseconds.
+		Weight::from_parts(43_239_807, 4764)
+			// Standard Error: 831
+			.saturating_add(Weight::from_parts(46_257, 0).saturating_mul(s.into()))
+			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Staking::Ledger` (r:1 w:1)
@@ -211,10 +207,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `2196 + s * (4 ±0)`
 		//  Estimated: `6248 + s * (4 ±0)`
-		// Minimum execution time: 86_769_000 picoseconds.
-		Weight::from_parts(95_212_867, 6248)
-			// Standard Error: 3_706
-			.saturating_add(Weight::from_parts(1_320_752, 0).saturating_mul(s.into()))
+		// Minimum execution time: 86_490_000 picoseconds.
+		Weight::from_parts(95_358_751, 6248)
+			// Standard Error: 3_952
+			.saturating_add(Weight::from_parts(1_294_907, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(13_u64))
 			.saturating_add(T::DbWeight::get().writes(11_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
@@ -246,8 +242,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1372`
 		//  Estimated: `4556`
-		// Minimum execution time: 50_410_000 picoseconds.
-		Weight::from_parts(52_576_000, 4556)
+		// Minimum execution time: 50_326_000 picoseconds.
+		Weight::from_parts(52_253_000, 4556)
 			.saturating_add(T::DbWeight::get().reads(11_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
@@ -260,10 +256,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1280 + k * (569 ±0)`
 		//  Estimated: `4556 + k * (3033 ±0)`
-		// Minimum execution time: 29_017_000 picoseconds.
-		Weight::from_parts(33_019_206, 4556)
-			// Standard Error: 6_368
-			.saturating_add(Weight::from_parts(6_158_681, 0).saturating_mul(k.into()))
+		// Minimum execution time: 29_305_000 picoseconds.
+		Weight::from_parts(32_199_604, 4556)
+			// Standard Error: 7_150
+			.saturating_add(Weight::from_parts(6_437_124, 0).saturating_mul(k.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(k.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(k.into())))
@@ -296,10 +292,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1866 + n * (102 ±0)`
 		//  Estimated: `6248 + n * (2520 ±0)`
-		// Minimum execution time: 63_452_000 picoseconds.
-		Weight::from_parts(60_924_066, 6248)
-			// Standard Error: 14_416
-			.saturating_add(Weight::from_parts(3_921_589, 0).saturating_mul(n.into()))
+		// Minimum execution time: 63_267_000 picoseconds.
+		Weight::from_parts(61_741_404, 6248)
+			// Standard Error: 12_955
+			.saturating_add(Weight::from_parts(3_811_743, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(12_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
@@ -323,8 +319,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1650`
 		//  Estimated: `6248`
-		// Minimum execution time: 54_253_000 picoseconds.
-		Weight::from_parts(55_286_000, 6248)
+		// Minimum execution time: 52_862_000 picoseconds.
+		Weight::from_parts(54_108_000, 6248)
 			.saturating_add(T::DbWeight::get().reads(8_u64))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
@@ -338,8 +334,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `902`
 		//  Estimated: `4556`
-		// Minimum execution time: 16_812_000 picoseconds.
-		Weight::from_parts(17_380_000, 4556)
+		// Minimum execution time: 16_350_000 picoseconds.
+		Weight::from_parts(16_802_000, 4556)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -353,8 +349,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `969`
 		//  Estimated: `4556`
-		// Minimum execution time: 20_590_000 picoseconds.
-		Weight::from_parts(21_096_000, 4556)
+		// Minimum execution time: 19_981_000 picoseconds.
+		Weight::from_parts(20_539_000, 4556)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -366,8 +362,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `902`
 		//  Estimated: `4556`
-		// Minimum execution time: 19_923_000 picoseconds.
-		Weight::from_parts(20_880_000, 4556)
+		// Minimum execution time: 19_304_000 picoseconds.
+		Weight::from_parts(20_000_000, 4556)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -377,8 +373,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_599_000 picoseconds.
-		Weight::from_parts(2_751_000, 0)
+		// Minimum execution time: 2_568_000 picoseconds.
+		Weight::from_parts(2_708_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Staking::ForceEra` (r:0 w:1)
@@ -387,8 +383,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_941_000 picoseconds.
-		Weight::from_parts(7_288_000, 0)
+		// Minimum execution time: 7_950_000 picoseconds.
+		Weight::from_parts(8_348_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Staking::ForceEra` (r:0 w:1)
@@ -397,8 +393,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_757_000 picoseconds.
-		Weight::from_parts(7_200_000, 0)
+		// Minimum execution time: 7_967_000 picoseconds.
+		Weight::from_parts(8_222_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Staking::ForceEra` (r:0 w:1)
@@ -407,8 +403,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 7_028_000 picoseconds.
-		Weight::from_parts(7_366_000, 0)
+		// Minimum execution time: 8_006_000 picoseconds.
+		Weight::from_parts(8_440_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Staking::Invulnerables` (r:0 w:1)
@@ -418,10 +414,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_741_000 picoseconds.
-		Weight::from_parts(3_212_598, 0)
-			// Standard Error: 68
-			.saturating_add(Weight::from_parts(11_695, 0).saturating_mul(v.into()))
+		// Minimum execution time: 2_524_000 picoseconds.
+		Weight::from_parts(3_123_608, 0)
+			// Standard Error: 59
+			.saturating_add(Weight::from_parts(11_596, 0).saturating_mul(v.into()))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Staking::Ledger` (r:5900 w:11800)
@@ -435,10 +431,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1356 + i * (151 ±0)`
 		//  Estimated: `990 + i * (3566 ±0)`
-		// Minimum execution time: 2_132_000 picoseconds.
-		Weight::from_parts(2_289_000, 990)
-			// Standard Error: 34_227
-			.saturating_add(Weight::from_parts(17_006_583, 0).saturating_mul(i.into()))
+		// Minimum execution time: 2_092_000 picoseconds.
+		Weight::from_parts(2_258_000, 990)
+			// Standard Error: 32_695
+			.saturating_add(Weight::from_parts(16_669_219, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(i.into())))
 			.saturating_add(Weight::from_parts(0, 3566).saturating_mul(i.into()))
@@ -476,10 +472,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `2196 + s * (4 ±0)`
 		//  Estimated: `6248 + s * (4 ±0)`
-		// Minimum execution time: 85_308_000 picoseconds.
-		Weight::from_parts(93_689_468, 6248)
-			// Standard Error: 5_425
-			.saturating_add(Weight::from_parts(1_307_604, 0).saturating_mul(s.into()))
+		// Minimum execution time: 84_275_000 picoseconds.
+		Weight::from_parts(92_512_416, 6248)
+			// Standard Error: 3_633
+			.saturating_add(Weight::from_parts(1_315_923, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(13_u64))
 			.saturating_add(T::DbWeight::get().writes(12_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
@@ -492,10 +488,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `66672`
 		//  Estimated: `70137`
-		// Minimum execution time: 103_242_000 picoseconds.
-		Weight::from_parts(1_162_296_080, 70137)
-			// Standard Error: 76_741
-			.saturating_add(Weight::from_parts(6_487_522, 0).saturating_mul(s.into()))
+		// Minimum execution time: 101_707_000 picoseconds.
+		Weight::from_parts(912_819_462, 70137)
+			// Standard Error: 57_547
+			.saturating_add(Weight::from_parts(4_856_799, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -532,10 +528,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `33297 + n * (377 ±0)`
 		//  Estimated: `30944 + n * (3774 ±0)`
-		// Minimum execution time: 140_740_000 picoseconds.
-		Weight::from_parts(182_886_963, 30944)
-			// Standard Error: 39_852
-			.saturating_add(Weight::from_parts(43_140_752, 0).saturating_mul(n.into()))
+		// Minimum execution time: 138_657_000 picoseconds.
+		Weight::from_parts(167_173_445, 30944)
+			// Standard Error: 25_130
+			.saturating_add(Weight::from_parts(44_566_012, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(14_u64))
 			.saturating_add(T::DbWeight::get().reads((6_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
@@ -559,10 +555,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1991 + l * (7 ±0)`
 		//  Estimated: `8877`
-		// Minimum execution time: 80_372_000 picoseconds.
-		Weight::from_parts(83_335_027, 8877)
-			// Standard Error: 4_780
-			.saturating_add(Weight::from_parts(72_180, 0).saturating_mul(l.into()))
+		// Minimum execution time: 80_061_000 picoseconds.
+		Weight::from_parts(82_836_434, 8877)
+			// Standard Error: 4_348
+			.saturating_add(Weight::from_parts(75_744, 0).saturating_mul(l.into()))
 			.saturating_add(T::DbWeight::get().reads(9_u64))
 			.saturating_add(T::DbWeight::get().writes(7_u64))
 	}
@@ -597,10 +593,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `2196 + s * (4 ±0)`
 		//  Estimated: `6248 + s * (4 ±0)`
-		// Minimum execution time: 93_920_000 picoseconds.
-		Weight::from_parts(98_022_911, 6248)
-			// Standard Error: 4_096
-			.saturating_add(Weight::from_parts(1_287_745, 0).saturating_mul(s.into()))
+		// Minimum execution time: 92_560_000 picoseconds.
+		Weight::from_parts(97_684_741, 6248)
+			// Standard Error: 3_361
+			.saturating_add(Weight::from_parts(1_292_732, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(12_u64))
 			.saturating_add(T::DbWeight::get().writes(11_u64))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(s.into())))
@@ -646,12 +642,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + n * (720 ±0) + v * (3598 ±0)`
 		//  Estimated: `512390 + n * (3566 ±0) + v * (3566 ±0)`
-		// Minimum execution time: 556_012_000 picoseconds.
-		Weight::from_parts(560_339_000, 512390)
-			// Standard Error: 2_115_076
-			.saturating_add(Weight::from_parts(69_456_497, 0).saturating_mul(v.into()))
-			// Standard Error: 210_755
-			.saturating_add(Weight::from_parts(17_974_873, 0).saturating_mul(n.into()))
+		// Minimum execution time: 564_963_000 picoseconds.
+		Weight::from_parts(569_206_000, 512390)
+			// Standard Error: 2_033_235
+			.saturating_add(Weight::from_parts(68_025_841, 0).saturating_mul(v.into()))
+			// Standard Error: 202_600
+			.saturating_add(Weight::from_parts(17_916_770, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(206_u64))
 			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
 			.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
@@ -682,12 +678,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `3175 + n * (911 ±0) + v * (395 ±0)`
 		//  Estimated: `512390 + n * (3566 ±0) + v * (3566 ±0)`
-		// Minimum execution time: 32_792_819_000 picoseconds.
-		Weight::from_parts(32_986_606_000, 512390)
-			// Standard Error: 360_905
-			.saturating_add(Weight::from_parts(5_260_151, 0).saturating_mul(v.into()))
-			// Standard Error: 360_905
-			.saturating_add(Weight::from_parts(3_599_219, 0).saturating_mul(n.into()))
+		// Minimum execution time: 32_196_540_000 picoseconds.
+		Weight::from_parts(32_341_871_000, 512390)
+			// Standard Error: 354_657
+			.saturating_add(Weight::from_parts(5_143_440, 0).saturating_mul(v.into()))
+			// Standard Error: 354_657
+			.saturating_add(Weight::from_parts(3_328_189, 0).saturating_mul(n.into()))
 			.saturating_add(T::DbWeight::get().reads(201_u64))
 			.saturating_add(T::DbWeight::get().reads((5_u64).saturating_mul(v.into())))
 			.saturating_add(T::DbWeight::get().reads((4_u64).saturating_mul(n.into())))
@@ -704,10 +700,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `979 + v * (50 ±0)`
 		//  Estimated: `3510 + v * (2520 ±0)`
-		// Minimum execution time: 2_434_755_000 picoseconds.
-		Weight::from_parts(38_574_764, 3510)
-			// Standard Error: 14_467
-			.saturating_add(Weight::from_parts(4_821_702, 0).saturating_mul(v.into()))
+		// Minimum execution time: 2_381_903_000 picoseconds.
+		Weight::from_parts(32_693_059, 3510)
+			// Standard Error: 10_000
+			.saturating_add(Weight::from_parts(4_736_173, 0).saturating_mul(v.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(v.into())))
 			.saturating_add(Weight::from_parts(0, 2520).saturating_mul(v.into()))
@@ -718,8 +714,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::MaxValidatorsCount` (r:0 w:1)
 	/// Proof: `Staking::MaxValidatorsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::MaxStakedRewards` (r:0 w:1)
-	/// Proof: `Staking::MaxStakedRewards` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::ChillThreshold` (r:0 w:1)
 	/// Proof: `Staking::ChillThreshold` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::MaxNominatorsCount` (r:0 w:1)
@@ -730,9 +724,9 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_765_000 picoseconds.
-		Weight::from_parts(6_140_000, 0)
-			.saturating_add(T::DbWeight::get().writes(7_u64))
+		// Minimum execution time: 5_434_000 picoseconds.
+		Weight::from_parts(5_742_000, 0)
+			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
 	/// Storage: `Staking::MinCommission` (r:0 w:1)
 	/// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
@@ -740,8 +734,6 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::MaxValidatorsCount` (r:0 w:1)
 	/// Proof: `Staking::MaxValidatorsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::MaxStakedRewards` (r:0 w:1)
-	/// Proof: `Staking::MaxStakedRewards` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::ChillThreshold` (r:0 w:1)
 	/// Proof: `Staking::ChillThreshold` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::MaxNominatorsCount` (r:0 w:1)
@@ -752,9 +744,9 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_025_000 picoseconds.
-		Weight::from_parts(5_354_000, 0)
-			.saturating_add(T::DbWeight::get().writes(7_u64))
+		// Minimum execution time: 4_588_000 picoseconds.
+		Weight::from_parts(4_854_000, 0)
+			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
 	/// Storage: `Staking::Bonded` (r:1 w:0)
 	/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
@@ -782,8 +774,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `1939`
 		//  Estimated: `6248`
-		// Minimum execution time: 69_656_000 picoseconds.
-		Weight::from_parts(71_574_000, 6248)
+		// Minimum execution time: 68_780_000 picoseconds.
+		Weight::from_parts(71_479_000, 6248)
 			.saturating_add(T::DbWeight::get().reads(12_u64))
 			.saturating_add(T::DbWeight::get().writes(6_u64))
 	}
@@ -795,8 +787,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `691`
 		//  Estimated: `3510`
-		// Minimum execution time: 12_523_000 picoseconds.
-		Weight::from_parts(13_315_000, 3510)
+		// Minimum execution time: 12_268_000 picoseconds.
+		Weight::from_parts(12_661_000, 3510)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -806,8 +798,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_125_000 picoseconds.
-		Weight::from_parts(3_300_000, 0)
+		// Minimum execution time: 3_071_000 picoseconds.
+		Weight::from_parts(3_334_000, 0)
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
@@ -828,8 +820,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `927`
 		//  Estimated: `4764`
-		// Minimum execution time: 41_318_000 picoseconds.
-		Weight::from_parts(43_268_000, 4764)
+		// Minimum execution time: 42_042_000 picoseconds.
+		Weight::from_parts(43_292_000, 4764)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
@@ -849,8 +841,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `1990`
 		//  Estimated: `8877`
-		// Minimum execution time: 85_666_000 picoseconds.
-		Weight::from_parts(88_749_000, 8877)
+		// Minimum execution time: 85_050_000 picoseconds.
+		Weight::from_parts(87_567_000, 8877)
 			.saturating_add(RocksDbWeight::get().reads(9_u64))
 			.saturating_add(RocksDbWeight::get().writes(7_u64))
 	}
@@ -876,8 +868,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `2195`
 		//  Estimated: `8877`
-		// Minimum execution time: 90_282_000 picoseconds.
-		Weight::from_parts(92_332_000, 8877)
+		// Minimum execution time: 89_076_000 picoseconds.
+		Weight::from_parts(92_715_000, 8877)
 			.saturating_add(RocksDbWeight::get().reads(12_u64))
 			.saturating_add(RocksDbWeight::get().writes(7_u64))
 	}
@@ -891,18 +883,16 @@ impl WeightInfo for () {
 	/// Proof: `Balances::Locks` (`max_values`: None, `max_size`: Some(1299), added: 3774, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Freezes` (r:1 w:0)
 	/// Proof: `Balances::Freezes` (`max_values`: None, `max_size`: Some(67), added: 2542, mode: `MaxEncodedLen`)
-	/// Storage: `NominationPools::ReversePoolIdLookup` (r:1 w:0)
-	/// Proof: `NominationPools::ReversePoolIdLookup` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
 	/// The range of component `s` is `[0, 100]`.
 	fn withdraw_unbonded_update(s: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `1297`
+		//  Measured:  `1115`
 		//  Estimated: `4764`
-		// Minimum execution time: 44_626_000 picoseconds.
-		Weight::from_parts(47_254_657, 4764)
-			// Standard Error: 1_179
-			.saturating_add(Weight::from_parts(57_657, 0).saturating_mul(s.into()))
-			.saturating_add(RocksDbWeight::get().reads(6_u64))
+		// Minimum execution time: 42_067_000 picoseconds.
+		Weight::from_parts(43_239_807, 4764)
+			// Standard Error: 831
+			.saturating_add(Weight::from_parts(46_257, 0).saturating_mul(s.into()))
+			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Staking::Ledger` (r:1 w:1)
@@ -938,10 +928,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `2196 + s * (4 ±0)`
 		//  Estimated: `6248 + s * (4 ±0)`
-		// Minimum execution time: 86_769_000 picoseconds.
-		Weight::from_parts(95_212_867, 6248)
-			// Standard Error: 3_706
-			.saturating_add(Weight::from_parts(1_320_752, 0).saturating_mul(s.into()))
+		// Minimum execution time: 86_490_000 picoseconds.
+		Weight::from_parts(95_358_751, 6248)
+			// Standard Error: 3_952
+			.saturating_add(Weight::from_parts(1_294_907, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(13_u64))
 			.saturating_add(RocksDbWeight::get().writes(11_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))
@@ -973,8 +963,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `1372`
 		//  Estimated: `4556`
-		// Minimum execution time: 50_410_000 picoseconds.
-		Weight::from_parts(52_576_000, 4556)
+		// Minimum execution time: 50_326_000 picoseconds.
+		Weight::from_parts(52_253_000, 4556)
 			.saturating_add(RocksDbWeight::get().reads(11_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
@@ -987,10 +977,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `1280 + k * (569 ±0)`
 		//  Estimated: `4556 + k * (3033 ±0)`
-		// Minimum execution time: 29_017_000 picoseconds.
-		Weight::from_parts(33_019_206, 4556)
-			// Standard Error: 6_368
-			.saturating_add(Weight::from_parts(6_158_681, 0).saturating_mul(k.into()))
+		// Minimum execution time: 29_305_000 picoseconds.
+		Weight::from_parts(32_199_604, 4556)
+			// Standard Error: 7_150
+			.saturating_add(Weight::from_parts(6_437_124, 0).saturating_mul(k.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(k.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(k.into())))
@@ -1023,10 +1013,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `1866 + n * (102 ±0)`
 		//  Estimated: `6248 + n * (2520 ±0)`
-		// Minimum execution time: 63_452_000 picoseconds.
-		Weight::from_parts(60_924_066, 6248)
-			// Standard Error: 14_416
-			.saturating_add(Weight::from_parts(3_921_589, 0).saturating_mul(n.into()))
+		// Minimum execution time: 63_267_000 picoseconds.
+		Weight::from_parts(61_741_404, 6248)
+			// Standard Error: 12_955
+			.saturating_add(Weight::from_parts(3_811_743, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(12_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
@@ -1050,8 +1040,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `1650`
 		//  Estimated: `6248`
-		// Minimum execution time: 54_253_000 picoseconds.
-		Weight::from_parts(55_286_000, 6248)
+		// Minimum execution time: 52_862_000 picoseconds.
+		Weight::from_parts(54_108_000, 6248)
 			.saturating_add(RocksDbWeight::get().reads(8_u64))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
@@ -1065,8 +1055,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `902`
 		//  Estimated: `4556`
-		// Minimum execution time: 16_812_000 picoseconds.
-		Weight::from_parts(17_380_000, 4556)
+		// Minimum execution time: 16_350_000 picoseconds.
+		Weight::from_parts(16_802_000, 4556)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -1080,8 +1070,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `969`
 		//  Estimated: `4556`
-		// Minimum execution time: 20_590_000 picoseconds.
-		Weight::from_parts(21_096_000, 4556)
+		// Minimum execution time: 19_981_000 picoseconds.
+		Weight::from_parts(20_539_000, 4556)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -1093,8 +1083,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `902`
 		//  Estimated: `4556`
-		// Minimum execution time: 19_923_000 picoseconds.
-		Weight::from_parts(20_880_000, 4556)
+		// Minimum execution time: 19_304_000 picoseconds.
+		Weight::from_parts(20_000_000, 4556)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -1104,8 +1094,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_599_000 picoseconds.
-		Weight::from_parts(2_751_000, 0)
+		// Minimum execution time: 2_568_000 picoseconds.
+		Weight::from_parts(2_708_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Staking::ForceEra` (r:0 w:1)
@@ -1114,8 +1104,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_941_000 picoseconds.
-		Weight::from_parts(7_288_000, 0)
+		// Minimum execution time: 7_950_000 picoseconds.
+		Weight::from_parts(8_348_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Staking::ForceEra` (r:0 w:1)
@@ -1124,8 +1114,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_757_000 picoseconds.
-		Weight::from_parts(7_200_000, 0)
+		// Minimum execution time: 7_967_000 picoseconds.
+		Weight::from_parts(8_222_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Staking::ForceEra` (r:0 w:1)
@@ -1134,8 +1124,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 7_028_000 picoseconds.
-		Weight::from_parts(7_366_000, 0)
+		// Minimum execution time: 8_006_000 picoseconds.
+		Weight::from_parts(8_440_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Staking::Invulnerables` (r:0 w:1)
@@ -1145,10 +1135,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_741_000 picoseconds.
-		Weight::from_parts(3_212_598, 0)
-			// Standard Error: 68
-			.saturating_add(Weight::from_parts(11_695, 0).saturating_mul(v.into()))
+		// Minimum execution time: 2_524_000 picoseconds.
+		Weight::from_parts(3_123_608, 0)
+			// Standard Error: 59
+			.saturating_add(Weight::from_parts(11_596, 0).saturating_mul(v.into()))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	/// Storage: `Staking::Ledger` (r:5900 w:11800)
@@ -1162,10 +1152,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `1356 + i * (151 ±0)`
 		//  Estimated: `990 + i * (3566 ±0)`
-		// Minimum execution time: 2_132_000 picoseconds.
-		Weight::from_parts(2_289_000, 990)
-			// Standard Error: 34_227
-			.saturating_add(Weight::from_parts(17_006_583, 0).saturating_mul(i.into()))
+		// Minimum execution time: 2_092_000 picoseconds.
+		Weight::from_parts(2_258_000, 990)
+			// Standard Error: 32_695
+			.saturating_add(Weight::from_parts(16_669_219, 0).saturating_mul(i.into()))
 			.saturating_add(RocksDbWeight::get().reads((2_u64).saturating_mul(i.into())))
 			.saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(i.into())))
 			.saturating_add(Weight::from_parts(0, 3566).saturating_mul(i.into()))
@@ -1203,10 +1193,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `2196 + s * (4 ±0)`
 		//  Estimated: `6248 + s * (4 ±0)`
-		// Minimum execution time: 85_308_000 picoseconds.
-		Weight::from_parts(93_689_468, 6248)
-			// Standard Error: 5_425
-			.saturating_add(Weight::from_parts(1_307_604, 0).saturating_mul(s.into()))
+		// Minimum execution time: 84_275_000 picoseconds.
+		Weight::from_parts(92_512_416, 6248)
+			// Standard Error: 3_633
+			.saturating_add(Weight::from_parts(1_315_923, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(13_u64))
 			.saturating_add(RocksDbWeight::get().writes(12_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))
@@ -1219,10 +1209,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `66672`
 		//  Estimated: `70137`
-		// Minimum execution time: 103_242_000 picoseconds.
-		Weight::from_parts(1_162_296_080, 70137)
-			// Standard Error: 76_741
-			.saturating_add(Weight::from_parts(6_487_522, 0).saturating_mul(s.into()))
+		// Minimum execution time: 101_707_000 picoseconds.
+		Weight::from_parts(912_819_462, 70137)
+			// Standard Error: 57_547
+			.saturating_add(Weight::from_parts(4_856_799, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -1259,10 +1249,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `33297 + n * (377 ±0)`
 		//  Estimated: `30944 + n * (3774 ±0)`
-		// Minimum execution time: 140_740_000 picoseconds.
-		Weight::from_parts(182_886_963, 30944)
-			// Standard Error: 39_852
-			.saturating_add(Weight::from_parts(43_140_752, 0).saturating_mul(n.into()))
+		// Minimum execution time: 138_657_000 picoseconds.
+		Weight::from_parts(167_173_445, 30944)
+			// Standard Error: 25_130
+			.saturating_add(Weight::from_parts(44_566_012, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(14_u64))
 			.saturating_add(RocksDbWeight::get().reads((6_u64).saturating_mul(n.into())))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
@@ -1286,10 +1276,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `1991 + l * (7 ±0)`
 		//  Estimated: `8877`
-		// Minimum execution time: 80_372_000 picoseconds.
-		Weight::from_parts(83_335_027, 8877)
-			// Standard Error: 4_780
-			.saturating_add(Weight::from_parts(72_180, 0).saturating_mul(l.into()))
+		// Minimum execution time: 80_061_000 picoseconds.
+		Weight::from_parts(82_836_434, 8877)
+			// Standard Error: 4_348
+			.saturating_add(Weight::from_parts(75_744, 0).saturating_mul(l.into()))
 			.saturating_add(RocksDbWeight::get().reads(9_u64))
 			.saturating_add(RocksDbWeight::get().writes(7_u64))
 	}
@@ -1324,10 +1314,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `2196 + s * (4 ±0)`
 		//  Estimated: `6248 + s * (4 ±0)`
-		// Minimum execution time: 93_920_000 picoseconds.
-		Weight::from_parts(98_022_911, 6248)
-			// Standard Error: 4_096
-			.saturating_add(Weight::from_parts(1_287_745, 0).saturating_mul(s.into()))
+		// Minimum execution time: 92_560_000 picoseconds.
+		Weight::from_parts(97_684_741, 6248)
+			// Standard Error: 3_361
+			.saturating_add(Weight::from_parts(1_292_732, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(12_u64))
 			.saturating_add(RocksDbWeight::get().writes(11_u64))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(s.into())))
@@ -1373,12 +1363,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0 + n * (720 ±0) + v * (3598 ±0)`
 		//  Estimated: `512390 + n * (3566 ±0) + v * (3566 ±0)`
-		// Minimum execution time: 556_012_000 picoseconds.
-		Weight::from_parts(560_339_000, 512390)
-			// Standard Error: 2_115_076
-			.saturating_add(Weight::from_parts(69_456_497, 0).saturating_mul(v.into()))
-			// Standard Error: 210_755
-			.saturating_add(Weight::from_parts(17_974_873, 0).saturating_mul(n.into()))
+		// Minimum execution time: 564_963_000 picoseconds.
+		Weight::from_parts(569_206_000, 512390)
+			// Standard Error: 2_033_235
+			.saturating_add(Weight::from_parts(68_025_841, 0).saturating_mul(v.into()))
+			// Standard Error: 202_600
+			.saturating_add(Weight::from_parts(17_916_770, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(206_u64))
 			.saturating_add(RocksDbWeight::get().reads((5_u64).saturating_mul(v.into())))
 			.saturating_add(RocksDbWeight::get().reads((4_u64).saturating_mul(n.into())))
@@ -1409,12 +1399,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `3175 + n * (911 ±0) + v * (395 ±0)`
 		//  Estimated: `512390 + n * (3566 ±0) + v * (3566 ±0)`
-		// Minimum execution time: 32_792_819_000 picoseconds.
-		Weight::from_parts(32_986_606_000, 512390)
-			// Standard Error: 360_905
-			.saturating_add(Weight::from_parts(5_260_151, 0).saturating_mul(v.into()))
-			// Standard Error: 360_905
-			.saturating_add(Weight::from_parts(3_599_219, 0).saturating_mul(n.into()))
+		// Minimum execution time: 32_196_540_000 picoseconds.
+		Weight::from_parts(32_341_871_000, 512390)
+			// Standard Error: 354_657
+			.saturating_add(Weight::from_parts(5_143_440, 0).saturating_mul(v.into()))
+			// Standard Error: 354_657
+			.saturating_add(Weight::from_parts(3_328_189, 0).saturating_mul(n.into()))
 			.saturating_add(RocksDbWeight::get().reads(201_u64))
 			.saturating_add(RocksDbWeight::get().reads((5_u64).saturating_mul(v.into())))
 			.saturating_add(RocksDbWeight::get().reads((4_u64).saturating_mul(n.into())))
@@ -1431,10 +1421,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `979 + v * (50 ±0)`
 		//  Estimated: `3510 + v * (2520 ±0)`
-		// Minimum execution time: 2_434_755_000 picoseconds.
-		Weight::from_parts(38_574_764, 3510)
-			// Standard Error: 14_467
-			.saturating_add(Weight::from_parts(4_821_702, 0).saturating_mul(v.into()))
+		// Minimum execution time: 2_381_903_000 picoseconds.
+		Weight::from_parts(32_693_059, 3510)
+			// Standard Error: 10_000
+			.saturating_add(Weight::from_parts(4_736_173, 0).saturating_mul(v.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(v.into())))
 			.saturating_add(Weight::from_parts(0, 2520).saturating_mul(v.into()))
@@ -1445,8 +1435,6 @@ impl WeightInfo for () {
 	/// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::MaxValidatorsCount` (r:0 w:1)
 	/// Proof: `Staking::MaxValidatorsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::MaxStakedRewards` (r:0 w:1)
-	/// Proof: `Staking::MaxStakedRewards` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::ChillThreshold` (r:0 w:1)
 	/// Proof: `Staking::ChillThreshold` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::MaxNominatorsCount` (r:0 w:1)
@@ -1457,9 +1445,9 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_765_000 picoseconds.
-		Weight::from_parts(6_140_000, 0)
-			.saturating_add(RocksDbWeight::get().writes(7_u64))
+		// Minimum execution time: 5_434_000 picoseconds.
+		Weight::from_parts(5_742_000, 0)
+			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
 	/// Storage: `Staking::MinCommission` (r:0 w:1)
 	/// Proof: `Staking::MinCommission` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
@@ -1467,8 +1455,6 @@ impl WeightInfo for () {
 	/// Proof: `Staking::MinValidatorBond` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::MaxValidatorsCount` (r:0 w:1)
 	/// Proof: `Staking::MaxValidatorsCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Staking::MaxStakedRewards` (r:0 w:1)
-	/// Proof: `Staking::MaxStakedRewards` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::ChillThreshold` (r:0 w:1)
 	/// Proof: `Staking::ChillThreshold` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
 	/// Storage: `Staking::MaxNominatorsCount` (r:0 w:1)
@@ -1479,9 +1465,9 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_025_000 picoseconds.
-		Weight::from_parts(5_354_000, 0)
-			.saturating_add(RocksDbWeight::get().writes(7_u64))
+		// Minimum execution time: 4_588_000 picoseconds.
+		Weight::from_parts(4_854_000, 0)
+			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
 	/// Storage: `Staking::Bonded` (r:1 w:0)
 	/// Proof: `Staking::Bonded` (`max_values`: None, `max_size`: Some(72), added: 2547, mode: `MaxEncodedLen`)
@@ -1509,8 +1495,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `1939`
 		//  Estimated: `6248`
-		// Minimum execution time: 69_656_000 picoseconds.
-		Weight::from_parts(71_574_000, 6248)
+		// Minimum execution time: 68_780_000 picoseconds.
+		Weight::from_parts(71_479_000, 6248)
 			.saturating_add(RocksDbWeight::get().reads(12_u64))
 			.saturating_add(RocksDbWeight::get().writes(6_u64))
 	}
@@ -1522,8 +1508,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `691`
 		//  Estimated: `3510`
-		// Minimum execution time: 12_523_000 picoseconds.
-		Weight::from_parts(13_315_000, 3510)
+		// Minimum execution time: 12_268_000 picoseconds.
+		Weight::from_parts(12_661_000, 3510)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -1533,8 +1519,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 3_125_000 picoseconds.
-		Weight::from_parts(3_300_000, 0)
+		// Minimum execution time: 3_071_000 picoseconds.
+		Weight::from_parts(3_334_000, 0)
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 }
diff --git a/substrate/frame/state-trie-migration/src/lib.rs b/substrate/frame/state-trie-migration/src/lib.rs
index b89159ef3ec..6b3aa9934e0 100644
--- a/substrate/frame/state-trie-migration/src/lib.rs
+++ b/substrate/frame/state-trie-migration/src/lib.rs
@@ -1801,7 +1801,7 @@ mod remote_tests_local {
 	use std::env::var as env_var;
 
 	// we only use the hash type from this, so using the mock should be fine.
-	type Extrinsic = sp_runtime::generic::UncheckedExtrinsic<u64, MockCall, (), ()>;
+	type Extrinsic = sp_runtime::testing::TestXt<MockCall, ()>;
 	type Block = sp_runtime::testing::Block<Extrinsic>;
 
 	#[tokio::test]
diff --git a/substrate/frame/state-trie-migration/src/weights.rs b/substrate/frame/state-trie-migration/src/weights.rs
index 23dad9e3380..8fa80b38957 100644
--- a/substrate/frame/state-trie-migration/src/weights.rs
+++ b/substrate/frame/state-trie-migration/src/weights.rs
@@ -17,28 +17,26 @@
 
 //! Autogenerated weights for `pallet_state_trie_migration`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2024-01-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-grjcggob-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/production/substrate-node
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_state_trie_migration
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/state-trie-migration/src/weights.rs
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_state_trie_migration
+// --chain=dev
 // --header=./substrate/HEADER-APACHE2
+// --output=./substrate/frame/state-trie-migration/src/weights.rs
 // --template=./substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -66,15 +64,15 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Storage: `StateTrieMigration::SignedMigrationMaxLimits` (r:1 w:0)
 	/// Proof: `StateTrieMigration::SignedMigrationMaxLimits` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:0)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(175), added: 2650, mode: `MaxEncodedLen`)
 	/// Storage: `StateTrieMigration::MigrationProcess` (r:1 w:1)
 	/// Proof: `StateTrieMigration::MigrationProcess` (`max_values`: Some(1), `max_size`: Some(1042), added: 1537, mode: `MaxEncodedLen`)
 	fn continue_migrate() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `108`
-		//  Estimated: `3658`
-		// Minimum execution time: 17_661_000 picoseconds.
-		Weight::from_parts(18_077_000, 3658)
+		//  Estimated: `3640`
+		// Minimum execution time: 18_520_000 picoseconds.
+		Weight::from_parts(19_171_000, 3640)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -84,53 +82,53 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `1493`
-		// Minimum execution time: 4_036_000 picoseconds.
-		Weight::from_parts(4_267_000, 1493)
+		// Minimum execution time: 3_786_000 picoseconds.
+		Weight::from_parts(4_038_000, 1493)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Balances::Holds` (r:1 w:0)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(175), added: 2650, mode: `MaxEncodedLen`)
 	fn migrate_custom_top_success() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
-		//  Estimated: `3658`
-		// Minimum execution time: 11_348_000 picoseconds.
-		Weight::from_parts(11_899_000, 3658)
+		//  Estimated: `3640`
+		// Minimum execution time: 11_144_000 picoseconds.
+		Weight::from_parts(11_556_000, 3640)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(175), added: 2650, mode: `MaxEncodedLen`)
 	/// Storage: UNKNOWN KEY `0x666f6f` (r:1 w:1)
 	/// Proof: UNKNOWN KEY `0x666f6f` (r:1 w:1)
 	fn migrate_custom_top_fail() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `113`
-		//  Estimated: `3658`
-		// Minimum execution time: 59_819_000 picoseconds.
-		Weight::from_parts(61_066_000, 3658)
+		//  Estimated: `3640`
+		// Minimum execution time: 59_288_000 picoseconds.
+		Weight::from_parts(60_276_000, 3640)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Balances::Holds` (r:1 w:0)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(175), added: 2650, mode: `MaxEncodedLen`)
 	fn migrate_custom_child_success() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
-		//  Estimated: `3658`
-		// Minimum execution time: 11_424_000 picoseconds.
-		Weight::from_parts(11_765_000, 3658)
+		//  Estimated: `3640`
+		// Minimum execution time: 11_258_000 picoseconds.
+		Weight::from_parts(11_626_000, 3640)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(175), added: 2650, mode: `MaxEncodedLen`)
 	/// Storage: UNKNOWN KEY `0x666f6f` (r:1 w:1)
 	/// Proof: UNKNOWN KEY `0x666f6f` (r:1 w:1)
 	fn migrate_custom_child_fail() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `106`
-		//  Estimated: `3658`
-		// Minimum execution time: 61_086_000 picoseconds.
-		Weight::from_parts(62_546_000, 3658)
+		//  Estimated: `3640`
+		// Minimum execution time: 61_575_000 picoseconds.
+		Weight::from_parts(63_454_000, 3640)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -141,10 +139,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `197 + v * (1 ±0)`
 		//  Estimated: `3662 + v * (1 ±0)`
-		// Minimum execution time: 5_375_000 picoseconds.
-		Weight::from_parts(5_552_000, 3662)
+		// Minimum execution time: 5_259_000 picoseconds.
+		Weight::from_parts(5_433_000, 3662)
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_146, 0).saturating_mul(v.into()))
+			.saturating_add(Weight::from_parts(1_159, 0).saturating_mul(v.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(v.into()))
@@ -156,15 +154,15 @@ impl WeightInfo for () {
 	/// Storage: `StateTrieMigration::SignedMigrationMaxLimits` (r:1 w:0)
 	/// Proof: `StateTrieMigration::SignedMigrationMaxLimits` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
 	/// Storage: `Balances::Holds` (r:1 w:0)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(175), added: 2650, mode: `MaxEncodedLen`)
 	/// Storage: `StateTrieMigration::MigrationProcess` (r:1 w:1)
 	/// Proof: `StateTrieMigration::MigrationProcess` (`max_values`: Some(1), `max_size`: Some(1042), added: 1537, mode: `MaxEncodedLen`)
 	fn continue_migrate() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `108`
-		//  Estimated: `3658`
-		// Minimum execution time: 17_661_000 picoseconds.
-		Weight::from_parts(18_077_000, 3658)
+		//  Estimated: `3640`
+		// Minimum execution time: 18_520_000 picoseconds.
+		Weight::from_parts(19_171_000, 3640)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -174,53 +172,53 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `1493`
-		// Minimum execution time: 4_036_000 picoseconds.
-		Weight::from_parts(4_267_000, 1493)
+		// Minimum execution time: 3_786_000 picoseconds.
+		Weight::from_parts(4_038_000, 1493)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Balances::Holds` (r:1 w:0)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(175), added: 2650, mode: `MaxEncodedLen`)
 	fn migrate_custom_top_success() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
-		//  Estimated: `3658`
-		// Minimum execution time: 11_348_000 picoseconds.
-		Weight::from_parts(11_899_000, 3658)
+		//  Estimated: `3640`
+		// Minimum execution time: 11_144_000 picoseconds.
+		Weight::from_parts(11_556_000, 3640)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(175), added: 2650, mode: `MaxEncodedLen`)
 	/// Storage: UNKNOWN KEY `0x666f6f` (r:1 w:1)
 	/// Proof: UNKNOWN KEY `0x666f6f` (r:1 w:1)
 	fn migrate_custom_top_fail() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `113`
-		//  Estimated: `3658`
-		// Minimum execution time: 59_819_000 picoseconds.
-		Weight::from_parts(61_066_000, 3658)
+		//  Estimated: `3640`
+		// Minimum execution time: 59_288_000 picoseconds.
+		Weight::from_parts(60_276_000, 3640)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Balances::Holds` (r:1 w:0)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(175), added: 2650, mode: `MaxEncodedLen`)
 	fn migrate_custom_child_success() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
-		//  Estimated: `3658`
-		// Minimum execution time: 11_424_000 picoseconds.
-		Weight::from_parts(11_765_000, 3658)
+		//  Estimated: `3640`
+		// Minimum execution time: 11_258_000 picoseconds.
+		Weight::from_parts(11_626_000, 3640)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
+	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(175), added: 2650, mode: `MaxEncodedLen`)
 	/// Storage: UNKNOWN KEY `0x666f6f` (r:1 w:1)
 	/// Proof: UNKNOWN KEY `0x666f6f` (r:1 w:1)
 	fn migrate_custom_child_fail() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `106`
-		//  Estimated: `3658`
-		// Minimum execution time: 61_086_000 picoseconds.
-		Weight::from_parts(62_546_000, 3658)
+		//  Estimated: `3640`
+		// Minimum execution time: 61_575_000 picoseconds.
+		Weight::from_parts(63_454_000, 3640)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
@@ -231,10 +229,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `197 + v * (1 ±0)`
 		//  Estimated: `3662 + v * (1 ±0)`
-		// Minimum execution time: 5_375_000 picoseconds.
-		Weight::from_parts(5_552_000, 3662)
+		// Minimum execution time: 5_259_000 picoseconds.
+		Weight::from_parts(5_433_000, 3662)
 			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_146, 0).saturating_mul(v.into()))
+			.saturating_add(Weight::from_parts(1_159, 0).saturating_mul(v.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(v.into()))
diff --git a/substrate/frame/sudo/src/benchmarking.rs b/substrate/frame/sudo/src/benchmarking.rs
index cdd7d707600..e64233fe748 100644
--- a/substrate/frame/sudo/src/benchmarking.rs
+++ b/substrate/frame/sudo/src/benchmarking.rs
@@ -20,23 +20,14 @@
 use super::*;
 use crate::Pallet;
 use frame_benchmarking::v2::*;
-use frame_support::dispatch::DispatchInfo;
 use frame_system::RawOrigin;
-use sp_runtime::traits::{AsSystemOriginSigner, DispatchTransaction, Dispatchable};
 
 fn assert_last_event<T: Config>(generic_event: crate::Event<T>) {
 	let re: <T as Config>::RuntimeEvent = generic_event.into();
 	frame_system::Pallet::<T>::assert_last_event(re.into());
 }
 
-#[benchmarks(where
-	T: Send + Sync,
-	<T as Config>::RuntimeCall: From<frame_system::Call<T>>,
-	<T as frame_system::Config>::RuntimeCall: Dispatchable<Info = DispatchInfo>,
-	<<T as frame_system::Config>::RuntimeCall as Dispatchable>::PostInfo: From<()>,
-	<<T as frame_system::Config>::RuntimeCall as Dispatchable>::RuntimeOrigin:
-		AsSystemOriginSigner<T::AccountId> + Clone,
-)]
+#[benchmarks(where <T as Config>::RuntimeCall: From<frame_system::Call<T>>)]
 mod benchmarks {
 	use super::*;
 
@@ -94,23 +85,5 @@ mod benchmarks {
 		assert_last_event::<T>(Event::KeyRemoved {});
 	}
 
-	#[benchmark]
-	fn check_only_sudo_account() {
-		let caller: T::AccountId = whitelisted_caller();
-		Key::<T>::put(&caller);
-
-		let call = frame_system::Call::remark { remark: vec![] }.into();
-		let info = DispatchInfo { ..Default::default() };
-		let ext = CheckOnlySudoAccount::<T>::new();
-
-		#[block]
-		{
-			assert!(ext
-				.test_run(RawOrigin::Signed(caller).into(), &call, &info, 0, |_| Ok(().into()))
-				.unwrap()
-				.is_ok());
-		}
-	}
-
 	impl_benchmark_test_suite!(Pallet, crate::mock::new_bench_ext(), crate::mock::Test);
 }
diff --git a/substrate/frame/sudo/src/extension.rs b/substrate/frame/sudo/src/extension.rs
index 2cd8f945edd..e90286e5a7c 100644
--- a/substrate/frame/sudo/src/extension.rs
+++ b/substrate/frame/sudo/src/extension.rs
@@ -20,14 +20,10 @@ use codec::{Decode, Encode};
 use frame_support::{dispatch::DispatchInfo, ensure};
 use scale_info::TypeInfo;
 use sp_runtime::{
-	impl_tx_ext_default,
-	traits::{
-		AsSystemOriginSigner, DispatchInfoOf, Dispatchable, TransactionExtension,
-		TransactionExtensionBase,
-	},
+	traits::{DispatchInfoOf, Dispatchable, SignedExtension},
 	transaction_validity::{
-		InvalidTransaction, TransactionPriority, TransactionValidityError, UnknownTransaction,
-		ValidTransaction,
+		InvalidTransaction, TransactionPriority, TransactionValidity, TransactionValidityError,
+		UnknownTransaction, ValidTransaction,
 	},
 };
 use sp_std::{fmt, marker::PhantomData};
@@ -63,61 +59,49 @@ impl<T: Config + Send + Sync> fmt::Debug for CheckOnlySudoAccount<T> {
 }
 
 impl<T: Config + Send + Sync> CheckOnlySudoAccount<T> {
-	/// Creates new `TransactionExtension` to check sudo key.
+	/// Creates new `SignedExtension` to check sudo key.
 	pub fn new() -> Self {
 		Self::default()
 	}
 }
 
-impl<T: Config + Send + Sync> TransactionExtensionBase for CheckOnlySudoAccount<T> {
-	const IDENTIFIER: &'static str = "CheckOnlySudoAccount";
-	type Implicit = ();
-
-	fn weight(&self) -> frame_support::weights::Weight {
-		use crate::weights::WeightInfo;
-		T::WeightInfo::check_only_sudo_account()
-	}
-}
-impl<T: Config + Send + Sync, Context>
-	TransactionExtension<<T as frame_system::Config>::RuntimeCall, Context> for CheckOnlySudoAccount<T>
+impl<T: Config + Send + Sync> SignedExtension for CheckOnlySudoAccount<T>
 where
-	<T as frame_system::Config>::RuntimeCall: Dispatchable<Info = DispatchInfo>,
-	<<T as frame_system::Config>::RuntimeCall as Dispatchable>::RuntimeOrigin:
-		AsSystemOriginSigner<T::AccountId> + Clone,
+	<T as Config>::RuntimeCall: Dispatchable<Info = DispatchInfo>,
 {
+	const IDENTIFIER: &'static str = "CheckOnlySudoAccount";
+	type AccountId = T::AccountId;
+	type Call = <T as Config>::RuntimeCall;
+	type AdditionalSigned = ();
 	type Pre = ();
-	type Val = ();
+
+	fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
+		Ok(())
+	}
 
 	fn validate(
 		&self,
-		origin: <<T as frame_system::Config>::RuntimeCall as Dispatchable>::RuntimeOrigin,
-		_call: &<T as frame_system::Config>::RuntimeCall,
-		info: &DispatchInfoOf<<T as frame_system::Config>::RuntimeCall>,
+		who: &Self::AccountId,
+		_call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
 		_len: usize,
-		_context: &mut Context,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> Result<
-		(
-			ValidTransaction,
-			Self::Val,
-			<<T as frame_system::Config>::RuntimeCall as Dispatchable>::RuntimeOrigin,
-		),
-		TransactionValidityError,
-	> {
-		let who = origin.as_system_origin_signer().ok_or(InvalidTransaction::BadSigner)?;
+	) -> TransactionValidity {
 		let sudo_key: T::AccountId = Key::<T>::get().ok_or(UnknownTransaction::CannotLookup)?;
 		ensure!(*who == sudo_key, InvalidTransaction::BadSigner);
 
-		Ok((
-			ValidTransaction {
-				priority: info.weight.ref_time() as TransactionPriority,
-				..Default::default()
-			},
-			(),
-			origin,
-		))
+		Ok(ValidTransaction {
+			priority: info.weight.ref_time() as TransactionPriority,
+			..Default::default()
+		})
 	}
 
-	impl_tx_ext_default!(<T as frame_system::Config>::RuntimeCall; Context; prepare);
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		self.validate(who, call, info, len).map(|_| ())
+	}
 }
diff --git a/substrate/frame/sudo/src/lib.rs b/substrate/frame/sudo/src/lib.rs
index 2c953368b22..2ebe4cb0157 100644
--- a/substrate/frame/sudo/src/lib.rs
+++ b/substrate/frame/sudo/src/lib.rs
@@ -85,8 +85,8 @@
 //! meant to be used by constructing runtime calls from outside the runtime.
 //! </pre></div>
 //!
-//! This pallet also defines a [`TransactionExtension`](sp_runtime::traits::TransactionExtension)
-//! called [`CheckOnlySudoAccount`] to ensure that only signed transactions by the sudo account are
+//! This pallet also defines a [`SignedExtension`](sp_runtime::traits::SignedExtension) called
+//! [`CheckOnlySudoAccount`] to ensure that only signed transactions by the sudo account are
 //! accepted by the transaction pool. The intended use of this signed extension is to prevent other
 //! accounts from spamming the transaction pool for the initial phase of a chain, during which
 //! developers may only want a sudo account to be able to make transactions.
diff --git a/substrate/frame/sudo/src/weights.rs b/substrate/frame/sudo/src/weights.rs
index aa8f69fd4e6..10d1a9f7a51 100644
--- a/substrate/frame/sudo/src/weights.rs
+++ b/substrate/frame/sudo/src/weights.rs
@@ -17,28 +17,26 @@
 
 //! Autogenerated weights for `pallet_sudo`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-11-07, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-yprdrvc7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/production/substrate-node
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_sudo
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/sudo/src/weights.rs
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_sudo
+// --chain=dev
 // --header=./substrate/HEADER-APACHE2
+// --output=./substrate/frame/sudo/src/weights.rs
 // --template=./substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -55,7 +53,6 @@ pub trait WeightInfo {
 	fn sudo() -> Weight;
 	fn sudo_as() -> Weight;
 	fn remove_key() -> Weight;
-	fn check_only_sudo_account() -> Weight;
 }
 
 /// Weights for `pallet_sudo` using the Substrate node and recommended hardware.
@@ -67,8 +64,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 9_590_000 picoseconds.
-		Weight::from_parts(9_924_000, 1517)
+		// Minimum execution time: 9_600_000 picoseconds.
+		Weight::from_parts(10_076_000, 1517)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -78,8 +75,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 9_825_000 picoseconds.
-		Weight::from_parts(10_373_000, 1517)
+		// Minimum execution time: 10_453_000 picoseconds.
+		Weight::from_parts(10_931_000, 1517)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Sudo::Key` (r:1 w:0)
@@ -88,8 +85,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 10_140_000 picoseconds.
-		Weight::from_parts(10_382_000, 1517)
+		// Minimum execution time: 10_202_000 picoseconds.
+		Weight::from_parts(10_800_000, 1517)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Sudo::Key` (r:1 w:1)
@@ -98,21 +95,11 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 8_610_000 picoseconds.
-		Weight::from_parts(8_975_000, 1517)
+		// Minimum execution time: 8_555_000 picoseconds.
+		Weight::from_parts(8_846_000, 1517)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Sudo::Key` (r:1 w:0)
-	/// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	fn check_only_sudo_account() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `165`
-		//  Estimated: `1517`
-		// Minimum execution time: 3_416_000 picoseconds.
-		Weight::from_parts(3_645_000, 1517)
-			.saturating_add(T::DbWeight::get().reads(1_u64))
-	}
 }
 
 // For backwards compatibility and tests.
@@ -123,8 +110,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 9_590_000 picoseconds.
-		Weight::from_parts(9_924_000, 1517)
+		// Minimum execution time: 9_600_000 picoseconds.
+		Weight::from_parts(10_076_000, 1517)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -134,8 +121,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 9_825_000 picoseconds.
-		Weight::from_parts(10_373_000, 1517)
+		// Minimum execution time: 10_453_000 picoseconds.
+		Weight::from_parts(10_931_000, 1517)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Sudo::Key` (r:1 w:0)
@@ -144,8 +131,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 10_140_000 picoseconds.
-		Weight::from_parts(10_382_000, 1517)
+		// Minimum execution time: 10_202_000 picoseconds.
+		Weight::from_parts(10_800_000, 1517)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 	}
 	/// Storage: `Sudo::Key` (r:1 w:1)
@@ -154,19 +141,9 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `165`
 		//  Estimated: `1517`
-		// Minimum execution time: 8_610_000 picoseconds.
-		Weight::from_parts(8_975_000, 1517)
+		// Minimum execution time: 8_555_000 picoseconds.
+		Weight::from_parts(8_846_000, 1517)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Sudo::Key` (r:1 w:0)
-	/// Proof: `Sudo::Key` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	fn check_only_sudo_account() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `165`
-		//  Estimated: `1517`
-		// Minimum execution time: 3_416_000 picoseconds.
-		Weight::from_parts(3_645_000, 1517)
-			.saturating_add(RocksDbWeight::get().reads(1_u64))
-	}
 }
diff --git a/substrate/frame/support/procedural/src/construct_runtime/expand/inherent.rs b/substrate/frame/support/procedural/src/construct_runtime/expand/inherent.rs
index d21cfef4a92..da483fa6cf0 100644
--- a/substrate/frame/support/procedural/src/construct_runtime/expand/inherent.rs
+++ b/substrate/frame/support/procedural/src/construct_runtime/expand/inherent.rs
@@ -73,9 +73,11 @@ pub fn expand_outer_inherent(
 				#(
 					#pallet_attrs
 					if let Some(inherent) = #pallet_names::create_inherent(self) {
-						let inherent = <#unchecked_extrinsic as #scrate::sp_runtime::traits::Extrinsic>::new_inherent(
+						let inherent = <#unchecked_extrinsic as #scrate::sp_runtime::traits::Extrinsic>::new(
 							inherent.into(),
-						);
+							None,
+						).expect("Runtime UncheckedExtrinsic is not Opaque, so it has to return \
+							`Some`; qed");
 
 						inherents.push(inherent);
 					}
@@ -121,7 +123,7 @@ pub fn expand_outer_inherent(
 				for xt in block.extrinsics() {
 					// Inherents are before any other extrinsics.
 					// And signed extrinsics are not inherents.
-					if !(#scrate::sp_runtime::traits::Extrinsic::is_bare(xt)) {
+					if #scrate::sp_runtime::traits::Extrinsic::is_signed(xt).unwrap_or(false) {
 						break
 					}
 
@@ -159,9 +161,10 @@ pub fn expand_outer_inherent(
 					match #pallet_names::is_inherent_required(self) {
 						Ok(Some(e)) => {
 							let found = block.extrinsics().iter().any(|xt| {
-								let is_bare = #scrate::sp_runtime::traits::Extrinsic::is_bare(xt);
+								let is_signed = #scrate::sp_runtime::traits::Extrinsic::is_signed(xt)
+									.unwrap_or(false);
 
-								if is_bare {
+								if !is_signed {
 									let call = <
 										#unchecked_extrinsic as ExtrinsicCall
 									>::call(xt);
@@ -206,9 +209,8 @@ pub fn expand_outer_inherent(
 				use #scrate::inherent::ProvideInherent;
 				use #scrate::traits::{IsSubType, ExtrinsicCall};
 
-				let is_bare = #scrate::sp_runtime::traits::Extrinsic::is_bare(ext);
-				if !is_bare {
-					// Signed extrinsics are not inherents.
+				if #scrate::sp_runtime::traits::Extrinsic::is_signed(ext).unwrap_or(false) {
+					// Signed extrinsics are never inherents.
 					return false
 				}
 
diff --git a/substrate/frame/support/procedural/src/construct_runtime/expand/metadata.rs b/substrate/frame/support/procedural/src/construct_runtime/expand/metadata.rs
index f55ca677d89..0e76f9a9246 100644
--- a/substrate/frame/support/procedural/src/construct_runtime/expand/metadata.rs
+++ b/substrate/frame/support/procedural/src/construct_runtime/expand/metadata.rs
@@ -119,13 +119,13 @@ pub fn expand_runtime_metadata(
 						call_ty,
 						signature_ty,
 						extra_ty,
-						extensions: <
+						signed_extensions: <
 								<
 									#extrinsic as #scrate::sp_runtime::traits::ExtrinsicMetadata
-								>::Extra as #scrate::sp_runtime::traits::TransactionExtensionBase
+								>::SignedExtensions as #scrate::sp_runtime::traits::SignedExtension
 							>::metadata()
 								.into_iter()
-								.map(|meta| #scrate::__private::metadata_ir::TransactionExtensionMetadataIR {
+								.map(|meta| #scrate::__private::metadata_ir::SignedExtensionMetadataIR {
 									identifier: meta.identifier,
 									ty: meta.ty,
 									additional_signed: meta.additional_signed,
diff --git a/substrate/frame/support/procedural/src/construct_runtime/expand/origin.rs b/substrate/frame/support/procedural/src/construct_runtime/expand/origin.rs
index 341621deb09..83049919d01 100644
--- a/substrate/frame/support/procedural/src/construct_runtime/expand/origin.rs
+++ b/substrate/frame/support/procedural/src/construct_runtime/expand/origin.rs
@@ -153,10 +153,6 @@ pub fn expand_outer_origin(
 				self.filter = #scrate::__private::sp_std::rc::Rc::new(Box::new(filter));
 			}
 
-			fn set_caller(&mut self, caller: OriginCaller) {
-				self.caller = caller;
-			}
-
 			fn set_caller_from(&mut self, other: impl Into<Self>) {
 				self.caller = other.into().caller;
 			}
@@ -305,16 +301,6 @@ pub fn expand_outer_origin(
 			}
 		}
 
-		impl #scrate::__private::AsSystemOriginSigner<<#runtime as #system_path::Config>::AccountId> for RuntimeOrigin {
-			fn as_system_origin_signer(&self) -> Option<&<#runtime as #system_path::Config>::AccountId> {
-				if let OriginCaller::system(#system_path::Origin::<#runtime>::Signed(ref signed)) = &self.caller {
-					Some(signed)
-				} else {
-					None
-				}
-			}
-		}
-
 		#pallet_conversions
 	})
 }
diff --git a/substrate/frame/support/src/dispatch.rs b/substrate/frame/support/src/dispatch.rs
index 61787a74012..4a313551aca 100644
--- a/substrate/frame/support/src/dispatch.rs
+++ b/substrate/frame/support/src/dispatch.rs
@@ -25,7 +25,7 @@ use scale_info::TypeInfo;
 use serde::{Deserialize, Serialize};
 use sp_runtime::{
 	generic::{CheckedExtrinsic, UncheckedExtrinsic},
-	traits::Dispatchable,
+	traits::SignedExtension,
 	DispatchError, RuntimeDebug,
 };
 use sp_std::fmt;
@@ -268,8 +268,7 @@ pub fn extract_actual_weight(result: &DispatchResultWithPostInfo, info: &Dispatc
 	.calc_actual_weight(info)
 }
 
-/// Extract the actual pays_fee from a dispatch result if any or fall back to the default
-/// weight.
+/// Extract the actual pays_fee from a dispatch result if any or fall back to the default weight.
 pub fn extract_actual_pays_fee(result: &DispatchResultWithPostInfo, info: &DispatchInfo) -> Pays {
 	match result {
 		Ok(post_info) => post_info,
@@ -369,10 +368,11 @@ where
 }
 
 /// Implementation for unchecked extrinsic.
-impl<Address, Call, Signature, Extension> GetDispatchInfo
-	for UncheckedExtrinsic<Address, Call, Signature, Extension>
+impl<Address, Call, Signature, Extra> GetDispatchInfo
+	for UncheckedExtrinsic<Address, Call, Signature, Extra>
 where
-	Call: GetDispatchInfo + Dispatchable,
+	Call: GetDispatchInfo,
+	Extra: SignedExtension,
 {
 	fn get_dispatch_info(&self) -> DispatchInfo {
 		self.function.get_dispatch_info()
@@ -380,7 +380,7 @@ where
 }
 
 /// Implementation for checked extrinsic.
-impl<AccountId, Call, Extension> GetDispatchInfo for CheckedExtrinsic<AccountId, Call, Extension>
+impl<AccountId, Call, Extra> GetDispatchInfo for CheckedExtrinsic<AccountId, Call, Extra>
 where
 	Call: GetDispatchInfo,
 {
@@ -389,6 +389,21 @@ where
 	}
 }
 
+/// Implementation for test extrinsic.
+#[cfg(feature = "std")]
+impl<Call: Encode + GetDispatchInfo, Extra: Encode> GetDispatchInfo
+	for sp_runtime::testing::TestXt<Call, Extra>
+{
+	fn get_dispatch_info(&self) -> DispatchInfo {
+		// for testing: weight == size.
+		DispatchInfo {
+			weight: Weight::from_parts(self.encode().len() as _, 0),
+			pays_fee: Pays::Yes,
+			class: self.call.get_dispatch_info().class,
+		}
+	}
+}
+
 /// A struct holding value for each `DispatchClass`.
 #[derive(Clone, Eq, PartialEq, Default, Debug, Encode, Decode, TypeInfo, MaxEncodedLen)]
 pub struct PerDispatchClass<T> {
diff --git a/substrate/frame/support/src/lib.rs b/substrate/frame/support/src/lib.rs
index af8449c9697..4eadd85a9e0 100644
--- a/substrate/frame/support/src/lib.rs
+++ b/substrate/frame/support/src/lib.rs
@@ -54,8 +54,7 @@ pub mod __private {
 	#[cfg(feature = "std")]
 	pub use sp_runtime::{bounded_btree_map, bounded_vec};
 	pub use sp_runtime::{
-		traits::{AsSystemOriginSigner, Dispatchable},
-		DispatchError, RuntimeDebug, StateVersion, TransactionOutcome,
+		traits::Dispatchable, DispatchError, RuntimeDebug, StateVersion, TransactionOutcome,
 	};
 	#[cfg(feature = "std")]
 	pub use sp_state_machine::BasicExternalities;
@@ -76,7 +75,6 @@ pub mod storage;
 #[cfg(test)]
 mod tests;
 pub mod traits;
-pub mod transaction_extensions;
 pub mod weights;
 #[doc(hidden)]
 pub mod unsigned {
@@ -1586,8 +1584,8 @@ pub mod pallet_macros {
 	/// [`ValidateUnsigned`](frame_support::pallet_prelude::ValidateUnsigned) for
 	/// type `Pallet<T>`, and some optional where clause.
 	///
-	/// NOTE: There is also the [`sp_runtime::traits::TransactionExtension`] trait that can be
-	/// used to add some specific logic for transaction validation.
+	/// NOTE: There is also the [`sp_runtime::traits::SignedExtension`] trait that can be used
+	/// to add some specific logic for transaction validation.
 	///
 	/// ## Macro expansion
 	///
diff --git a/substrate/frame/support/src/traits/dispatch.rs b/substrate/frame/support/src/traits/dispatch.rs
index 212c3080352..de50ce7a26c 100644
--- a/substrate/frame/support/src/traits/dispatch.rs
+++ b/substrate/frame/support/src/traits/dispatch.rs
@@ -482,7 +482,7 @@ pub trait OriginTrait: Sized {
 	type Call;
 
 	/// The caller origin, overarching type of all pallets origins.
-	type PalletsOrigin: Send + Sync + Into<Self> + CallerTrait<Self::AccountId> + MaxEncodedLen;
+	type PalletsOrigin: Into<Self> + CallerTrait<Self::AccountId> + MaxEncodedLen;
 
 	/// The AccountId used across the system.
 	type AccountId;
@@ -496,14 +496,6 @@ pub trait OriginTrait: Sized {
 	/// Replace the caller with caller from the other origin
 	fn set_caller_from(&mut self, other: impl Into<Self>);
 
-	/// Replace the caller with caller from the other origin
-	fn set_caller(&mut self, caller: Self::PalletsOrigin);
-
-	/// Replace the caller with caller from the other origin
-	fn set_caller_from_signed(&mut self, caller_account: Self::AccountId) {
-		self.set_caller(Self::PalletsOrigin::from(RawOrigin::Signed(caller_account)))
-	}
-
 	/// Filter the call if caller is not root, if false is returned then the call must be filtered
 	/// out.
 	///
@@ -552,17 +544,6 @@ pub trait OriginTrait: Sized {
 	fn as_system_ref(&self) -> Option<&RawOrigin<Self::AccountId>> {
 		self.caller().as_system_ref()
 	}
-
-	/// Extract a reference to the sytsem signer, if that's what the caller is.
-	fn as_system_signer(&self) -> Option<&Self::AccountId> {
-		self.caller().as_system_ref().and_then(|s| {
-			if let RawOrigin::Signed(ref who) = s {
-				Some(who)
-			} else {
-				None
-			}
-		})
-	}
 }
 
 #[cfg(test)]
diff --git a/substrate/frame/support/src/traits/misc.rs b/substrate/frame/support/src/traits/misc.rs
index fba546ce21b..1f634a64282 100644
--- a/substrate/frame/support/src/traits/misc.rs
+++ b/substrate/frame/support/src/traits/misc.rs
@@ -919,13 +919,24 @@ pub trait ExtrinsicCall: sp_runtime::traits::Extrinsic {
 	fn call(&self) -> &Self::Call;
 }
 
+#[cfg(feature = "std")]
+impl<Call, Extra> ExtrinsicCall for sp_runtime::testing::TestXt<Call, Extra>
+where
+	Call: codec::Codec + Sync + Send + TypeInfo,
+	Extra: TypeInfo,
+{
+	fn call(&self) -> &Self::Call {
+		&self.call
+	}
+}
+
 impl<Address, Call, Signature, Extra> ExtrinsicCall
 	for sp_runtime::generic::UncheckedExtrinsic<Address, Call, Signature, Extra>
 where
 	Address: TypeInfo,
 	Call: TypeInfo,
 	Signature: TypeInfo,
-	Extra: TypeInfo,
+	Extra: sp_runtime::traits::SignedExtension + TypeInfo,
 {
 	fn call(&self) -> &Self::Call {
 		&self.function
diff --git a/substrate/frame/support/src/transaction_extensions.rs b/substrate/frame/support/src/transaction_extensions.rs
deleted file mode 100644
index 98d78b9b4e4..00000000000
--- a/substrate/frame/support/src/transaction_extensions.rs
+++ /dev/null
@@ -1,89 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Transaction extensions.
-
-use crate::{CloneNoBound, EqNoBound, PartialEqNoBound, RuntimeDebugNoBound};
-use codec::{Decode, Encode};
-use scale_info::TypeInfo;
-use sp_io::hashing::blake2_256;
-use sp_runtime::{
-	impl_tx_ext_default,
-	traits::{
-		transaction_extension::{TransactionExtensionBase, TransactionExtensionInterior},
-		DispatchInfoOf, Dispatchable, IdentifyAccount, TransactionExtension, Verify,
-	},
-	transaction_validity::{InvalidTransaction, TransactionValidityError, ValidTransaction},
-};
-
-#[derive(
-	CloneNoBound, EqNoBound, PartialEqNoBound, Encode, Decode, RuntimeDebugNoBound, TypeInfo,
-)]
-#[codec(encode_bound())]
-#[codec(decode_bound())]
-pub struct VerifyMultiSignature<V: Verify>
-where
-	V: TransactionExtensionInterior,
-	<V::Signer as IdentifyAccount>::AccountId: TransactionExtensionInterior,
-{
-	signature: V,
-	account: <V::Signer as IdentifyAccount>::AccountId,
-}
-
-impl<V: Verify> TransactionExtensionBase for VerifyMultiSignature<V>
-where
-	V: TransactionExtensionInterior,
-	<V::Signer as IdentifyAccount>::AccountId: TransactionExtensionInterior,
-{
-	const IDENTIFIER: &'static str = "VerifyMultiSignature";
-	type Implicit = ();
-}
-
-impl<V: Verify, Call: Dispatchable + Encode, Context> TransactionExtension<Call, Context>
-	for VerifyMultiSignature<V>
-where
-	V: TransactionExtensionInterior,
-	<V::Signer as IdentifyAccount>::AccountId: TransactionExtensionInterior,
-	<Call as Dispatchable>::RuntimeOrigin: From<Option<<V::Signer as IdentifyAccount>::AccountId>>,
-{
-	type Val = ();
-	type Pre = ();
-	impl_tx_ext_default!(Call; Context; prepare);
-
-	fn validate(
-		&self,
-		_origin: <Call as Dispatchable>::RuntimeOrigin,
-		_call: &Call,
-		_info: &DispatchInfoOf<Call>,
-		_len: usize,
-		_: &mut Context,
-		_: (),
-		inherited_implication: &impl Encode,
-	) -> Result<
-		(ValidTransaction, Self::Val, <Call as Dispatchable>::RuntimeOrigin),
-		TransactionValidityError,
-	> {
-		let msg = inherited_implication.using_encoded(blake2_256);
-
-		if !self.signature.verify(&msg[..], &self.account) {
-			Err(InvalidTransaction::BadProof)?
-		}
-		// We clobber the original origin. Maybe we shuld check that it's none?
-		let origin = Some(self.account.clone()).into();
-		Ok((ValidTransaction::default(), (), origin))
-	}
-}
diff --git a/substrate/frame/support/src/weights/block_weights.rs b/substrate/frame/support/src/weights/block_weights.rs
index 647b6198357..57a68554755 100644
--- a/substrate/frame/support/src/weights/block_weights.rs
+++ b/substrate/frame/support/src/weights/block_weights.rs
@@ -15,23 +15,24 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01 (Y/M/D)
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16 (Y/M/D)
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //!
 //! SHORT-NAME: `block`, LONG-NAME: `BlockExecution`, RUNTIME: `Development`
 //! WARMUPS: `10`, REPEAT: `100`
-//! WEIGHT-PATH: `./substrate/frame/support/src/weights/`
+//! WEIGHT-PATH: `./frame/support/src/weights/`
 //! WEIGHT-METRIC: `Average`, WEIGHT-MUL: `1.0`, WEIGHT-ADD: `0`
 
 // Executed Command:
-//   ./target/production/substrate-node
+//   ./target/production/substrate
 //   benchmark
 //   overhead
 //   --chain=dev
+//   --execution=wasm
 //   --wasm-execution=compiled
-//   --weight-path=./substrate/frame/support/src/weights/
-//   --header=./substrate/HEADER-APACHE2
+//   --weight-path=./frame/support/src/weights/
+//   --header=./HEADER-APACHE2
 //   --warmup=10
 //   --repeat=100
 
@@ -43,17 +44,17 @@ parameter_types! {
 	/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
 	///
 	/// Stats nanoseconds:
-	///   Min, Max: 424_332, 493_017
-	///   Average:  437_118
-	///   Median:   434_920
-	///   Std-Dev:  8798.01
+	///   Min, Max: 376_949, 622_462
+	///   Average:  390_584
+	///   Median:   386_322
+	///   Std-Dev:  24792.0
 	///
 	/// Percentiles nanoseconds:
-	///   99th: 460_074
-	///   95th: 451_580
-	///   75th: 440_307
+	///   99th: 433_299
+	///   95th: 402_688
+	///   75th: 391_645
 	pub const BlockExecutionWeight: Weight =
-		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(437_118), 0);
+		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(390_584), 0);
 }
 
 #[cfg(test)]
diff --git a/substrate/frame/support/src/weights/extrinsic_weights.rs b/substrate/frame/support/src/weights/extrinsic_weights.rs
index 99b392c4369..a304f089ff7 100644
--- a/substrate/frame/support/src/weights/extrinsic_weights.rs
+++ b/substrate/frame/support/src/weights/extrinsic_weights.rs
@@ -15,23 +15,24 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01 (Y/M/D)
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16 (Y/M/D)
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //!
 //! SHORT-NAME: `extrinsic`, LONG-NAME: `ExtrinsicBase`, RUNTIME: `Development`
 //! WARMUPS: `10`, REPEAT: `100`
-//! WEIGHT-PATH: `./substrate/frame/support/src/weights/`
+//! WEIGHT-PATH: `./frame/support/src/weights/`
 //! WEIGHT-METRIC: `Average`, WEIGHT-MUL: `1.0`, WEIGHT-ADD: `0`
 
 // Executed Command:
-//   ./target/production/substrate-node
+//   ./target/production/substrate
 //   benchmark
 //   overhead
 //   --chain=dev
+//   --execution=wasm
 //   --wasm-execution=compiled
-//   --weight-path=./substrate/frame/support/src/weights/
-//   --header=./substrate/HEADER-APACHE2
+//   --weight-path=./frame/support/src/weights/
+//   --header=./HEADER-APACHE2
 //   --warmup=10
 //   --repeat=100
 
@@ -43,17 +44,17 @@ parameter_types! {
 	/// Calculated by multiplying the *Average* with `1.0` and adding `0`.
 	///
 	/// Stats nanoseconds:
-	///   Min, Max: 106_053, 107_403
-	///   Average:  106_446
-	///   Median:   106_415
-	///   Std-Dev:  216.17
+	///   Min, Max: 123_875, 128_419
+	///   Average:  124_414
+	///   Median:   124_332
+	///   Std-Dev:  497.74
 	///
 	/// Percentiles nanoseconds:
-	///   99th: 107_042
-	///   95th: 106_841
-	///   75th: 106_544
+	///   99th: 125_245
+	///   95th: 124_989
+	///   75th: 124_498
 	pub const ExtrinsicBaseWeight: Weight =
-		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(106_446), 0);
+		Weight::from_parts(WEIGHT_REF_TIME_PER_NANOS.saturating_mul(124_414), 0);
 }
 
 #[cfg(test)]
diff --git a/substrate/frame/support/test/tests/construct_runtime_ui/deprecated_where_block.stderr b/substrate/frame/support/test/tests/construct_runtime_ui/deprecated_where_block.stderr
index c677ddcd672..09c4d290ef5 100644
--- a/substrate/frame/support/test/tests/construct_runtime_ui/deprecated_where_block.stderr
+++ b/substrate/frame/support/test/tests/construct_runtime_ui/deprecated_where_block.stderr
@@ -477,7 +477,7 @@ note: required because it appears within the type `RuntimeCall`
    | ||_- in this macro invocation
 ...  |
 note: required by a bound in `frame_support::sp_runtime::traits::Dispatchable::Config`
-  --> $WORKSPACE/substrate/primitives/runtime/src/traits/mod.rs
+  --> $WORKSPACE/substrate/primitives/runtime/src/traits.rs
    |
    |     type Config;
    |     ^^^^^^^^^^^^ required by this bound in `Dispatchable::Config`
@@ -510,7 +510,7 @@ note: required because it appears within the type `RuntimeCall`
    | ||_- in this macro invocation
 ...  |
 note: required by a bound in `frame_support::pallet_prelude::ValidateUnsigned::Call`
-  --> $WORKSPACE/substrate/primitives/runtime/src/traits/mod.rs
+  --> $WORKSPACE/substrate/primitives/runtime/src/traits.rs
    |
    |     type Call;
    |     ^^^^^^^^^^ required by this bound in `ValidateUnsigned::Call`
diff --git a/substrate/frame/support/test/tests/pallet.rs b/substrate/frame/support/test/tests/pallet.rs
index 4d2737d411e..607f54ccc13 100644
--- a/substrate/frame/support/test/tests/pallet.rs
+++ b/substrate/frame/support/test/tests/pallet.rs
@@ -743,40 +743,10 @@ impl pallet5::Config for Runtime {
 	type RuntimeOrigin = RuntimeOrigin;
 }
 
-#[derive(Clone, Debug, codec::Encode, codec::Decode, PartialEq, Eq, scale_info::TypeInfo)]
-pub struct AccountU64(u64);
-impl sp_runtime::traits::IdentifyAccount for AccountU64 {
-	type AccountId = u64;
-	fn into_account(self) -> u64 {
-		self.0
-	}
-}
-
-impl sp_runtime::traits::Verify for AccountU64 {
-	type Signer = AccountU64;
-	fn verify<L: sp_runtime::traits::Lazy<[u8]>>(
-		&self,
-		_msg: L,
-		_signer: &<Self::Signer as sp_runtime::traits::IdentifyAccount>::AccountId,
-	) -> bool {
-		true
-	}
-}
-
-impl From<u64> for AccountU64 {
-	fn from(value: u64) -> Self {
-		Self(value)
-	}
-}
-
 pub type Header = sp_runtime::generic::Header<u32, sp_runtime::traits::BlakeTwo256>;
 pub type Block = sp_runtime::generic::Block<Header, UncheckedExtrinsic>;
-pub type UncheckedExtrinsic = sp_runtime::generic::UncheckedExtrinsic<
-	u64,
-	RuntimeCall,
-	AccountU64,
-	frame_system::CheckNonZeroSender<Runtime>,
->;
+pub type UncheckedExtrinsic =
+	sp_runtime::testing::TestXt<RuntimeCall, frame_system::CheckNonZeroSender<Runtime>>;
 
 frame_support::construct_runtime!(
 	pub struct Runtime {
@@ -926,8 +896,10 @@ fn inherent_expand() {
 
 	let inherents = InherentData::new().create_extrinsics();
 
-	let expected =
-		vec![UncheckedExtrinsic::new_bare(RuntimeCall::Example(pallet::Call::foo_no_post_info {}))];
+	let expected = vec![UncheckedExtrinsic {
+		call: RuntimeCall::Example(pallet::Call::foo_no_post_info {}),
+		signature: None,
+	}];
 	assert_eq!(expected, inherents);
 
 	let block = Block::new(
@@ -939,11 +911,14 @@ fn inherent_expand() {
 			Digest::default(),
 		),
 		vec![
-			UncheckedExtrinsic::new_bare(RuntimeCall::Example(pallet::Call::foo_no_post_info {})),
-			UncheckedExtrinsic::new_bare(RuntimeCall::Example(pallet::Call::foo {
-				foo: 1,
-				bar: 0,
-			})),
+			UncheckedExtrinsic {
+				call: RuntimeCall::Example(pallet::Call::foo_no_post_info {}),
+				signature: None,
+			},
+			UncheckedExtrinsic {
+				call: RuntimeCall::Example(pallet::Call::foo { foo: 1, bar: 0 }),
+				signature: None,
+			},
 		],
 	);
 
@@ -958,11 +933,14 @@ fn inherent_expand() {
 			Digest::default(),
 		),
 		vec![
-			UncheckedExtrinsic::new_bare(RuntimeCall::Example(pallet::Call::foo_no_post_info {})),
-			UncheckedExtrinsic::new_bare(RuntimeCall::Example(pallet::Call::foo {
-				foo: 0,
-				bar: 0,
-			})),
+			UncheckedExtrinsic {
+				call: RuntimeCall::Example(pallet::Call::foo_no_post_info {}),
+				signature: None,
+			},
+			UncheckedExtrinsic {
+				call: RuntimeCall::Example(pallet::Call::foo { foo: 0, bar: 0 }),
+				signature: None,
+			},
 		],
 	);
 
@@ -976,9 +954,10 @@ fn inherent_expand() {
 			BlakeTwo256::hash(b"test"),
 			Digest::default(),
 		),
-		vec![UncheckedExtrinsic::new_bare(RuntimeCall::Example(pallet::Call::foo_storage_layer {
-			foo: 0,
-		}))],
+		vec![UncheckedExtrinsic {
+			call: RuntimeCall::Example(pallet::Call::foo_storage_layer { foo: 0 }),
+			signature: None,
+		}],
 	);
 
 	let mut inherent = InherentData::new();
@@ -993,12 +972,10 @@ fn inherent_expand() {
 			BlakeTwo256::hash(b"test"),
 			Digest::default(),
 		),
-		vec![UncheckedExtrinsic::new_signed(
-			RuntimeCall::Example(pallet::Call::foo_no_post_info {}),
-			1,
-			1.into(),
-			Default::default(),
-		)],
+		vec![UncheckedExtrinsic {
+			call: RuntimeCall::Example(pallet::Call::foo_no_post_info {}),
+			signature: Some((1, Default::default())),
+		}],
 	);
 
 	let mut inherent = InherentData::new();
@@ -1014,13 +991,14 @@ fn inherent_expand() {
 			Digest::default(),
 		),
 		vec![
-			UncheckedExtrinsic::new_bare(RuntimeCall::Example(pallet::Call::foo {
-				foo: 1,
-				bar: 1,
-			})),
-			UncheckedExtrinsic::new_bare(RuntimeCall::Example(pallet::Call::foo_storage_layer {
-				foo: 0,
-			})),
+			UncheckedExtrinsic {
+				call: RuntimeCall::Example(pallet::Call::foo { foo: 1, bar: 1 }),
+				signature: None,
+			},
+			UncheckedExtrinsic {
+				call: RuntimeCall::Example(pallet::Call::foo_storage_layer { foo: 0 }),
+				signature: None,
+			},
 		],
 	);
 
@@ -1035,14 +1013,18 @@ fn inherent_expand() {
 			Digest::default(),
 		),
 		vec![
-			UncheckedExtrinsic::new_bare(RuntimeCall::Example(pallet::Call::foo {
-				foo: 1,
-				bar: 1,
-			})),
-			UncheckedExtrinsic::new_bare(RuntimeCall::Example(pallet::Call::foo_storage_layer {
-				foo: 0,
-			})),
-			UncheckedExtrinsic::new_bare(RuntimeCall::Example(pallet::Call::foo_no_post_info {})),
+			UncheckedExtrinsic {
+				call: RuntimeCall::Example(pallet::Call::foo { foo: 1, bar: 1 }),
+				signature: None,
+			},
+			UncheckedExtrinsic {
+				call: RuntimeCall::Example(pallet::Call::foo_storage_layer { foo: 0 }),
+				signature: None,
+			},
+			UncheckedExtrinsic {
+				call: RuntimeCall::Example(pallet::Call::foo_no_post_info {}),
+				signature: None,
+			},
 		],
 	);
 
@@ -1057,17 +1039,18 @@ fn inherent_expand() {
 			Digest::default(),
 		),
 		vec![
-			UncheckedExtrinsic::new_bare(RuntimeCall::Example(pallet::Call::foo {
-				foo: 1,
-				bar: 1,
-			})),
-			UncheckedExtrinsic::new_signed(
-				RuntimeCall::Example(pallet::Call::foo { foo: 1, bar: 0 }),
-				1,
-				1.into(),
-				Default::default(),
-			),
-			UncheckedExtrinsic::new_bare(RuntimeCall::Example(pallet::Call::foo_no_post_info {})),
+			UncheckedExtrinsic {
+				call: RuntimeCall::Example(pallet::Call::foo { foo: 1, bar: 1 }),
+				signature: None,
+			},
+			UncheckedExtrinsic {
+				call: RuntimeCall::Example(pallet::Call::foo { foo: 1, bar: 0 }),
+				signature: Some((1, Default::default())),
+			},
+			UncheckedExtrinsic {
+				call: RuntimeCall::Example(pallet::Call::foo_no_post_info {}),
+				signature: None,
+			},
 		],
 	);
 
@@ -1950,7 +1933,7 @@ fn extrinsic_metadata_ir_types() {
 		>(),
 		ir.signature_ty
 	);
-	assert_eq!(meta_type::<AccountU64>(), ir.signature_ty);
+	assert_eq!(meta_type::<()>(), ir.signature_ty);
 
 	assert_eq!(meta_type::<<<UncheckedExtrinsic as ExtrinsicT>::SignaturePayload as SignaturePayloadT>::SignatureExtra>(), ir.extra_ty);
 	assert_eq!(meta_type::<frame_system::CheckNonZeroSender<Runtime>>(), ir.extra_ty);
diff --git a/substrate/frame/support/test/tests/pallet_instance.rs b/substrate/frame/support/test/tests/pallet_instance.rs
index 505400a7c21..f8cc97623b8 100644
--- a/substrate/frame/support/test/tests/pallet_instance.rs
+++ b/substrate/frame/support/test/tests/pallet_instance.rs
@@ -943,7 +943,7 @@ fn metadata() {
 		ty: scale_info::meta_type::<UncheckedExtrinsic>(),
 		version: 4,
 		signed_extensions: vec![SignedExtensionMetadata {
-			identifier: "UnitTransactionExtension",
+			identifier: "UnitSignedExtension",
 			ty: scale_info::meta_type::<()>(),
 			additional_signed: scale_info::meta_type::<()>(),
 		}],
diff --git a/substrate/frame/support/test/tests/runtime.rs b/substrate/frame/support/test/tests/runtime.rs
index 7e33ee46458..115e3aa4c8a 100644
--- a/substrate/frame/support/test/tests/runtime.rs
+++ b/substrate/frame/support/test/tests/runtime.rs
@@ -895,7 +895,7 @@ fn test_metadata() {
 		ty: meta_type::<UncheckedExtrinsic>(),
 		version: 4,
 		signed_extensions: vec![SignedExtensionMetadata {
-			identifier: "UnitTransactionExtension",
+			identifier: "UnitSignedExtension",
 			ty: meta_type::<()>(),
 			additional_signed: meta_type::<()>(),
 		}],
diff --git a/substrate/frame/support/test/tests/runtime_legacy_ordering.rs b/substrate/frame/support/test/tests/runtime_legacy_ordering.rs
index 38875517018..4c7012dca14 100644
--- a/substrate/frame/support/test/tests/runtime_legacy_ordering.rs
+++ b/substrate/frame/support/test/tests/runtime_legacy_ordering.rs
@@ -752,7 +752,7 @@ fn test_metadata() {
 					name: "Version",
 					ty: meta_type::<RuntimeVersion>(),
 					value: RuntimeVersion::default().encode(),
-					docs: maybe_docs(vec![ " Get the chain's current version."]),
+					docs: maybe_docs(vec![ " Get the chain's in-code version."]),
 				},
 				PalletConstantMetadata {
 					name: "SS58Prefix",
@@ -895,7 +895,7 @@ fn test_metadata() {
 		ty: meta_type::<UncheckedExtrinsic>(),
 		version: 4,
 		signed_extensions: vec![SignedExtensionMetadata {
-			identifier: "UnitTransactionExtension",
+			identifier: "UnitSignedExtension",
 			ty: meta_type::<()>(),
 			additional_signed: meta_type::<()>(),
 		}],
diff --git a/substrate/frame/system/benchmarking/src/extensions.rs b/substrate/frame/system/benchmarking/src/extensions.rs
deleted file mode 100644
index bfc3b4343a6..00000000000
--- a/substrate/frame/system/benchmarking/src/extensions.rs
+++ /dev/null
@@ -1,213 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// Benchmarks for System Extensions
-
-#![cfg(feature = "runtime-benchmarks")]
-
-use frame_benchmarking::{account, v2::*, BenchmarkError};
-use frame_support::{
-	dispatch::{DispatchClass, DispatchInfo, PostDispatchInfo},
-	weights::Weight,
-};
-use frame_system::{
-	pallet_prelude::*, CheckGenesis, CheckMortality, CheckNonZeroSender, CheckNonce,
-	CheckSpecVersion, CheckTxVersion, CheckWeight, Config, Pallet as System, RawOrigin,
-};
-use sp_runtime::{
-	generic::Era,
-	traits::{AsSystemOriginSigner, DispatchTransaction, Dispatchable, Get},
-};
-use sp_std::prelude::*;
-
-pub struct Pallet<T: Config>(System<T>);
-
-#[benchmarks(where
-	T: Send + Sync,
-    T::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
-	<T::RuntimeCall as Dispatchable>::RuntimeOrigin: AsSystemOriginSigner<T::AccountId> + Clone)
-]
-mod benchmarks {
-	use super::*;
-
-	#[benchmark]
-	fn check_genesis() -> Result<(), BenchmarkError> {
-		let len = 0_usize;
-		let caller = account("caller", 0, 0);
-		let info = DispatchInfo { weight: Weight::zero(), ..Default::default() };
-		let call: T::RuntimeCall = frame_system::Call::remark { remark: vec![] }.into();
-
-		#[block]
-		{
-			CheckGenesis::<T>::new()
-				.test_run(RawOrigin::Signed(caller).into(), &call, &info, len, |_| Ok(().into()))
-				.unwrap()
-				.unwrap();
-		}
-
-		Ok(())
-	}
-
-	#[benchmark]
-	fn check_mortality() -> Result<(), BenchmarkError> {
-		let len = 0_usize;
-		let ext = CheckMortality::<T>::from(Era::mortal(16, 256));
-		let block_number: BlockNumberFor<T> = 17u32.into();
-		System::<T>::set_block_number(block_number);
-		let prev_block: BlockNumberFor<T> = 16u32.into();
-		let default_hash: T::Hash = Default::default();
-		frame_system::BlockHash::<T>::insert(prev_block, default_hash);
-		let caller = account("caller", 0, 0);
-		let info = DispatchInfo {
-			weight: Weight::from_parts(100, 0),
-			class: DispatchClass::Normal,
-			..Default::default()
-		};
-		let call: T::RuntimeCall = frame_system::Call::remark { remark: vec![] }.into();
-
-		#[block]
-		{
-			ext.test_run(RawOrigin::Signed(caller).into(), &call, &info, len, |_| Ok(().into()))
-				.unwrap()
-				.unwrap();
-		}
-		Ok(())
-	}
-
-	#[benchmark]
-	fn check_non_zero_sender() -> Result<(), BenchmarkError> {
-		let len = 0_usize;
-		let ext = CheckNonZeroSender::<T>::new();
-		let caller = account("caller", 0, 0);
-		let info = DispatchInfo { weight: Weight::zero(), ..Default::default() };
-		let call: T::RuntimeCall = frame_system::Call::remark { remark: vec![] }.into();
-
-		#[block]
-		{
-			ext.test_run(RawOrigin::Signed(caller).into(), &call, &info, len, |_| Ok(().into()))
-				.unwrap()
-				.unwrap();
-		}
-		Ok(())
-	}
-
-	#[benchmark]
-	fn check_nonce() -> Result<(), BenchmarkError> {
-		let caller: T::AccountId = account("caller", 0, 0);
-		let mut info = frame_system::AccountInfo::default();
-		info.nonce = 1u32.into();
-		info.providers = 1;
-		let expected_nonce = info.nonce + 1u32.into();
-		frame_system::Account::<T>::insert(caller.clone(), info);
-		let len = 0_usize;
-		let ext = CheckNonce::<T>::from(1u32.into());
-		let info = DispatchInfo { weight: Weight::zero(), ..Default::default() };
-		let call: T::RuntimeCall = frame_system::Call::remark { remark: vec![] }.into();
-
-		#[block]
-		{
-			ext.test_run(RawOrigin::Signed(caller.clone()).into(), &call, &info, len, |_| {
-				Ok(().into())
-			})
-			.unwrap()
-			.unwrap();
-		}
-
-		let updated_info = frame_system::Account::<T>::get(caller.clone());
-		assert_eq!(updated_info.nonce, expected_nonce);
-		Ok(())
-	}
-
-	#[benchmark]
-	fn check_spec_version() -> Result<(), BenchmarkError> {
-		let len = 0_usize;
-		let caller = account("caller", 0, 0);
-		let info = DispatchInfo { weight: Weight::zero(), ..Default::default() };
-		let call: T::RuntimeCall = frame_system::Call::remark { remark: vec![] }.into();
-
-		#[block]
-		{
-			CheckSpecVersion::<T>::new()
-				.test_run(RawOrigin::Signed(caller).into(), &call, &info, len, |_| Ok(().into()))
-				.unwrap()
-				.unwrap();
-		}
-		Ok(())
-	}
-
-	#[benchmark]
-	fn check_tx_version() -> Result<(), BenchmarkError> {
-		let len = 0_usize;
-		let caller = account("caller", 0, 0);
-		let info = DispatchInfo { weight: Weight::zero(), ..Default::default() };
-		let call: T::RuntimeCall = frame_system::Call::remark { remark: vec![] }.into();
-
-		#[block]
-		{
-			CheckTxVersion::<T>::new()
-				.test_run(RawOrigin::Signed(caller).into(), &call, &info, len, |_| Ok(().into()))
-				.unwrap()
-				.unwrap();
-		}
-		Ok(())
-	}
-
-	#[benchmark]
-	fn check_weight() -> Result<(), BenchmarkError> {
-		let caller = account("caller", 0, 0);
-		let base_extrinsic = <T as frame_system::Config>::BlockWeights::get()
-			.get(DispatchClass::Normal)
-			.base_extrinsic;
-		let info = DispatchInfo {
-			weight: Weight::from_parts(base_extrinsic.ref_time() * 5, 0),
-			class: DispatchClass::Normal,
-			..Default::default()
-		};
-		let call: T::RuntimeCall = frame_system::Call::remark { remark: vec![] }.into();
-		let post_info = PostDispatchInfo {
-			actual_weight: Some(Weight::from_parts(base_extrinsic.ref_time() * 2, 0)),
-			pays_fee: Default::default(),
-		};
-		let len = 0_usize;
-		let base_extrinsic = <T as frame_system::Config>::BlockWeights::get()
-			.get(DispatchClass::Normal)
-			.base_extrinsic;
-
-		let ext = CheckWeight::<T>::new();
-
-		let initial_block_weight = Weight::from_parts(base_extrinsic.ref_time() * 2, 0);
-		frame_system::BlockWeight::<T>::mutate(|current_weight| {
-			current_weight.set(Weight::zero(), DispatchClass::Mandatory);
-			current_weight.set(initial_block_weight, DispatchClass::Normal);
-		});
-
-		#[block]
-		{
-			ext.test_run(RawOrigin::Signed(caller).into(), &call, &info, len, |_| Ok(post_info))
-				.unwrap()
-				.unwrap();
-		}
-
-		assert_eq!(
-			System::<T>::block_weight().total(),
-			initial_block_weight + base_extrinsic + post_info.actual_weight.unwrap(),
-		);
-		Ok(())
-	}
-
-	impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Test,);
-}
diff --git a/substrate/frame/system/benchmarking/src/lib.rs b/substrate/frame/system/benchmarking/src/lib.rs
index c9f0869d3bc..29100faa751 100644
--- a/substrate/frame/system/benchmarking/src/lib.rs
+++ b/substrate/frame/system/benchmarking/src/lib.rs
@@ -28,7 +28,6 @@ use sp_core::storage::well_known_keys;
 use sp_runtime::traits::Hash;
 use sp_std::{prelude::*, vec};
 
-pub mod extensions;
 mod mock;
 
 pub struct Pallet<T: Config>(System<T>);
diff --git a/substrate/frame/system/benchmarking/src/mock.rs b/substrate/frame/system/benchmarking/src/mock.rs
index 1f84dd53004..edbf74a9a51 100644
--- a/substrate/frame/system/benchmarking/src/mock.rs
+++ b/substrate/frame/system/benchmarking/src/mock.rs
@@ -57,7 +57,6 @@ impl frame_system::Config for Test {
 	type OnNewAccount = ();
 	type OnKilledAccount = ();
 	type SystemWeightInfo = ();
-	type ExtensionsWeightInfo = ();
 	type SS58Prefix = ();
 	type OnSetCode = ();
 	type MaxConsumers = frame_support::traits::ConstU32<16>;
diff --git a/substrate/frame/system/src/extensions/check_genesis.rs b/substrate/frame/system/src/extensions/check_genesis.rs
index 3f11f745cd9..76a711a823e 100644
--- a/substrate/frame/system/src/extensions/check_genesis.rs
+++ b/substrate/frame/system/src/extensions/check_genesis.rs
@@ -19,8 +19,7 @@ use crate::{pallet_prelude::BlockNumberFor, Config, Pallet};
 use codec::{Decode, Encode};
 use scale_info::TypeInfo;
 use sp_runtime::{
-	impl_tx_ext_default,
-	traits::{TransactionExtension, TransactionExtensionBase, Zero},
+	traits::{DispatchInfoOf, SignedExtension, Zero},
 	transaction_validity::TransactionValidityError,
 };
 
@@ -47,26 +46,30 @@ impl<T: Config + Send + Sync> sp_std::fmt::Debug for CheckGenesis<T> {
 }
 
 impl<T: Config + Send + Sync> CheckGenesis<T> {
-	/// Creates new `TransactionExtension` to check genesis hash.
+	/// Creates new `SignedExtension` to check genesis hash.
 	pub fn new() -> Self {
 		Self(sp_std::marker::PhantomData)
 	}
 }
 
-impl<T: Config + Send + Sync> TransactionExtensionBase for CheckGenesis<T> {
+impl<T: Config + Send + Sync> SignedExtension for CheckGenesis<T> {
+	type AccountId = T::AccountId;
+	type Call = <T as Config>::RuntimeCall;
+	type AdditionalSigned = T::Hash;
+	type Pre = ();
 	const IDENTIFIER: &'static str = "CheckGenesis";
-	type Implicit = T::Hash;
-	fn implicit(&self) -> Result<Self::Implicit, TransactionValidityError> {
+
+	fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
 		Ok(<Pallet<T>>::block_hash(BlockNumberFor::<T>::zero()))
 	}
-	fn weight(&self) -> sp_weights::Weight {
-		<T::ExtensionsWeightInfo as super::WeightInfo>::check_genesis()
+
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		self.validate(who, call, info, len).map(|_| ())
 	}
 }
-impl<T: Config + Send + Sync, Context> TransactionExtension<T::RuntimeCall, Context>
-	for CheckGenesis<T>
-{
-	type Val = ();
-	type Pre = ();
-	impl_tx_ext_default!(T::RuntimeCall; Context; validate prepare);
-}
diff --git a/substrate/frame/system/src/extensions/check_mortality.rs b/substrate/frame/system/src/extensions/check_mortality.rs
index deb44880d64..148dfd4aad4 100644
--- a/substrate/frame/system/src/extensions/check_mortality.rs
+++ b/substrate/frame/system/src/extensions/check_mortality.rs
@@ -20,12 +20,10 @@ use codec::{Decode, Encode};
 use scale_info::TypeInfo;
 use sp_runtime::{
 	generic::Era,
-	impl_tx_ext_default,
-	traits::{
-		DispatchInfoOf, SaturatedConversion, TransactionExtension, TransactionExtensionBase,
-		ValidateResult,
+	traits::{DispatchInfoOf, SaturatedConversion, SignedExtension},
+	transaction_validity::{
+		InvalidTransaction, TransactionValidity, TransactionValidityError, ValidTransaction,
 	},
-	transaction_validity::{InvalidTransaction, TransactionValidityError, ValidTransaction},
 };
 
 /// Check for transaction mortality.
@@ -56,11 +54,29 @@ impl<T: Config + Send + Sync> sp_std::fmt::Debug for CheckMortality<T> {
 	}
 }
 
-impl<T: Config + Send + Sync> TransactionExtensionBase for CheckMortality<T> {
+impl<T: Config + Send + Sync> SignedExtension for CheckMortality<T> {
+	type AccountId = T::AccountId;
+	type Call = T::RuntimeCall;
+	type AdditionalSigned = T::Hash;
+	type Pre = ();
 	const IDENTIFIER: &'static str = "CheckMortality";
-	type Implicit = T::Hash;
 
-	fn implicit(&self) -> Result<Self::Implicit, TransactionValidityError> {
+	fn validate(
+		&self,
+		_who: &Self::AccountId,
+		_call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
+		_len: usize,
+	) -> TransactionValidity {
+		let current_u64 = <Pallet<T>>::block_number().saturated_into::<u64>();
+		let valid_till = self.0.death(current_u64);
+		Ok(ValidTransaction {
+			longevity: valid_till.saturating_sub(current_u64),
+			..Default::default()
+		})
+	}
+
+	fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
 		let current_u64 = <Pallet<T>>::block_number().saturated_into::<u64>();
 		let n = self.0.birth(current_u64).saturated_into::<BlockNumberFor<T>>();
 		if !<BlockHash<T>>::contains_key(n) {
@@ -69,38 +85,16 @@ impl<T: Config + Send + Sync> TransactionExtensionBase for CheckMortality<T> {
 			Ok(<Pallet<T>>::block_hash(n))
 		}
 	}
-	fn weight(&self) -> sp_weights::Weight {
-		<T::ExtensionsWeightInfo as super::WeightInfo>::check_mortality()
-	}
-}
-impl<T: Config + Send + Sync, Context> TransactionExtension<T::RuntimeCall, Context>
-	for CheckMortality<T>
-{
-	type Pre = ();
-	type Val = ();
 
-	fn validate(
-		&self,
-		origin: <T as Config>::RuntimeOrigin,
-		_call: &T::RuntimeCall,
-		_info: &DispatchInfoOf<T::RuntimeCall>,
-		_len: usize,
-		_context: &mut Context,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> ValidateResult<Self::Val, T::RuntimeCall> {
-		let current_u64 = <Pallet<T>>::block_number().saturated_into::<u64>();
-		let valid_till = self.0.death(current_u64);
-		Ok((
-			ValidTransaction {
-				longevity: valid_till.saturating_sub(current_u64),
-				..Default::default()
-			},
-			(),
-			origin,
-		))
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		self.validate(who, call, info, len).map(|_| ())
 	}
-	impl_tx_ext_default!(T::RuntimeCall; Context; prepare);
 }
 
 #[cfg(test)]
@@ -112,21 +106,23 @@ mod tests {
 		weights::Weight,
 	};
 	use sp_core::H256;
-	use sp_runtime::traits::DispatchTransaction;
 
 	#[test]
 	fn signed_ext_check_era_should_work() {
 		new_test_ext().execute_with(|| {
 			// future
 			assert_eq!(
-				CheckMortality::<Test>::from(Era::mortal(4, 2)).implicit().err().unwrap(),
+				CheckMortality::<Test>::from(Era::mortal(4, 2))
+					.additional_signed()
+					.err()
+					.unwrap(),
 				InvalidTransaction::AncientBirthBlock.into(),
 			);
 
 			// correct
 			System::set_block_number(13);
 			<BlockHash<Test>>::insert(12, H256::repeat_byte(1));
-			assert!(CheckMortality::<Test>::from(Era::mortal(4, 12)).implicit().is_ok());
+			assert!(CheckMortality::<Test>::from(Era::mortal(4, 12)).additional_signed().is_ok());
 		})
 	}
 
@@ -146,10 +142,7 @@ mod tests {
 			System::set_block_number(17);
 			<BlockHash<Test>>::insert(16, H256::repeat_byte(1));
 
-			assert_eq!(
-				ext.validate_only(Some(1).into(), CALL, &normal, len).unwrap().0.longevity,
-				15
-			);
+			assert_eq!(ext.validate(&1, CALL, &normal, len).unwrap().longevity, 15);
 		})
 	}
 }
diff --git a/substrate/frame/system/src/extensions/check_non_zero_sender.rs b/substrate/frame/system/src/extensions/check_non_zero_sender.rs
index 115ffac9b03..92eed60fc66 100644
--- a/substrate/frame/system/src/extensions/check_non_zero_sender.rs
+++ b/substrate/frame/system/src/extensions/check_non_zero_sender.rs
@@ -17,14 +17,13 @@
 
 use crate::Config;
 use codec::{Decode, Encode};
-use frame_support::{traits::OriginTrait, DefaultNoBound};
+use frame_support::{dispatch::DispatchInfo, DefaultNoBound};
 use scale_info::TypeInfo;
 use sp_runtime::{
-	impl_tx_ext_default,
-	traits::{
-		transaction_extension::TransactionExtensionBase, DispatchInfoOf, TransactionExtension,
+	traits::{DispatchInfoOf, Dispatchable, SignedExtension},
+	transaction_validity::{
+		InvalidTransaction, TransactionValidity, TransactionValidityError, ValidTransaction,
 	},
-	transaction_validity::InvalidTransaction,
 };
 use sp_std::{marker::PhantomData, prelude::*};
 
@@ -46,82 +45,66 @@ impl<T: Config + Send + Sync> sp_std::fmt::Debug for CheckNonZeroSender<T> {
 }
 
 impl<T: Config + Send + Sync> CheckNonZeroSender<T> {
-	/// Create new `TransactionExtension` to check runtime version.
+	/// Create new `SignedExtension` to check runtime version.
 	pub fn new() -> Self {
 		Self(sp_std::marker::PhantomData)
 	}
 }
 
-impl<T: Config + Send + Sync> TransactionExtensionBase for CheckNonZeroSender<T> {
-	const IDENTIFIER: &'static str = "CheckNonZeroSender";
-	type Implicit = ();
-	fn weight(&self) -> sp_weights::Weight {
-		<T::ExtensionsWeightInfo as super::WeightInfo>::check_non_zero_sender()
-	}
-}
-impl<T: Config + Send + Sync, Context> TransactionExtension<T::RuntimeCall, Context>
-	for CheckNonZeroSender<T>
+impl<T: Config + Send + Sync> SignedExtension for CheckNonZeroSender<T>
+where
+	T::RuntimeCall: Dispatchable<Info = DispatchInfo>,
 {
-	type Val = ();
+	type AccountId = T::AccountId;
+	type Call = T::RuntimeCall;
+	type AdditionalSigned = ();
 	type Pre = ();
+	const IDENTIFIER: &'static str = "CheckNonZeroSender";
+
+	fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> {
+		Ok(())
+	}
+
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		self.validate(who, call, info, len).map(|_| ())
+	}
+
 	fn validate(
 		&self,
-		origin: <T as Config>::RuntimeOrigin,
-		_call: &T::RuntimeCall,
-		_info: &DispatchInfoOf<T::RuntimeCall>,
+		who: &Self::AccountId,
+		_call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
 		_len: usize,
-		_context: &mut Context,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> sp_runtime::traits::ValidateResult<Self::Val, T::RuntimeCall> {
-		if let Some(who) = origin.as_system_signer() {
-			if who.using_encoded(|d| d.iter().all(|x| *x == 0)) {
-				return Err(InvalidTransaction::BadSigner.into())
-			}
+	) -> TransactionValidity {
+		if who.using_encoded(|d| d.iter().all(|x| *x == 0)) {
+			return Err(TransactionValidityError::Invalid(InvalidTransaction::BadSigner))
 		}
-		Ok((Default::default(), (), origin))
+		Ok(ValidTransaction::default())
 	}
-	impl_tx_ext_default!(T::RuntimeCall; Context; prepare);
 }
 
 #[cfg(test)]
 mod tests {
 	use super::*;
 	use crate::mock::{new_test_ext, Test, CALL};
-	use frame_support::{assert_ok, dispatch::DispatchInfo};
-	use sp_runtime::{traits::DispatchTransaction, TransactionValidityError};
+	use frame_support::{assert_noop, assert_ok};
 
 	#[test]
 	fn zero_account_ban_works() {
 		new_test_ext().execute_with(|| {
 			let info = DispatchInfo::default();
 			let len = 0_usize;
-			assert_eq!(
-				CheckNonZeroSender::<Test>::new()
-					.validate_only(Some(0).into(), CALL, &info, len)
-					.unwrap_err(),
-				TransactionValidityError::from(InvalidTransaction::BadSigner)
+			assert_noop!(
+				CheckNonZeroSender::<Test>::new().validate(&0, CALL, &info, len),
+				InvalidTransaction::BadSigner
 			);
-			assert_ok!(CheckNonZeroSender::<Test>::new().validate_only(
-				Some(1).into(),
-				CALL,
-				&info,
-				len
-			));
-		})
-	}
-
-	#[test]
-	fn unsigned_origin_works() {
-		new_test_ext().execute_with(|| {
-			let info = DispatchInfo::default();
-			let len = 0_usize;
-			assert_ok!(CheckNonZeroSender::<Test>::new().validate_only(
-				None.into(),
-				CALL,
-				&info,
-				len
-			));
+			assert_ok!(CheckNonZeroSender::<Test>::new().validate(&1, CALL, &info, len));
 		})
 	}
 }
diff --git a/substrate/frame/system/src/extensions/check_nonce.rs b/substrate/frame/system/src/extensions/check_nonce.rs
index ead9d9f7c81..7504a814aef 100644
--- a/substrate/frame/system/src/extensions/check_nonce.rs
+++ b/substrate/frame/system/src/extensions/check_nonce.rs
@@ -15,19 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-use crate::{AccountInfo, Config};
+use crate::Config;
 use codec::{Decode, Encode};
 use frame_support::dispatch::DispatchInfo;
 use scale_info::TypeInfo;
 use sp_runtime::{
-	traits::{
-		AsSystemOriginSigner, DispatchInfoOf, Dispatchable, One, TransactionExtension,
-		TransactionExtensionBase, ValidateResult, Zero,
-	},
+	traits::{DispatchInfoOf, Dispatchable, One, SignedExtension, Zero},
 	transaction_validity::{
-		InvalidTransaction, TransactionLongevity, TransactionValidityError, ValidTransaction,
+		InvalidTransaction, TransactionLongevity, TransactionValidity, TransactionValidityError,
+		ValidTransaction,
 	},
-	Saturating,
 };
 use sp_std::vec;
 
@@ -61,78 +58,75 @@ impl<T: Config> sp_std::fmt::Debug for CheckNonce<T> {
 	}
 }
 
-impl<T: Config> TransactionExtensionBase for CheckNonce<T> {
-	const IDENTIFIER: &'static str = "CheckNonce";
-	type Implicit = ();
-	fn weight(&self) -> sp_weights::Weight {
-		<T::ExtensionsWeightInfo as super::WeightInfo>::check_nonce()
-	}
-}
-impl<T: Config, Context> TransactionExtension<T::RuntimeCall, Context> for CheckNonce<T>
+impl<T: Config> SignedExtension for CheckNonce<T>
 where
 	T::RuntimeCall: Dispatchable<Info = DispatchInfo>,
-	<T::RuntimeCall as Dispatchable>::RuntimeOrigin: AsSystemOriginSigner<T::AccountId> + Clone,
 {
-	type Val = Option<(T::AccountId, AccountInfo<T::Nonce, T::AccountData>)>;
+	type AccountId = T::AccountId;
+	type Call = T::RuntimeCall;
+	type AdditionalSigned = ();
 	type Pre = ();
+	const IDENTIFIER: &'static str = "CheckNonce";
+
+	fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> {
+		Ok(())
+	}
+
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		_call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
+		_len: usize,
+	) -> Result<(), TransactionValidityError> {
+		let mut account = crate::Account::<T>::get(who);
+		if account.providers.is_zero() && account.sufficients.is_zero() {
+			// Nonce storage not paid for
+			return Err(InvalidTransaction::Payment.into())
+		}
+		if self.0 != account.nonce {
+			return Err(if self.0 < account.nonce {
+				InvalidTransaction::Stale
+			} else {
+				InvalidTransaction::Future
+			}
+			.into())
+		}
+		account.nonce += T::Nonce::one();
+		crate::Account::<T>::insert(who, account);
+		Ok(())
+	}
 
 	fn validate(
 		&self,
-		origin: <T as Config>::RuntimeOrigin,
-		_call: &T::RuntimeCall,
-		_info: &DispatchInfoOf<T::RuntimeCall>,
+		who: &Self::AccountId,
+		_call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
 		_len: usize,
-		_context: &mut Context,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> ValidateResult<Self::Val, T::RuntimeCall> {
-		let Some(who) = origin.as_system_origin_signer() else {
-			return Ok((Default::default(), None, origin))
-		};
+	) -> TransactionValidity {
 		let account = crate::Account::<T>::get(who);
 		if account.providers.is_zero() && account.sufficients.is_zero() {
 			// Nonce storage not paid for
-			return Err(InvalidTransaction::Payment.into())
+			return InvalidTransaction::Payment.into()
 		}
 		if self.0 < account.nonce {
-			return Err(InvalidTransaction::Stale.into())
+			return InvalidTransaction::Stale.into()
 		}
 
-		let provides = vec![Encode::encode(&(who.clone(), self.0))];
+		let provides = vec![Encode::encode(&(who, self.0))];
 		let requires = if account.nonce < self.0 {
-			vec![Encode::encode(&(who.clone(), self.0.saturating_sub(One::one())))]
+			vec![Encode::encode(&(who, self.0 - One::one()))]
 		} else {
 			vec![]
 		};
 
-		let validity = ValidTransaction {
+		Ok(ValidTransaction {
 			priority: 0,
 			requires,
 			provides,
 			longevity: TransactionLongevity::max_value(),
 			propagate: true,
-		};
-
-		Ok((validity, Some((who.clone(), account)), origin))
-	}
-
-	fn prepare(
-		self,
-		val: Self::Val,
-		_origin: &T::RuntimeOrigin,
-		_call: &T::RuntimeCall,
-		_info: &DispatchInfoOf<T::RuntimeCall>,
-		_len: usize,
-		_context: &Context,
-	) -> Result<Self::Pre, TransactionValidityError> {
-		let Some((who, mut account)) = val else { return Ok(()) };
-		// `self.0 < account.nonce` already checked in `validate`.
-		if self.0 > account.nonce {
-			return Err(InvalidTransaction::Future.into())
-		}
-		account.nonce.saturating_inc();
-		crate::Account::<T>::insert(who, account);
-		Ok(())
+		})
 	}
 }
 
@@ -140,8 +134,7 @@ where
 mod tests {
 	use super::*;
 	use crate::mock::{new_test_ext, Test, CALL};
-	use frame_support::assert_ok;
-	use sp_runtime::traits::DispatchTransaction;
+	use frame_support::{assert_noop, assert_ok};
 
 	#[test]
 	fn signed_ext_check_nonce_works() {
@@ -159,33 +152,22 @@ mod tests {
 			let info = DispatchInfo::default();
 			let len = 0_usize;
 			// stale
-			assert_eq!(
-				CheckNonce::<Test>(0)
-					.validate_only(Some(1).into(), CALL, &info, len,)
-					.unwrap_err(),
-				TransactionValidityError::Invalid(InvalidTransaction::Stale)
+			assert_noop!(
+				CheckNonce::<Test>(0).validate(&1, CALL, &info, len),
+				InvalidTransaction::Stale
 			);
-			assert_eq!(
-				CheckNonce::<Test>(0)
-					.validate_and_prepare(Some(1).into(), CALL, &info, len)
-					.unwrap_err(),
-				InvalidTransaction::Stale.into()
+			assert_noop!(
+				CheckNonce::<Test>(0).pre_dispatch(&1, CALL, &info, len),
+				InvalidTransaction::Stale
 			);
 			// correct
-			assert_ok!(CheckNonce::<Test>(1).validate_only(Some(1).into(), CALL, &info, len));
-			assert_ok!(CheckNonce::<Test>(1).validate_and_prepare(
-				Some(1).into(),
-				CALL,
-				&info,
-				len
-			));
+			assert_ok!(CheckNonce::<Test>(1).validate(&1, CALL, &info, len));
+			assert_ok!(CheckNonce::<Test>(1).pre_dispatch(&1, CALL, &info, len));
 			// future
-			assert_ok!(CheckNonce::<Test>(5).validate_only(Some(1).into(), CALL, &info, len));
-			assert_eq!(
-				CheckNonce::<Test>(5)
-					.validate_and_prepare(Some(1).into(), CALL, &info, len)
-					.unwrap_err(),
-				InvalidTransaction::Future.into()
+			assert_ok!(CheckNonce::<Test>(5).validate(&1, CALL, &info, len));
+			assert_noop!(
+				CheckNonce::<Test>(5).pre_dispatch(&1, CALL, &info, len),
+				InvalidTransaction::Future
 			);
 		})
 	}
@@ -216,44 +198,20 @@ mod tests {
 			let info = DispatchInfo::default();
 			let len = 0_usize;
 			// Both providers and sufficients zero
-			assert_eq!(
-				CheckNonce::<Test>(1)
-					.validate_only(Some(1).into(), CALL, &info, len)
-					.unwrap_err(),
-				TransactionValidityError::Invalid(InvalidTransaction::Payment)
+			assert_noop!(
+				CheckNonce::<Test>(1).validate(&1, CALL, &info, len),
+				InvalidTransaction::Payment
 			);
-			assert_eq!(
-				CheckNonce::<Test>(1)
-					.validate_and_prepare(Some(1).into(), CALL, &info, len)
-					.unwrap_err(),
-				TransactionValidityError::Invalid(InvalidTransaction::Payment)
+			assert_noop!(
+				CheckNonce::<Test>(1).pre_dispatch(&1, CALL, &info, len),
+				InvalidTransaction::Payment
 			);
 			// Non-zero providers
-			assert_ok!(CheckNonce::<Test>(1).validate_only(Some(2).into(), CALL, &info, len));
-			assert_ok!(CheckNonce::<Test>(1).validate_and_prepare(
-				Some(2).into(),
-				CALL,
-				&info,
-				len
-			));
+			assert_ok!(CheckNonce::<Test>(1).validate(&2, CALL, &info, len));
+			assert_ok!(CheckNonce::<Test>(1).pre_dispatch(&2, CALL, &info, len));
 			// Non-zero sufficients
-			assert_ok!(CheckNonce::<Test>(1).validate_only(Some(3).into(), CALL, &info, len));
-			assert_ok!(CheckNonce::<Test>(1).validate_and_prepare(
-				Some(3).into(),
-				CALL,
-				&info,
-				len
-			));
-		})
-	}
-
-	#[test]
-	fn unsigned_check_nonce_works() {
-		new_test_ext().execute_with(|| {
-			let info = DispatchInfo::default();
-			let len = 0_usize;
-			assert_ok!(CheckNonce::<Test>(1).validate_only(None.into(), CALL, &info, len));
-			assert_ok!(CheckNonce::<Test>(1).validate_and_prepare(None.into(), CALL, &info, len));
+			assert_ok!(CheckNonce::<Test>(1).validate(&3, CALL, &info, len));
+			assert_ok!(CheckNonce::<Test>(1).pre_dispatch(&3, CALL, &info, len));
 		})
 	}
 }
diff --git a/substrate/frame/system/src/extensions/check_spec_version.rs b/substrate/frame/system/src/extensions/check_spec_version.rs
index 3109708f48e..24d5ef9cafb 100644
--- a/substrate/frame/system/src/extensions/check_spec_version.rs
+++ b/substrate/frame/system/src/extensions/check_spec_version.rs
@@ -19,8 +19,7 @@ use crate::{Config, Pallet};
 use codec::{Decode, Encode};
 use scale_info::TypeInfo;
 use sp_runtime::{
-	impl_tx_ext_default,
-	traits::{transaction_extension::TransactionExtensionBase, TransactionExtension},
+	traits::{DispatchInfoOf, SignedExtension},
 	transaction_validity::TransactionValidityError,
 };
 
@@ -47,26 +46,30 @@ impl<T: Config + Send + Sync> sp_std::fmt::Debug for CheckSpecVersion<T> {
 }
 
 impl<T: Config + Send + Sync> CheckSpecVersion<T> {
-	/// Create new `TransactionExtension` to check runtime version.
+	/// Create new `SignedExtension` to check runtime version.
 	pub fn new() -> Self {
 		Self(sp_std::marker::PhantomData)
 	}
 }
 
-impl<T: Config + Send + Sync> TransactionExtensionBase for CheckSpecVersion<T> {
+impl<T: Config + Send + Sync> SignedExtension for CheckSpecVersion<T> {
+	type AccountId = T::AccountId;
+	type Call = <T as Config>::RuntimeCall;
+	type AdditionalSigned = u32;
+	type Pre = ();
 	const IDENTIFIER: &'static str = "CheckSpecVersion";
-	type Implicit = u32;
-	fn implicit(&self) -> Result<Self::Implicit, TransactionValidityError> {
+
+	fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
 		Ok(<Pallet<T>>::runtime_version().spec_version)
 	}
-	fn weight(&self) -> sp_weights::Weight {
-		<T::ExtensionsWeightInfo as super::WeightInfo>::check_spec_version()
+
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		self.validate(who, call, info, len).map(|_| ())
 	}
 }
-impl<T: Config + Send + Sync, Context> TransactionExtension<<T as Config>::RuntimeCall, Context>
-	for CheckSpecVersion<T>
-{
-	type Val = ();
-	type Pre = ();
-	impl_tx_ext_default!(<T as Config>::RuntimeCall; Context; validate prepare);
-}
diff --git a/substrate/frame/system/src/extensions/check_tx_version.rs b/substrate/frame/system/src/extensions/check_tx_version.rs
index ee1d507e7bc..3f9d6a1903f 100644
--- a/substrate/frame/system/src/extensions/check_tx_version.rs
+++ b/substrate/frame/system/src/extensions/check_tx_version.rs
@@ -19,8 +19,7 @@ use crate::{Config, Pallet};
 use codec::{Decode, Encode};
 use scale_info::TypeInfo;
 use sp_runtime::{
-	impl_tx_ext_default,
-	traits::{transaction_extension::TransactionExtensionBase, TransactionExtension},
+	traits::{DispatchInfoOf, SignedExtension},
 	transaction_validity::TransactionValidityError,
 };
 
@@ -47,26 +46,29 @@ impl<T: Config + Send + Sync> sp_std::fmt::Debug for CheckTxVersion<T> {
 }
 
 impl<T: Config + Send + Sync> CheckTxVersion<T> {
-	/// Create new `TransactionExtension` to check transaction version.
+	/// Create new `SignedExtension` to check transaction version.
 	pub fn new() -> Self {
 		Self(sp_std::marker::PhantomData)
 	}
 }
 
-impl<T: Config + Send + Sync> TransactionExtensionBase for CheckTxVersion<T> {
+impl<T: Config + Send + Sync> SignedExtension for CheckTxVersion<T> {
+	type AccountId = T::AccountId;
+	type Call = <T as Config>::RuntimeCall;
+	type AdditionalSigned = u32;
+	type Pre = ();
 	const IDENTIFIER: &'static str = "CheckTxVersion";
-	type Implicit = u32;
-	fn implicit(&self) -> Result<Self::Implicit, TransactionValidityError> {
+
+	fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
 		Ok(<Pallet<T>>::runtime_version().transaction_version)
 	}
-	fn weight(&self) -> sp_weights::Weight {
-		<T::ExtensionsWeightInfo as super::WeightInfo>::check_tx_version()
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		self.validate(who, call, info, len).map(|_| ())
 	}
 }
-impl<T: Config + Send + Sync, Context> TransactionExtension<<T as Config>::RuntimeCall, Context>
-	for CheckTxVersion<T>
-{
-	type Val = ();
-	type Pre = ();
-	impl_tx_ext_default!(<T as Config>::RuntimeCall; Context; validate prepare);
-}
diff --git a/substrate/frame/system/src/extensions/check_weight.rs b/substrate/frame/system/src/extensions/check_weight.rs
index 5c35acfb3f3..70d1e756332 100644
--- a/substrate/frame/system/src/extensions/check_weight.rs
+++ b/substrate/frame/system/src/extensions/check_weight.rs
@@ -23,12 +23,9 @@ use frame_support::{
 };
 use scale_info::TypeInfo;
 use sp_runtime::{
-	traits::{
-		DispatchInfoOf, Dispatchable, PostDispatchInfoOf, TransactionExtension,
-		TransactionExtensionBase, ValidateResult,
-	},
-	transaction_validity::{InvalidTransaction, TransactionValidityError},
-	DispatchResult, ValidTransaction,
+	traits::{DispatchInfoOf, Dispatchable, PostDispatchInfoOf, SignedExtension},
+	transaction_validity::{InvalidTransaction, TransactionValidity, TransactionValidityError},
+	DispatchResult,
 };
 use sp_weights::Weight;
 
@@ -103,44 +100,40 @@ where
 		}
 	}
 
-	/// Creates new `TransactionExtension` to check weight of the extrinsic.
+	/// Creates new `SignedExtension` to check weight of the extrinsic.
 	pub fn new() -> Self {
 		Self(Default::default())
 	}
 
-	/// Do the validate checks. This can be applied to both signed and unsigned.
-	///
-	/// It only checks that the block weight and length limit will not exceed.
-	///
-	/// Returns the transaction validity and the next block length, to be used in `prepare`.
-	pub fn do_validate(
-		info: &DispatchInfoOf<T::RuntimeCall>,
-		len: usize,
-	) -> Result<(ValidTransaction, u32), TransactionValidityError> {
-		// ignore the next length. If they return `Ok`, then it is below the limit.
-		let next_len = Self::check_block_length(info, len)?;
-		// during validation we skip block limit check. Since the `validate_transaction`
-		// call runs on an empty block anyway, by this we prevent `on_initialize` weight
-		// consumption from causing false negatives.
-		Self::check_extrinsic_weight(info)?;
-
-		Ok((Default::default(), next_len))
-	}
-
 	/// Do the pre-dispatch checks. This can be applied to both signed and unsigned.
 	///
 	/// It checks and notes the new weight and length.
-	pub fn do_prepare(
+	pub fn do_pre_dispatch(
 		info: &DispatchInfoOf<T::RuntimeCall>,
-		next_len: u32,
+		len: usize,
 	) -> Result<(), TransactionValidityError> {
+		let next_len = Self::check_block_length(info, len)?;
 		let next_weight = Self::check_block_weight(info)?;
-		// Extrinsic weight already checked in `validate`.
+		Self::check_extrinsic_weight(info)?;
 
 		crate::AllExtrinsicsLen::<T>::put(next_len);
 		crate::BlockWeight::<T>::put(next_weight);
 		Ok(())
 	}
+
+	/// Do the validate checks. This can be applied to both signed and unsigned.
+	///
+	/// It only checks that the block weight and length limit will not exceed.
+	pub fn do_validate(info: &DispatchInfoOf<T::RuntimeCall>, len: usize) -> TransactionValidity {
+		// ignore the next length. If they return `Ok`, then it is below the limit.
+		let _ = Self::check_block_length(info, len)?;
+		// during validation we skip block limit check. Since the `validate_transaction`
+		// call runs on an empty block anyway, by this we prevent `on_initialize` weight
+		// consumption from causing false negatives.
+		Self::check_extrinsic_weight(info)?;
+
+		Ok(Default::default())
+	}
 }
 
 pub fn calculate_consumed_weight<Call>(
@@ -208,55 +201,62 @@ where
 	Ok(all_weight)
 }
 
-impl<T: Config + Send + Sync> TransactionExtensionBase for CheckWeight<T> {
-	const IDENTIFIER: &'static str = "CheckWeight";
-	type Implicit = ();
-
-	fn weight(&self) -> Weight {
-		<T::ExtensionsWeightInfo as super::WeightInfo>::check_weight()
-	}
-}
-impl<T: Config + Send + Sync, Context> TransactionExtension<T::RuntimeCall, Context>
-	for CheckWeight<T>
+impl<T: Config + Send + Sync> SignedExtension for CheckWeight<T>
 where
 	T::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
 {
+	type AccountId = T::AccountId;
+	type Call = T::RuntimeCall;
+	type AdditionalSigned = ();
 	type Pre = ();
-	type Val = u32; /* next block length */
+	const IDENTIFIER: &'static str = "CheckWeight";
+
+	fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> {
+		Ok(())
+	}
+
+	fn pre_dispatch(
+		self,
+		_who: &Self::AccountId,
+		_call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<(), TransactionValidityError> {
+		Self::do_pre_dispatch(info, len)
+	}
 
 	fn validate(
 		&self,
-		origin: T::RuntimeOrigin,
-		_call: &T::RuntimeCall,
-		info: &DispatchInfoOf<T::RuntimeCall>,
+		_who: &Self::AccountId,
+		_call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
 		len: usize,
-		_context: &mut Context,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> ValidateResult<Self::Val, T::RuntimeCall> {
-		let (validity, next_len) = Self::do_validate(info, len)?;
-		Ok((validity, next_len, origin))
+	) -> TransactionValidity {
+		Self::do_validate(info, len)
 	}
 
-	fn prepare(
-		self,
-		val: Self::Val,
-		_origin: &T::RuntimeOrigin,
-		_call: &T::RuntimeCall,
-		info: &DispatchInfoOf<T::RuntimeCall>,
-		_len: usize,
-		_context: &Context,
-	) -> Result<Self::Pre, TransactionValidityError> {
-		Self::do_prepare(info, val)
+	fn pre_dispatch_unsigned(
+		_call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<(), TransactionValidityError> {
+		Self::do_pre_dispatch(info, len)
+	}
+
+	fn validate_unsigned(
+		_call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> TransactionValidity {
+		Self::do_validate(info, len)
 	}
 
 	fn post_dispatch(
-		_pre: Self::Pre,
-		info: &DispatchInfoOf<T::RuntimeCall>,
-		post_info: &PostDispatchInfoOf<T::RuntimeCall>,
+		_pre: Option<Self::Pre>,
+		info: &DispatchInfoOf<Self::Call>,
+		post_info: &PostDispatchInfoOf<Self::Call>,
 		_len: usize,
 		_result: &DispatchResult,
-		_context: &Context,
 	) -> Result<(), TransactionValidityError> {
 		let unspent = post_info.calc_unspent(info);
 		if unspent.any_gt(Weight::zero()) {
@@ -301,7 +301,6 @@ mod tests {
 		AllExtrinsicsLen, BlockWeight, DispatchClass,
 	};
 	use frame_support::{assert_err, assert_ok, dispatch::Pays, weights::Weight};
-	use sp_runtime::traits::DispatchTransaction;
 	use sp_std::marker::PhantomData;
 
 	fn block_weights() -> crate::limits::BlockWeights {
@@ -339,8 +338,7 @@ mod tests {
 		}
 
 		check(|max, len| {
-			let next_len = CheckWeight::<Test>::check_block_length(max, len).unwrap();
-			assert_ok!(CheckWeight::<Test>::do_prepare(max, next_len));
+			assert_ok!(CheckWeight::<Test>::do_pre_dispatch(max, len));
 			assert_eq!(System::block_weight().total(), Weight::MAX);
 			assert!(System::block_weight().total().ref_time() > block_weight_limit().ref_time());
 		});
@@ -421,11 +419,9 @@ mod tests {
 
 			let len = 0_usize;
 
-			let next_len = CheckWeight::<Test>::check_block_length(&max_normal, len).unwrap();
-			assert_ok!(CheckWeight::<Test>::do_prepare(&max_normal, next_len));
+			assert_ok!(CheckWeight::<Test>::do_pre_dispatch(&max_normal, len));
 			assert_eq!(System::block_weight().total(), Weight::from_parts(768, 0));
-			let next_len = CheckWeight::<Test>::check_block_length(&rest_operational, len).unwrap();
-			assert_ok!(CheckWeight::<Test>::do_prepare(&rest_operational, next_len));
+			assert_ok!(CheckWeight::<Test>::do_pre_dispatch(&rest_operational, len));
 			assert_eq!(block_weight_limit(), Weight::from_parts(1024, u64::MAX));
 			assert_eq!(System::block_weight().total(), block_weight_limit().set_proof_size(0));
 			// Checking single extrinsic should not take current block weight into account.
@@ -447,12 +443,10 @@ mod tests {
 
 			let len = 0_usize;
 
-			let next_len = CheckWeight::<Test>::check_block_length(&rest_operational, len).unwrap();
-			assert_ok!(CheckWeight::<Test>::do_prepare(&rest_operational, next_len));
+			assert_ok!(CheckWeight::<Test>::do_pre_dispatch(&rest_operational, len));
 			// Extra 20 here from block execution + base extrinsic weight
 			assert_eq!(System::block_weight().total(), Weight::from_parts(266, 0));
-			let next_len = CheckWeight::<Test>::check_block_length(&max_normal, len).unwrap();
-			assert_ok!(CheckWeight::<Test>::do_prepare(&max_normal, next_len));
+			assert_ok!(CheckWeight::<Test>::do_pre_dispatch(&max_normal, len));
 			assert_eq!(block_weight_limit(), Weight::from_parts(1024, u64::MAX));
 			assert_eq!(System::block_weight().total(), block_weight_limit().set_proof_size(0));
 		});
@@ -475,19 +469,16 @@ mod tests {
 			};
 			let len = 0_usize;
 
-			let next_len = CheckWeight::<Test>::check_block_length(&dispatch_normal, len).unwrap();
 			assert_err!(
-				CheckWeight::<Test>::do_prepare(&dispatch_normal, next_len),
+				CheckWeight::<Test>::do_pre_dispatch(&dispatch_normal, len),
 				InvalidTransaction::ExhaustsResources
 			);
-			let next_len =
-				CheckWeight::<Test>::check_block_length(&dispatch_operational, len).unwrap();
 			// Thank goodness we can still do an operational transaction to possibly save the
 			// blockchain.
-			assert_ok!(CheckWeight::<Test>::do_prepare(&dispatch_operational, next_len));
+			assert_ok!(CheckWeight::<Test>::do_pre_dispatch(&dispatch_operational, len));
 			// Not too much though
 			assert_err!(
-				CheckWeight::<Test>::do_prepare(&dispatch_operational, next_len),
+				CheckWeight::<Test>::do_pre_dispatch(&dispatch_operational, len),
 				InvalidTransaction::ExhaustsResources
 			);
 			// Even with full block, validity of single transaction should be correct.
@@ -512,35 +503,21 @@ mod tests {
 				current_weight.set(normal_limit, DispatchClass::Normal)
 			});
 			// will not fit.
-			assert_eq!(
-				CheckWeight::<Test>(PhantomData)
-					.validate_and_prepare(Some(1).into(), CALL, &normal, len)
-					.unwrap_err(),
-				InvalidTransaction::ExhaustsResources.into()
+			assert_err!(
+				CheckWeight::<Test>(PhantomData).pre_dispatch(&1, CALL, &normal, len),
+				InvalidTransaction::ExhaustsResources
 			);
 			// will fit.
-			assert_ok!(CheckWeight::<Test>(PhantomData).validate_and_prepare(
-				Some(1).into(),
-				CALL,
-				&op,
-				len
-			));
+			assert_ok!(CheckWeight::<Test>(PhantomData).pre_dispatch(&1, CALL, &op, len));
 
 			// likewise for length limit.
 			let len = 100_usize;
 			AllExtrinsicsLen::<Test>::put(normal_length_limit());
-			assert_eq!(
-				CheckWeight::<Test>(PhantomData)
-					.validate_and_prepare(Some(1).into(), CALL, &normal, len)
-					.unwrap_err(),
-				InvalidTransaction::ExhaustsResources.into()
+			assert_err!(
+				CheckWeight::<Test>(PhantomData).pre_dispatch(&1, CALL, &normal, len),
+				InvalidTransaction::ExhaustsResources
 			);
-			assert_ok!(CheckWeight::<Test>(PhantomData).validate_and_prepare(
-				Some(1).into(),
-				CALL,
-				&op,
-				len
-			));
+			assert_ok!(CheckWeight::<Test>(PhantomData).pre_dispatch(&1, CALL, &op, len));
 		})
 	}
 
@@ -551,12 +528,7 @@ mod tests {
 			let normal_limit = normal_weight_limit().ref_time() as usize;
 			let reset_check_weight = |tx, s, f| {
 				AllExtrinsicsLen::<Test>::put(0);
-				let r = CheckWeight::<Test>(PhantomData).validate_and_prepare(
-					Some(1).into(),
-					CALL,
-					tx,
-					s,
-				);
+				let r = CheckWeight::<Test>(PhantomData).pre_dispatch(&1, CALL, tx, s);
 				if f {
 					assert!(r.is_err())
 				} else {
@@ -599,12 +571,7 @@ mod tests {
 				BlockWeight::<Test>::mutate(|current_weight| {
 					current_weight.set(s, DispatchClass::Normal)
 				});
-				let r = CheckWeight::<Test>(PhantomData).validate_and_prepare(
-					Some(1).into(),
-					CALL,
-					i,
-					len,
-				);
+				let r = CheckWeight::<Test>(PhantomData).pre_dispatch(&1, CALL, i, len);
 				if f {
 					assert!(r.is_err())
 				} else {
@@ -637,22 +604,18 @@ mod tests {
 					.set(Weight::from_parts(256, 0) - base_extrinsic, DispatchClass::Normal);
 			});
 
-			let pre = CheckWeight::<Test>(PhantomData)
-				.validate_and_prepare(Some(1).into(), CALL, &info, len)
-				.unwrap()
-				.0;
+			let pre = CheckWeight::<Test>(PhantomData).pre_dispatch(&1, CALL, &info, len).unwrap();
 			assert_eq!(
 				BlockWeight::<Test>::get().total(),
 				info.weight + Weight::from_parts(256, 0)
 			);
 
 			assert_ok!(CheckWeight::<Test>::post_dispatch(
-				pre,
+				Some(pre),
 				&info,
 				&post_info,
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 			assert_eq!(
 				BlockWeight::<Test>::get().total(),
@@ -676,10 +639,7 @@ mod tests {
 				current_weight.set(Weight::from_parts(128, 0), DispatchClass::Normal);
 			});
 
-			let pre = CheckWeight::<Test>(PhantomData)
-				.validate_and_prepare(Some(1).into(), CALL, &info, len)
-				.unwrap()
-				.0;
+			let pre = CheckWeight::<Test>(PhantomData).pre_dispatch(&1, CALL, &info, len).unwrap();
 			assert_eq!(
 				BlockWeight::<Test>::get().total(),
 				info.weight +
@@ -688,12 +648,11 @@ mod tests {
 			);
 
 			assert_ok!(CheckWeight::<Test>::post_dispatch(
-				pre,
+				Some(pre),
 				&info,
 				&post_info,
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 			assert_eq!(
 				BlockWeight::<Test>::get().total(),
@@ -713,12 +672,7 @@ mod tests {
 
 			// Initial weight from `weights.base_block`
 			assert_eq!(System::block_weight().total(), weights.base_block);
-			assert_ok!(CheckWeight::<Test>(PhantomData).validate_and_prepare(
-				Some(1).into(),
-				CALL,
-				&free,
-				len
-			));
+			assert_ok!(CheckWeight::<Test>(PhantomData).pre_dispatch(&1, CALL, &free, len));
 			assert_eq!(
 				System::block_weight().total(),
 				weights.get(DispatchClass::Normal).base_extrinsic + weights.base_block
@@ -742,11 +696,9 @@ mod tests {
 
 			let len = 0_usize;
 
-			let next_len = CheckWeight::<Test>::check_block_length(&max_normal, len).unwrap();
-			assert_ok!(CheckWeight::<Test>::do_prepare(&max_normal, next_len));
+			assert_ok!(CheckWeight::<Test>::do_pre_dispatch(&max_normal, len));
 			assert_eq!(System::block_weight().total(), Weight::from_parts(768, 0));
-			let next_len = CheckWeight::<Test>::check_block_length(&mandatory, len).unwrap();
-			assert_ok!(CheckWeight::<Test>::do_prepare(&mandatory, next_len));
+			assert_ok!(CheckWeight::<Test>::do_pre_dispatch(&mandatory, len));
 			assert_eq!(block_weight_limit(), Weight::from_parts(1024, u64::MAX));
 			assert_eq!(System::block_weight().total(), Weight::from_parts(1024 + 768, 0));
 			assert_eq!(CheckWeight::<Test>::check_extrinsic_weight(&mandatory), Ok(()));
diff --git a/substrate/frame/system/src/extensions/mod.rs b/substrate/frame/system/src/extensions/mod.rs
index d79104d2240..a88c9fbf96e 100644
--- a/substrate/frame/system/src/extensions/mod.rs
+++ b/substrate/frame/system/src/extensions/mod.rs
@@ -22,6 +22,3 @@ pub mod check_nonce;
 pub mod check_spec_version;
 pub mod check_tx_version;
 pub mod check_weight;
-pub mod weights;
-
-pub use weights::WeightInfo;
diff --git a/substrate/frame/system/src/extensions/weights.rs b/substrate/frame/system/src/extensions/weights.rs
deleted file mode 100644
index 0d2fcb15ee6..00000000000
--- a/substrate/frame/system/src/extensions/weights.rs
+++ /dev/null
@@ -1,196 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Autogenerated weights for `frame_system_extensions`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
-
-// Executed Command:
-// ./target/production/substrate-node
-// benchmark
-// pallet
-// --chain=dev
-// --steps=50
-// --repeat=20
-// --pallet=frame_system_extensions
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --wasm-execution=compiled
-// --heap-pages=4096
-// --output=./substrate/frame/system/src/extensions/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
-use core::marker::PhantomData;
-
-/// Weight functions needed for `frame_system_extensions`.
-pub trait WeightInfo {
-	fn check_genesis() -> Weight;
-	fn check_mortality() -> Weight;
-	fn check_non_zero_sender() -> Weight;
-	fn check_nonce() -> Weight;
-	fn check_spec_version() -> Weight;
-	fn check_tx_version() -> Weight;
-	fn check_weight() -> Weight;
-}
-
-/// Weights for `frame_system_extensions` using the Substrate node and recommended hardware.
-pub struct SubstrateWeight<T>(PhantomData<T>);
-impl<T: crate::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_876_000 picoseconds.
-		Weight::from_parts(4_160_000, 3509)
-			.saturating_add(T::DbWeight::get().reads(1_u64))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 6_296_000 picoseconds.
-		Weight::from_parts(6_523_000, 3509)
-			.saturating_add(T::DbWeight::get().reads(1_u64))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 449_000 picoseconds.
-		Weight::from_parts(527_000, 0)
-	}
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `101`
-		//  Estimated: `3593`
-		// Minimum execution time: 5_689_000 picoseconds.
-		Weight::from_parts(6_000_000, 3593)
-			.saturating_add(T::DbWeight::get().reads(1_u64))
-			.saturating_add(T::DbWeight::get().writes(1_u64))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 399_000 picoseconds.
-		Weight::from_parts(461_000, 0)
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 390_000 picoseconds.
-		Weight::from_parts(439_000, 0)
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1489`
-		// Minimum execution time: 4_375_000 picoseconds.
-		Weight::from_parts(4_747_000, 1489)
-			.saturating_add(T::DbWeight::get().reads(1_u64))
-			.saturating_add(T::DbWeight::get().writes(1_u64))
-	}
-}
-
-// For backwards compatibility and tests.
-impl WeightInfo for () {
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_genesis() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `54`
-		//  Estimated: `3509`
-		// Minimum execution time: 3_876_000 picoseconds.
-		Weight::from_parts(4_160_000, 3509)
-			.saturating_add(RocksDbWeight::get().reads(1_u64))
-	}
-	/// Storage: `System::BlockHash` (r:1 w:0)
-	/// Proof: `System::BlockHash` (`max_values`: None, `max_size`: Some(44), added: 2519, mode: `MaxEncodedLen`)
-	fn check_mortality() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `92`
-		//  Estimated: `3509`
-		// Minimum execution time: 6_296_000 picoseconds.
-		Weight::from_parts(6_523_000, 3509)
-			.saturating_add(RocksDbWeight::get().reads(1_u64))
-	}
-	fn check_non_zero_sender() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 449_000 picoseconds.
-		Weight::from_parts(527_000, 0)
-	}
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	fn check_nonce() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `101`
-		//  Estimated: `3593`
-		// Minimum execution time: 5_689_000 picoseconds.
-		Weight::from_parts(6_000_000, 3593)
-			.saturating_add(RocksDbWeight::get().reads(1_u64))
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
-	}
-	fn check_spec_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 399_000 picoseconds.
-		Weight::from_parts(461_000, 0)
-	}
-	fn check_tx_version() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 390_000 picoseconds.
-		Weight::from_parts(439_000, 0)
-	}
-	/// Storage: `System::AllExtrinsicsLen` (r:1 w:1)
-	/// Proof: `System::AllExtrinsicsLen` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	fn check_weight() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `24`
-		//  Estimated: `1489`
-		// Minimum execution time: 4_375_000 picoseconds.
-		Weight::from_parts(4_747_000, 1489)
-			.saturating_add(RocksDbWeight::get().reads(1_u64))
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
-	}
-}
diff --git a/substrate/frame/system/src/lib.rs b/substrate/frame/system/src/lib.rs
index 0318f77342e..184f27b61ed 100644
--- a/substrate/frame/system/src/lib.rs
+++ b/substrate/frame/system/src/lib.rs
@@ -166,7 +166,7 @@ pub use extensions::{
 	check_genesis::CheckGenesis, check_mortality::CheckMortality,
 	check_non_zero_sender::CheckNonZeroSender, check_nonce::CheckNonce,
 	check_spec_version::CheckSpecVersion, check_tx_version::CheckTxVersion,
-	check_weight::CheckWeight, WeightInfo as ExtensionsWeightInfo,
+	check_weight::CheckWeight,
 };
 // Backward compatible re-export.
 pub use extensions::check_mortality::CheckMortality as CheckEra;
@@ -284,7 +284,6 @@ pub mod pallet {
 			type OnNewAccount = ();
 			type OnKilledAccount = ();
 			type SystemWeightInfo = ();
-			type ExtensionsWeightInfo = ();
 			type SS58Prefix = ();
 			type Version = ();
 			type BlockWeights = ();
@@ -357,9 +356,6 @@ pub mod pallet {
 			/// Weight information for the extrinsics of this pallet.
 			type SystemWeightInfo = ();
 
-			/// Weight information for the extensions of this pallet.
-			type ExtensionsWeightInfo = ();
-
 			/// This is used as an identifier of the chain.
 			type SS58Prefix = ();
 
@@ -567,12 +563,8 @@ pub mod pallet {
 		/// All resources should be cleaned up associated with the given account.
 		type OnKilledAccount: OnKilledAccount<Self::AccountId>;
 
-		/// Weight information for the extrinsics of this pallet.
 		type SystemWeightInfo: WeightInfo;
 
-		/// Weight information for the transaction extensions of this pallet.
-		type ExtensionsWeightInfo: extensions::WeightInfo;
-
 		/// The designated SS58 prefix of this chain.
 		///
 		/// This replaces the "ss58Format" property declared in the chain spec. Reason is
diff --git a/substrate/frame/system/src/offchain.rs b/substrate/frame/system/src/offchain.rs
index ee73e33fe31..a019cfd666e 100644
--- a/substrate/frame/system/src/offchain.rs
+++ b/substrate/frame/system/src/offchain.rs
@@ -79,9 +79,6 @@ pub struct SubmitTransaction<T: SendTransactionTypes<OverarchingCall>, Overarchi
 	_phantom: sp_std::marker::PhantomData<(T, OverarchingCall)>,
 }
 
-// TODO [#2415]: Avoid splitting call and the totally opaque `signature`; `CreateTransaction` trait
-// should provide something which impls `Encode`, which can be sent onwards to
-// `sp_io::offchain::submit_transaction`. There's no great need to split things up as in here.
 impl<T, LocalCall> SubmitTransaction<T, LocalCall>
 where
 	T: SendTransactionTypes<LocalCall>,
@@ -91,8 +88,6 @@ where
 		call: <T as SendTransactionTypes<LocalCall>>::OverarchingCall,
 		signature: Option<<T::Extrinsic as ExtrinsicT>::SignaturePayload>,
 	) -> Result<(), ()> {
-		// TODO: Use regular transaction API instead.
-		#[allow(deprecated)]
 		let xt = T::Extrinsic::new(call, signature).ok_or(())?;
 		sp_io::offchain::submit_transaction(xt.encode())
 	}
@@ -476,7 +471,7 @@ pub trait SendTransactionTypes<LocalCall> {
 ///
 /// This trait is meant to be implemented by the runtime and is responsible for constructing
 /// a payload to be signed and contained within the extrinsic.
-/// This will most likely include creation of `TxExtension` (a tuple of `TransactionExtension`s).
+/// This will most likely include creation of `SignedExtra` (a set of `SignedExtensions`).
 /// Note that the result can be altered by inspecting the `Call` (for instance adjusting
 /// fees, or mortality depending on the `pallet` being called).
 pub trait CreateSignedTransaction<LocalCall>:
@@ -626,17 +621,14 @@ mod tests {
 	use crate::mock::{RuntimeCall, Test as TestRuntime, CALL};
 	use codec::Decode;
 	use sp_core::offchain::{testing, TransactionPoolExt};
-	use sp_runtime::{
-		generic::UncheckedExtrinsic,
-		testing::{TestSignature, UintAuthorityId},
-	};
+	use sp_runtime::testing::{TestSignature, TestXt, UintAuthorityId};
 
 	impl SigningTypes for TestRuntime {
 		type Public = UintAuthorityId;
 		type Signature = TestSignature;
 	}
 
-	type Extrinsic = UncheckedExtrinsic<u64, RuntimeCall, (), ()>;
+	type Extrinsic = TestXt<RuntimeCall, ()>;
 
 	impl SendTransactionTypes<RuntimeCall> for TestRuntime {
 		type Extrinsic = Extrinsic;
@@ -701,7 +693,7 @@ mod tests {
 			let _tx3 = pool_state.write().transactions.pop().unwrap();
 			assert!(pool_state.read().transactions.is_empty());
 			let tx1 = Extrinsic::decode(&mut &*tx1).unwrap();
-			assert!(tx1.is_inherent());
+			assert_eq!(tx1.signature, None);
 		});
 	}
 
@@ -732,7 +724,7 @@ mod tests {
 			let tx1 = pool_state.write().transactions.pop().unwrap();
 			assert!(pool_state.read().transactions.is_empty());
 			let tx1 = Extrinsic::decode(&mut &*tx1).unwrap();
-			assert!(tx1.is_inherent());
+			assert_eq!(tx1.signature, None);
 		});
 	}
 
@@ -766,7 +758,7 @@ mod tests {
 			let _tx2 = pool_state.write().transactions.pop().unwrap();
 			assert!(pool_state.read().transactions.is_empty());
 			let tx1 = Extrinsic::decode(&mut &*tx1).unwrap();
-			assert!(tx1.is_inherent());
+			assert_eq!(tx1.signature, None);
 		});
 	}
 
@@ -798,7 +790,7 @@ mod tests {
 			let tx1 = pool_state.write().transactions.pop().unwrap();
 			assert!(pool_state.read().transactions.is_empty());
 			let tx1 = Extrinsic::decode(&mut &*tx1).unwrap();
-			assert!(tx1.is_inherent());
+			assert_eq!(tx1.signature, None);
 		});
 	}
 }
diff --git a/substrate/frame/system/src/weights.rs b/substrate/frame/system/src/weights.rs
index bd64bbf3763..41807dea1c5 100644
--- a/substrate/frame/system/src/weights.rs
+++ b/substrate/frame/system/src/weights.rs
@@ -15,31 +15,30 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `frame_system`
+//! Autogenerated weights for frame_system
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-s7kdgajz-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/production/substrate
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=frame_system
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/system/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --json-file=/builds/parity/mirrors/substrate/.git/.artifacts/bench.json
+// --pallet=frame-system
+// --chain=dev
+// --header=./HEADER-APACHE2
+// --output=./frame/system/src/weights.rs
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +48,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `frame_system`.
+/// Weight functions needed for frame_system.
 pub trait WeightInfo {
 	fn remark(b: u32, ) -> Weight;
 	fn remark_with_event(b: u32, ) -> Weight;
@@ -62,7 +61,7 @@ pub trait WeightInfo {
 	fn apply_authorized_upgrade() -> Weight;
 }
 
-/// Weights for `frame_system` using the Substrate node and recommended hardware.
+/// Weights for frame_system using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: crate::Config> WeightInfo for SubstrateWeight<T> {
 	/// The range of component `b` is `[0, 3932160]`.
@@ -70,86 +69,84 @@ impl<T: crate::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_130_000 picoseconds.
-		Weight::from_parts(2_976_430, 0)
+		// Minimum execution time: 2_004_000 picoseconds.
+		Weight::from_parts(2_119_000, 0)
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(386, 0).saturating_mul(b.into()))
+			.saturating_add(Weight::from_parts(390, 0).saturating_mul(b.into()))
 	}
 	/// The range of component `b` is `[0, 3932160]`.
 	fn remark_with_event(b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_690_000 picoseconds.
-		Weight::from_parts(15_071_416, 0)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_387, 0).saturating_mul(b.into()))
+		// Minimum execution time: 8_032_000 picoseconds.
+		Weight::from_parts(8_097_000, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(1_455, 0).saturating_mul(b.into()))
 	}
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
+	/// Storage: System Digest (r:1 w:1)
+	/// Proof Skipped: System Digest (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: unknown `0x3a686561707061676573` (r:0 w:1)
+	/// Proof Skipped: unknown `0x3a686561707061676573` (r:0 w:1)
 	fn set_heap_pages() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `1485`
-		// Minimum execution time: 3_822_000 picoseconds.
-		Weight::from_parts(4_099_000, 1485)
+		// Minimum execution time: 4_446_000 picoseconds.
+		Weight::from_parts(4_782_000, 1485)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0)
-	/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
+	/// Storage: System Digest (r:1 w:1)
+	/// Proof Skipped: System Digest (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: unknown `0x3a636f6465` (r:0 w:1)
+	/// Proof Skipped: unknown `0x3a636f6465` (r:0 w:1)
 	fn set_code() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `142`
-		//  Estimated: `67035`
-		// Minimum execution time: 81_512_045_000 picoseconds.
-		Weight::from_parts(82_321_281_000, 67035)
-			.saturating_add(T::DbWeight::get().reads(2_u64))
+		//  Measured:  `0`
+		//  Estimated: `1485`
+		// Minimum execution time: 84_000_503_000 picoseconds.
+		Weight::from_parts(87_586_619_000, 1485)
+			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Skipped::Metadata` (r:0 w:0)
-	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Skipped Metadata (r:0 w:0)
+	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `i` is `[0, 1000]`.
 	fn set_storage(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_074_000 picoseconds.
-		Weight::from_parts(2_137_000, 0)
-			// Standard Error: 879
-			.saturating_add(Weight::from_parts(797_224, 0).saturating_mul(i.into()))
+		// Minimum execution time: 2_086_000 picoseconds.
+		Weight::from_parts(2_175_000, 0)
+			// Standard Error: 1_056
+			.saturating_add(Weight::from_parts(841_511, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
-	/// Storage: `Skipped::Metadata` (r:0 w:0)
-	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Skipped Metadata (r:0 w:0)
+	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `i` is `[0, 1000]`.
 	fn kill_storage(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_122_000 picoseconds.
-		Weight::from_parts(2_208_000, 0)
-			// Standard Error: 855
-			.saturating_add(Weight::from_parts(594_034, 0).saturating_mul(i.into()))
+		// Minimum execution time: 2_000_000 picoseconds.
+		Weight::from_parts(2_255_000, 0)
+			// Standard Error: 1_425
+			.saturating_add(Weight::from_parts(662_473, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
-	/// Storage: `Skipped::Metadata` (r:0 w:0)
-	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Skipped Metadata (r:0 w:0)
+	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `p` is `[0, 1000]`.
 	fn kill_prefix(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `129 + p * (69 ±0)`
-		//  Estimated: `135 + p * (70 ±0)`
-		// Minimum execution time: 3_992_000 picoseconds.
-		Weight::from_parts(4_170_000, 135)
-			// Standard Error: 1_377
-			.saturating_add(Weight::from_parts(1_267_892, 0).saturating_mul(p.into()))
+		//  Measured:  `115 + p * (69 ±0)`
+		//  Estimated: `128 + p * (70 ±0)`
+		// Minimum execution time: 4_189_000 picoseconds.
+		Weight::from_parts(4_270_000, 128)
+			// Standard Error: 2_296
+			.saturating_add(Weight::from_parts(1_389_650, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
 			.saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into()))
@@ -160,116 +157,114 @@ impl<T: crate::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 8_872_000 picoseconds.
-		Weight::from_parts(9_513_000, 0)
-			.saturating_add(T::DbWeight::get().writes(1_u64))
+		// Minimum execution time: 33_027_000 picoseconds.
+		Weight::from_parts(33_027_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(T::DbWeight::get().writes(1))
 	}
 	/// Storage: `System::AuthorizedUpgrade` (r:1 w:1)
 	/// Proof: `System::AuthorizedUpgrade` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
-	/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0)
-	/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
 	/// Storage: `System::Digest` (r:1 w:1)
 	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	/// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	fn apply_authorized_upgrade() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `164`
-		//  Estimated: `67035`
-		// Minimum execution time: 85_037_546_000 picoseconds.
-		Weight::from_parts(85_819_414_000, 67035)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
-			.saturating_add(T::DbWeight::get().writes(3_u64))
+		//  Measured:  `22`
+		//  Estimated: `1518`
+		// Minimum execution time: 118_101_992_000 picoseconds.
+		Weight::from_parts(118_101_992_000, 0)
+			.saturating_add(Weight::from_parts(0, 1518))
+			.saturating_add(T::DbWeight::get().reads(2))
+			.saturating_add(T::DbWeight::get().writes(3))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
 	/// The range of component `b` is `[0, 3932160]`.
 	fn remark(b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_130_000 picoseconds.
-		Weight::from_parts(2_976_430, 0)
+		// Minimum execution time: 2_004_000 picoseconds.
+		Weight::from_parts(2_119_000, 0)
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(386, 0).saturating_mul(b.into()))
+			.saturating_add(Weight::from_parts(390, 0).saturating_mul(b.into()))
 	}
 	/// The range of component `b` is `[0, 3932160]`.
 	fn remark_with_event(b: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 5_690_000 picoseconds.
-		Weight::from_parts(15_071_416, 0)
-			// Standard Error: 1
-			.saturating_add(Weight::from_parts(1_387, 0).saturating_mul(b.into()))
+		// Minimum execution time: 8_032_000 picoseconds.
+		Weight::from_parts(8_097_000, 0)
+			// Standard Error: 2
+			.saturating_add(Weight::from_parts(1_455, 0).saturating_mul(b.into()))
 	}
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
+	/// Storage: System Digest (r:1 w:1)
+	/// Proof Skipped: System Digest (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: unknown `0x3a686561707061676573` (r:0 w:1)
+	/// Proof Skipped: unknown `0x3a686561707061676573` (r:0 w:1)
 	fn set_heap_pages() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `1485`
-		// Minimum execution time: 3_822_000 picoseconds.
-		Weight::from_parts(4_099_000, 1485)
+		// Minimum execution time: 4_446_000 picoseconds.
+		Weight::from_parts(4_782_000, 1485)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0)
-	/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:1)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
-	/// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
+	/// Storage: System Digest (r:1 w:1)
+	/// Proof Skipped: System Digest (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: unknown `0x3a636f6465` (r:0 w:1)
+	/// Proof Skipped: unknown `0x3a636f6465` (r:0 w:1)
 	fn set_code() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `142`
-		//  Estimated: `67035`
-		// Minimum execution time: 81_512_045_000 picoseconds.
-		Weight::from_parts(82_321_281_000, 67035)
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
+		//  Measured:  `0`
+		//  Estimated: `1485`
+		// Minimum execution time: 84_000_503_000 picoseconds.
+		Weight::from_parts(87_586_619_000, 1485)
+			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Skipped::Metadata` (r:0 w:0)
-	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Skipped Metadata (r:0 w:0)
+	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `i` is `[0, 1000]`.
 	fn set_storage(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_074_000 picoseconds.
-		Weight::from_parts(2_137_000, 0)
-			// Standard Error: 879
-			.saturating_add(Weight::from_parts(797_224, 0).saturating_mul(i.into()))
+		// Minimum execution time: 2_086_000 picoseconds.
+		Weight::from_parts(2_175_000, 0)
+			// Standard Error: 1_056
+			.saturating_add(Weight::from_parts(841_511, 0).saturating_mul(i.into()))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
-	/// Storage: `Skipped::Metadata` (r:0 w:0)
-	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Skipped Metadata (r:0 w:0)
+	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `i` is `[0, 1000]`.
 	fn kill_storage(i: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 2_122_000 picoseconds.
-		Weight::from_parts(2_208_000, 0)
-			// Standard Error: 855
-			.saturating_add(Weight::from_parts(594_034, 0).saturating_mul(i.into()))
+		// Minimum execution time: 2_000_000 picoseconds.
+		Weight::from_parts(2_255_000, 0)
+			// Standard Error: 1_425
+			.saturating_add(Weight::from_parts(662_473, 0).saturating_mul(i.into()))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(i.into())))
 	}
-	/// Storage: `Skipped::Metadata` (r:0 w:0)
-	/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Skipped Metadata (r:0 w:0)
+	/// Proof Skipped: Skipped Metadata (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `p` is `[0, 1000]`.
 	fn kill_prefix(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `129 + p * (69 ±0)`
-		//  Estimated: `135 + p * (70 ±0)`
-		// Minimum execution time: 3_992_000 picoseconds.
-		Weight::from_parts(4_170_000, 135)
-			// Standard Error: 1_377
-			.saturating_add(Weight::from_parts(1_267_892, 0).saturating_mul(p.into()))
+		//  Measured:  `115 + p * (69 ±0)`
+		//  Estimated: `128 + p * (70 ±0)`
+		// Minimum execution time: 4_189_000 picoseconds.
+		Weight::from_parts(4_270_000, 128)
+			// Standard Error: 2_296
+			.saturating_add(Weight::from_parts(1_389_650, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(p.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(p.into())))
 			.saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into()))
@@ -280,25 +275,25 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 8_872_000 picoseconds.
-		Weight::from_parts(9_513_000, 0)
-			.saturating_add(RocksDbWeight::get().writes(1_u64))
+		// Minimum execution time: 33_027_000 picoseconds.
+		Weight::from_parts(33_027_000, 0)
+			.saturating_add(Weight::from_parts(0, 0))
+			.saturating_add(RocksDbWeight::get().writes(1))
 	}
 	/// Storage: `System::AuthorizedUpgrade` (r:1 w:1)
 	/// Proof: `System::AuthorizedUpgrade` (`max_values`: Some(1), `max_size`: Some(33), added: 528, mode: `MaxEncodedLen`)
-	/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0)
-	/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
 	/// Storage: `System::Digest` (r:1 w:1)
 	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
 	/// Storage: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	/// Proof: UNKNOWN KEY `0x3a636f6465` (r:0 w:1)
 	fn apply_authorized_upgrade() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `164`
-		//  Estimated: `67035`
-		// Minimum execution time: 85_037_546_000 picoseconds.
-		Weight::from_parts(85_819_414_000, 67035)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
-			.saturating_add(RocksDbWeight::get().writes(3_u64))
+		//  Measured:  `22`
+		//  Estimated: `1518`
+		// Minimum execution time: 118_101_992_000 picoseconds.
+		Weight::from_parts(118_101_992_000, 0)
+			.saturating_add(Weight::from_parts(0, 1518))
+			.saturating_add(RocksDbWeight::get().reads(2))
+			.saturating_add(RocksDbWeight::get().writes(3))
 	}
 }
diff --git a/substrate/frame/timestamp/src/weights.rs b/substrate/frame/timestamp/src/weights.rs
index 2df68ba0f1e..46c54473486 100644
--- a/substrate/frame/timestamp/src/weights.rs
+++ b/substrate/frame/timestamp/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_timestamp`
+//! Autogenerated weights for pallet_timestamp
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/timestamp/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/timestamp/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,57 +50,57 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_timestamp`.
+/// Weight functions needed for pallet_timestamp.
 pub trait WeightInfo {
 	fn set() -> Weight;
 	fn on_finalize() -> Weight;
 }
 
-/// Weights for `pallet_timestamp` using the Substrate node and recommended hardware.
+/// Weights for pallet_timestamp using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Timestamp::Now` (r:1 w:1)
-	/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Babe::CurrentSlot` (r:1 w:0)
-	/// Proof: `Babe::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
+	/// Storage: Timestamp Now (r:1 w:1)
+	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Babe CurrentSlot (r:1 w:0)
+	/// Proof: Babe CurrentSlot (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
 	fn set() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `345`
+		//  Measured:  `312`
 		//  Estimated: `1493`
-		// Minimum execution time: 8_417_000 picoseconds.
-		Weight::from_parts(8_932_000, 1493)
+		// Minimum execution time: 9_857_000 picoseconds.
+		Weight::from_parts(10_492_000, 1493)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 	fn on_finalize() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `194`
+		//  Measured:  `161`
 		//  Estimated: `0`
-		// Minimum execution time: 3_911_000 picoseconds.
-		Weight::from_parts(4_092_000, 0)
+		// Minimum execution time: 4_175_000 picoseconds.
+		Weight::from_parts(4_334_000, 0)
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Timestamp::Now` (r:1 w:1)
-	/// Proof: `Timestamp::Now` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
-	/// Storage: `Babe::CurrentSlot` (r:1 w:0)
-	/// Proof: `Babe::CurrentSlot` (`max_values`: Some(1), `max_size`: Some(8), added: 503, mode: `MaxEncodedLen`)
+	/// Storage: Timestamp Now (r:1 w:1)
+	/// Proof: Timestamp Now (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
+	/// Storage: Babe CurrentSlot (r:1 w:0)
+	/// Proof: Babe CurrentSlot (max_values: Some(1), max_size: Some(8), added: 503, mode: MaxEncodedLen)
 	fn set() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `345`
+		//  Measured:  `312`
 		//  Estimated: `1493`
-		// Minimum execution time: 8_417_000 picoseconds.
-		Weight::from_parts(8_932_000, 1493)
+		// Minimum execution time: 9_857_000 picoseconds.
+		Weight::from_parts(10_492_000, 1493)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
 	fn on_finalize() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `194`
+		//  Measured:  `161`
 		//  Estimated: `0`
-		// Minimum execution time: 3_911_000 picoseconds.
-		Weight::from_parts(4_092_000, 0)
+		// Minimum execution time: 4_175_000 picoseconds.
+		Weight::from_parts(4_334_000, 0)
 	}
 }
diff --git a/substrate/frame/tips/src/weights.rs b/substrate/frame/tips/src/weights.rs
index dbe1ed246ff..ec622866715 100644
--- a/substrate/frame/tips/src/weights.rs
+++ b/substrate/frame/tips/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_tips`
+//! Autogenerated weights for pallet_tips
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/tips/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/tips/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_tips`.
+/// Weight functions needed for pallet_tips.
 pub trait WeightInfo {
 	fn report_awesome(r: u32, ) -> Weight;
 	fn retract_tip() -> Weight;
@@ -59,220 +60,220 @@ pub trait WeightInfo {
 	fn slash_tip(t: u32, ) -> Weight;
 }
 
-/// Weights for `pallet_tips` using the Substrate node and recommended hardware.
+/// Weights for pallet_tips using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Tips::Reasons` (r:1 w:1)
-	/// Proof: `Tips::Reasons` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Tips::Tips` (r:1 w:1)
-	/// Proof: `Tips::Tips` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Tips Reasons (r:1 w:1)
+	/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Tips Tips (r:1 w:1)
+	/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `r` is `[0, 300]`.
 	fn report_awesome(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `4`
 		//  Estimated: `3469`
-		// Minimum execution time: 25_145_000 picoseconds.
-		Weight::from_parts(26_085_800, 3469)
-			// Standard Error: 216
-			.saturating_add(Weight::from_parts(5_121, 0).saturating_mul(r.into()))
+		// Minimum execution time: 29_576_000 picoseconds.
+		Weight::from_parts(30_722_650, 3469)
+			// Standard Error: 192
+			.saturating_add(Weight::from_parts(2_601, 0).saturating_mul(r.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Tips::Tips` (r:1 w:1)
-	/// Proof: `Tips::Tips` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Tips::Reasons` (r:0 w:1)
-	/// Proof: `Tips::Reasons` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Tips Tips (r:1 w:1)
+	/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Tips Reasons (r:0 w:1)
+	/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
 	fn retract_tip() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `221`
 		//  Estimated: `3686`
-		// Minimum execution time: 25_302_000 picoseconds.
-		Weight::from_parts(26_229_000, 3686)
+		// Minimum execution time: 28_522_000 picoseconds.
+		Weight::from_parts(29_323_000, 3686)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Tips::Reasons` (r:1 w:1)
-	/// Proof: `Tips::Reasons` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Tips::Tips` (r:0 w:1)
-	/// Proof: `Tips::Tips` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Tips Reasons (r:1 w:1)
+	/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Tips Tips (r:0 w:1)
+	/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `r` is `[0, 300]`.
 	/// The range of component `t` is `[1, 13]`.
 	fn tip_new(r: u32, t: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `526 + t * (64 ±0)`
 		//  Estimated: `3991 + t * (64 ±0)`
-		// Minimum execution time: 16_600_000 picoseconds.
-		Weight::from_parts(17_071_638, 3991)
-			// Standard Error: 131
-			.saturating_add(Weight::from_parts(1_138, 0).saturating_mul(r.into()))
-			// Standard Error: 3_125
-			.saturating_add(Weight::from_parts(82_996, 0).saturating_mul(t.into()))
+		// Minimum execution time: 19_650_000 picoseconds.
+		Weight::from_parts(19_837_982, 3991)
+			// Standard Error: 151
+			.saturating_add(Weight::from_parts(1_746, 0).saturating_mul(r.into()))
+			// Standard Error: 3_588
+			.saturating_add(Weight::from_parts(102_359, 0).saturating_mul(t.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(t.into()))
 	}
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Tips::Tips` (r:1 w:1)
-	/// Proof: `Tips::Tips` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Tips Tips (r:1 w:1)
+	/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `t` is `[1, 13]`.
 	fn tip(t: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `747 + t * (112 ±0)`
 		//  Estimated: `4212 + t * (112 ±0)`
-		// Minimum execution time: 13_972_000 picoseconds.
-		Weight::from_parts(14_269_356, 4212)
-			// Standard Error: 4_695
-			.saturating_add(Weight::from_parts(205_433, 0).saturating_mul(t.into()))
+		// Minimum execution time: 15_641_000 picoseconds.
+		Weight::from_parts(15_745_460, 4212)
+			// Standard Error: 5_106
+			.saturating_add(Weight::from_parts(229_475, 0).saturating_mul(t.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 112).saturating_mul(t.into()))
 	}
-	/// Storage: `Tips::Tips` (r:1 w:1)
-	/// Proof: `Tips::Tips` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Tips::Reasons` (r:0 w:1)
-	/// Proof: `Tips::Reasons` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Tips Tips (r:1 w:1)
+	/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Tips Reasons (r:0 w:1)
+	/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `t` is `[1, 13]`.
 	fn close_tip(t: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `786 + t * (112 ±0)`
 		//  Estimated: `4242 + t * (112 ±0)`
-		// Minimum execution time: 51_878_000 picoseconds.
-		Weight::from_parts(54_513_477, 4242)
-			// Standard Error: 12_281
-			.saturating_add(Weight::from_parts(126_605, 0).saturating_mul(t.into()))
+		// Minimum execution time: 62_059_000 picoseconds.
+		Weight::from_parts(64_604_554, 4242)
+			// Standard Error: 11_818
+			.saturating_add(Weight::from_parts(116_297, 0).saturating_mul(t.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 112).saturating_mul(t.into()))
 	}
-	/// Storage: `Tips::Tips` (r:1 w:1)
-	/// Proof: `Tips::Tips` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Tips::Reasons` (r:0 w:1)
-	/// Proof: `Tips::Reasons` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Tips Tips (r:1 w:1)
+	/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Tips Reasons (r:0 w:1)
+	/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `t` is `[1, 13]`.
 	fn slash_tip(t: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `269`
 		//  Estimated: `3734`
-		// Minimum execution time: 11_800_000 picoseconds.
-		Weight::from_parts(12_520_984, 3734)
-			// Standard Error: 2_360
-			.saturating_add(Weight::from_parts(28_777, 0).saturating_mul(t.into()))
+		// Minimum execution time: 14_133_000 picoseconds.
+		Weight::from_parts(14_957_547, 3734)
+			// Standard Error: 2_765
+			.saturating_add(Weight::from_parts(22_138, 0).saturating_mul(t.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Tips::Reasons` (r:1 w:1)
-	/// Proof: `Tips::Reasons` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Tips::Tips` (r:1 w:1)
-	/// Proof: `Tips::Tips` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Tips Reasons (r:1 w:1)
+	/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Tips Tips (r:1 w:1)
+	/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `r` is `[0, 300]`.
 	fn report_awesome(r: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `4`
 		//  Estimated: `3469`
-		// Minimum execution time: 25_145_000 picoseconds.
-		Weight::from_parts(26_085_800, 3469)
-			// Standard Error: 216
-			.saturating_add(Weight::from_parts(5_121, 0).saturating_mul(r.into()))
+		// Minimum execution time: 29_576_000 picoseconds.
+		Weight::from_parts(30_722_650, 3469)
+			// Standard Error: 192
+			.saturating_add(Weight::from_parts(2_601, 0).saturating_mul(r.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Tips::Tips` (r:1 w:1)
-	/// Proof: `Tips::Tips` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Tips::Reasons` (r:0 w:1)
-	/// Proof: `Tips::Reasons` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Tips Tips (r:1 w:1)
+	/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Tips Reasons (r:0 w:1)
+	/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
 	fn retract_tip() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `221`
 		//  Estimated: `3686`
-		// Minimum execution time: 25_302_000 picoseconds.
-		Weight::from_parts(26_229_000, 3686)
+		// Minimum execution time: 28_522_000 picoseconds.
+		Weight::from_parts(29_323_000, 3686)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Tips::Reasons` (r:1 w:1)
-	/// Proof: `Tips::Reasons` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Tips::Tips` (r:0 w:1)
-	/// Proof: `Tips::Tips` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Tips Reasons (r:1 w:1)
+	/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Tips Tips (r:0 w:1)
+	/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `r` is `[0, 300]`.
 	/// The range of component `t` is `[1, 13]`.
 	fn tip_new(r: u32, t: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `526 + t * (64 ±0)`
 		//  Estimated: `3991 + t * (64 ±0)`
-		// Minimum execution time: 16_600_000 picoseconds.
-		Weight::from_parts(17_071_638, 3991)
-			// Standard Error: 131
-			.saturating_add(Weight::from_parts(1_138, 0).saturating_mul(r.into()))
-			// Standard Error: 3_125
-			.saturating_add(Weight::from_parts(82_996, 0).saturating_mul(t.into()))
+		// Minimum execution time: 19_650_000 picoseconds.
+		Weight::from_parts(19_837_982, 3991)
+			// Standard Error: 151
+			.saturating_add(Weight::from_parts(1_746, 0).saturating_mul(r.into()))
+			// Standard Error: 3_588
+			.saturating_add(Weight::from_parts(102_359, 0).saturating_mul(t.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 			.saturating_add(Weight::from_parts(0, 64).saturating_mul(t.into()))
 	}
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `Tips::Tips` (r:1 w:1)
-	/// Proof: `Tips::Tips` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: Tips Tips (r:1 w:1)
+	/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `t` is `[1, 13]`.
 	fn tip(t: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `747 + t * (112 ±0)`
 		//  Estimated: `4212 + t * (112 ±0)`
-		// Minimum execution time: 13_972_000 picoseconds.
-		Weight::from_parts(14_269_356, 4212)
-			// Standard Error: 4_695
-			.saturating_add(Weight::from_parts(205_433, 0).saturating_mul(t.into()))
+		// Minimum execution time: 15_641_000 picoseconds.
+		Weight::from_parts(15_745_460, 4212)
+			// Standard Error: 5_106
+			.saturating_add(Weight::from_parts(229_475, 0).saturating_mul(t.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 			.saturating_add(Weight::from_parts(0, 112).saturating_mul(t.into()))
 	}
-	/// Storage: `Tips::Tips` (r:1 w:1)
-	/// Proof: `Tips::Tips` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Elections::Members` (r:1 w:0)
-	/// Proof: `Elections::Members` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Tips::Reasons` (r:0 w:1)
-	/// Proof: `Tips::Reasons` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Tips Tips (r:1 w:1)
+	/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Elections Members (r:1 w:0)
+	/// Proof Skipped: Elections Members (max_values: Some(1), max_size: None, mode: Measured)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Tips Reasons (r:0 w:1)
+	/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `t` is `[1, 13]`.
 	fn close_tip(t: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `786 + t * (112 ±0)`
 		//  Estimated: `4242 + t * (112 ±0)`
-		// Minimum execution time: 51_878_000 picoseconds.
-		Weight::from_parts(54_513_477, 4242)
-			// Standard Error: 12_281
-			.saturating_add(Weight::from_parts(126_605, 0).saturating_mul(t.into()))
+		// Minimum execution time: 62_059_000 picoseconds.
+		Weight::from_parts(64_604_554, 4242)
+			// Standard Error: 11_818
+			.saturating_add(Weight::from_parts(116_297, 0).saturating_mul(t.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 112).saturating_mul(t.into()))
 	}
-	/// Storage: `Tips::Tips` (r:1 w:1)
-	/// Proof: `Tips::Tips` (`max_values`: None, `max_size`: None, mode: `Measured`)
-	/// Storage: `Tips::Reasons` (r:0 w:1)
-	/// Proof: `Tips::Reasons` (`max_values`: None, `max_size`: None, mode: `Measured`)
+	/// Storage: Tips Tips (r:1 w:1)
+	/// Proof Skipped: Tips Tips (max_values: None, max_size: None, mode: Measured)
+	/// Storage: Tips Reasons (r:0 w:1)
+	/// Proof Skipped: Tips Reasons (max_values: None, max_size: None, mode: Measured)
 	/// The range of component `t` is `[1, 13]`.
 	fn slash_tip(t: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `269`
 		//  Estimated: `3734`
-		// Minimum execution time: 11_800_000 picoseconds.
-		Weight::from_parts(12_520_984, 3734)
-			// Standard Error: 2_360
-			.saturating_add(Weight::from_parts(28_777, 0).saturating_mul(t.into()))
+		// Minimum execution time: 14_133_000 picoseconds.
+		Weight::from_parts(14_957_547, 3734)
+			// Standard Error: 2_765
+			.saturating_add(Weight::from_parts(22_138, 0).saturating_mul(t.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
diff --git a/substrate/frame/transaction-payment/Cargo.toml b/substrate/frame/transaction-payment/Cargo.toml
index 66e0bef1436..275e1c01f92 100644
--- a/substrate/frame/transaction-payment/Cargo.toml
+++ b/substrate/frame/transaction-payment/Cargo.toml
@@ -21,7 +21,6 @@ codec = { package = "parity-scale-codec", version = "3.6.1", default-features =
 ] }
 scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
 serde = { optional = true, workspace = true, default-features = true }
-frame-benchmarking = { path = "../benchmarking", default-features = false, optional = true }
 frame-support = { path = "../support", default-features = false }
 frame-system = { path = "../system", default-features = false }
 sp-core = { path = "../../primitives/core", default-features = false }
@@ -37,7 +36,6 @@ pallet-balances = { path = "../balances" }
 default = ["std"]
 std = [
 	"codec/std",
-	"frame-benchmarking?/std",
 	"frame-support/std",
 	"frame-system/std",
 	"pallet-balances/std",
@@ -48,13 +46,6 @@ std = [
 	"sp-runtime/std",
 	"sp-std/std",
 ]
-runtime-benchmarks = [
-	"frame-benchmarking/runtime-benchmarks",
-	"frame-support/runtime-benchmarks",
-	"frame-system/runtime-benchmarks",
-	"pallet-balances/runtime-benchmarks",
-	"sp-runtime/runtime-benchmarks",
-]
 try-runtime = [
 	"frame-support/try-runtime",
 	"frame-system/try-runtime",
diff --git a/substrate/frame/transaction-payment/asset-conversion-tx-payment/Cargo.toml b/substrate/frame/transaction-payment/asset-conversion-tx-payment/Cargo.toml
index 528f29e8e4a..7640cc815e5 100644
--- a/substrate/frame/transaction-payment/asset-conversion-tx-payment/Cargo.toml
+++ b/substrate/frame/transaction-payment/asset-conversion-tx-payment/Cargo.toml
@@ -19,7 +19,6 @@ targets = ["x86_64-unknown-linux-gnu"]
 # Substrate dependencies
 sp-runtime = { path = "../../../primitives/runtime", default-features = false }
 sp-std = { path = "../../../primitives/std", default-features = false }
-frame-benchmarking = { path = "../../benchmarking", default-features = false, optional = true }
 frame-support = { path = "../../support", default-features = false }
 frame-system = { path = "../../system", default-features = false }
 pallet-asset-conversion = { path = "../../asset-conversion", default-features = false }
@@ -38,7 +37,6 @@ pallet-balances = { path = "../../balances" }
 default = ["std"]
 std = [
 	"codec/std",
-	"frame-benchmarking?/std",
 	"frame-support/std",
 	"frame-system/std",
 	"pallet-asset-conversion/std",
@@ -52,16 +50,6 @@ std = [
 	"sp-std/std",
 	"sp-storage/std",
 ]
-runtime-benchmarks = [
-	"frame-benchmarking/runtime-benchmarks",
-	"frame-support/runtime-benchmarks",
-	"frame-system/runtime-benchmarks",
-	"pallet-asset-conversion/runtime-benchmarks",
-	"pallet-assets/runtime-benchmarks",
-	"pallet-balances/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
-	"sp-runtime/runtime-benchmarks",
-]
 try-runtime = [
 	"frame-support/try-runtime",
 	"frame-system/try-runtime",
diff --git a/substrate/frame/transaction-payment/asset-conversion-tx-payment/README.md b/substrate/frame/transaction-payment/asset-conversion-tx-payment/README.md
index fcd1527526e..eccba773673 100644
--- a/substrate/frame/transaction-payment/asset-conversion-tx-payment/README.md
+++ b/substrate/frame/transaction-payment/asset-conversion-tx-payment/README.md
@@ -16,6 +16,6 @@ asset.
 ### Integration
 This pallet wraps FRAME's transaction payment pallet and functions as a replacement. This means
 you should include both pallets in your `construct_runtime` macro, but only include this
-pallet's [`TransactionExtension`] ([`ChargeAssetTxPayment`]).
+pallet's [`SignedExtension`] ([`ChargeAssetTxPayment`]).
 
 License: Apache-2.0
diff --git a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/benchmarking.rs b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/benchmarking.rs
deleted file mode 100644
index 0bffb991e4a..00000000000
--- a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/benchmarking.rs
+++ /dev/null
@@ -1,125 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Benchmarks for Asset Conversion Tx Payment Pallet's transaction extension
-
-use super::*;
-use crate::Pallet;
-use frame_benchmarking::v2::*;
-use frame_support::{
-	dispatch::{DispatchInfo, PostDispatchInfo},
-	pallet_prelude::*,
-};
-use frame_system::RawOrigin;
-use sp_runtime::traits::{AsSystemOriginSigner, DispatchTransaction, Dispatchable};
-
-#[benchmarks(where
-	T::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
-	AssetBalanceOf<T>: Send + Sync,
-	BalanceOf<T>: Send
-		+ Sync
-		+ From<u64>
-		+ Into<ChargeAssetBalanceOf<T>>
-		+ Into<ChargeAssetLiquidityOf<T>>
-		+ From<ChargeAssetLiquidityOf<T>>,
-	ChargeAssetIdOf<T>: Send + Sync + Default,
-	<T::RuntimeCall as Dispatchable>::RuntimeOrigin: AsSystemOriginSigner<T::AccountId> + Clone,
-)]
-mod benchmarks {
-	use super::*;
-
-	#[benchmark]
-	fn charge_asset_tx_payment_zero() {
-		let caller: T::AccountId = whitelisted_caller();
-		let ext: ChargeAssetTxPayment<T> = ChargeAssetTxPayment::from(0u64.into(), None);
-		let inner = frame_system::Call::remark { remark: vec![] };
-		let call = T::RuntimeCall::from(inner);
-		let info = DispatchInfo {
-			weight: Weight::zero(),
-			class: DispatchClass::Normal,
-			pays_fee: Pays::No,
-		};
-		let post_info = PostDispatchInfo { actual_weight: None, pays_fee: Pays::No };
-		#[block]
-		{
-			assert!(ext
-				.test_run(RawOrigin::Signed(caller).into(), &call, &info, 0, |_| Ok(post_info))
-				.unwrap()
-				.is_ok());
-		}
-	}
-
-	#[benchmark]
-	fn charge_asset_tx_payment_native() {
-		let caller: T::AccountId = whitelisted_caller();
-		let (fun_asset_id, _) = <T as Config>::BenchmarkHelper::create_asset_id_parameter(1);
-		<T as Config>::BenchmarkHelper::setup_balances_and_pool(fun_asset_id, caller.clone());
-		let ext: ChargeAssetTxPayment<T> = ChargeAssetTxPayment::from(10u64.into(), None);
-		let inner = frame_system::Call::remark { remark: vec![] };
-		let call = T::RuntimeCall::from(inner);
-		let info = DispatchInfo {
-			weight: Weight::from_parts(10, 0),
-			class: DispatchClass::Operational,
-			pays_fee: Pays::Yes,
-		};
-		let post_info = PostDispatchInfo {
-			actual_weight: Some(Weight::from_parts(10, 0)),
-			pays_fee: Pays::Yes,
-		};
-
-		#[block]
-		{
-			assert!(ext
-				.test_run(RawOrigin::Signed(caller).into(), &call, &info, 0, |_| Ok(post_info))
-				.unwrap()
-				.is_ok());
-		}
-	}
-
-	#[benchmark]
-	fn charge_asset_tx_payment_asset() {
-		let caller: T::AccountId = whitelisted_caller();
-		let (fun_asset_id, asset_id) = <T as Config>::BenchmarkHelper::create_asset_id_parameter(1);
-		<T as Config>::BenchmarkHelper::setup_balances_and_pool(fun_asset_id, caller.clone());
-
-		let tip = 10u64.into();
-		let ext: ChargeAssetTxPayment<T> = ChargeAssetTxPayment::from(tip, Some(asset_id));
-		let inner = frame_system::Call::remark { remark: vec![] };
-		let call = T::RuntimeCall::from(inner);
-		let info = DispatchInfo {
-			weight: Weight::from_parts(10, 0),
-			class: DispatchClass::Operational,
-			pays_fee: Pays::Yes,
-		};
-		let post_info = PostDispatchInfo {
-			actual_weight: Some(Weight::from_parts(10, 0)),
-			pays_fee: Pays::Yes,
-		};
-
-		#[block]
-		{
-			assert!(ext
-				.test_run(RawOrigin::Signed(caller.clone()).into(), &call, &info, 0, |_| Ok(
-					post_info
-				))
-				.unwrap()
-				.is_ok());
-		}
-	}
-
-	impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Runtime);
-}
diff --git a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/lib.rs b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/lib.rs
index 8ef7c2ba38e..ed0ed56e6e0 100644
--- a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/lib.rs
+++ b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/lib.rs
@@ -20,8 +20,8 @@
 //!
 //! ## Overview
 //!
-//! This pallet provides a `TransactionExtension` with an optional `AssetId` that specifies the
-//! asset to be used for payment (defaulting to the native token on `None`). It expects an
+//! This pallet provides a `SignedExtension` with an optional `AssetId` that specifies the asset
+//! to be used for payment (defaulting to the native token on `None`). It expects an
 //! [`OnChargeAssetTransaction`] implementation analogous to [`pallet-transaction-payment`]. The
 //! included [`AssetConversionAdapter`] (implementing [`OnChargeAssetTransaction`]) determines the
 //! fee amount by converting the fee calculated by [`pallet-transaction-payment`] in the native
@@ -31,7 +31,7 @@
 //!
 //! This pallet does not have any dispatchable calls or storage. It wraps FRAME's Transaction
 //! Payment pallet and functions as a replacement. This means you should include both pallets in
-//! your `construct_runtime` macro, but only include this pallet's [`TransactionExtension`]
+//! your `construct_runtime` macro, but only include this pallet's [`SignedExtension`]
 //! ([`ChargeAssetTxPayment`]).
 //!
 //! ## Terminology
@@ -53,29 +53,23 @@ use frame_support::{
 	},
 	DefaultNoBound,
 };
-use pallet_transaction_payment::{ChargeTransactionPayment, OnChargeTransaction};
+use pallet_transaction_payment::OnChargeTransaction;
 use scale_info::TypeInfo;
 use sp_runtime::{
-	traits::{
-		AsSystemOriginSigner, DispatchInfoOf, Dispatchable, PostDispatchInfoOf,
-		TransactionExtension, TransactionExtensionBase, ValidateResult, Zero,
+	traits::{DispatchInfoOf, Dispatchable, PostDispatchInfoOf, SignedExtension, Zero},
+	transaction_validity::{
+		InvalidTransaction, TransactionValidity, TransactionValidityError, ValidTransaction,
 	},
-	transaction_validity::{InvalidTransaction, TransactionValidityError, ValidTransaction},
 };
 
 #[cfg(test)]
 mod mock;
 #[cfg(test)]
 mod tests;
-pub mod weights;
-
-#[cfg(feature = "runtime-benchmarks")]
-mod benchmarking;
 
 mod payment;
-use frame_support::{pallet_prelude::Weight, traits::tokens::AssetId};
+use frame_support::traits::tokens::AssetId;
 pub use payment::*;
-pub use weights::WeightInfo;
 
 /// Type aliases used for interaction with `OnChargeTransaction`.
 pub(crate) type OnChargeTransactionOf<T> =
@@ -131,30 +125,11 @@ pub mod pallet {
 		type Fungibles: Balanced<Self::AccountId>;
 		/// The actual transaction charging logic that charges the fees.
 		type OnChargeAssetTransaction: OnChargeAssetTransaction<Self>;
-		/// The weight information of this pallet.
-		type WeightInfo: WeightInfo;
-		#[cfg(feature = "runtime-benchmarks")]
-		/// Benchmark helper
-		type BenchmarkHelper: BenchmarkHelperTrait<
-			Self::AccountId,
-			<<Self as Config>::Fungibles as Inspect<Self::AccountId>>::AssetId,
-			<<Self as Config>::OnChargeAssetTransaction as OnChargeAssetTransaction<Self>>::AssetId,
-		>;
 	}
 
 	#[pallet::pallet]
 	pub struct Pallet<T>(_);
 
-	#[cfg(feature = "runtime-benchmarks")]
-	/// Helper trait to benchmark the `ChargeAssetTxPayment` transaction extension.
-	pub trait BenchmarkHelperTrait<AccountId, FunAssetIdParameter, AssetIdParameter> {
-		/// Returns the `AssetId` to be used in the liquidity pool by the benchmarking code.
-		fn create_asset_id_parameter(id: u32) -> (FunAssetIdParameter, AssetIdParameter);
-		/// Create a liquidity pool for a given asset and sufficiently endow accounts to benchmark
-		/// the extension.
-		fn setup_balances_and_pool(asset_id: FunAssetIdParameter, account: AccountId);
-	}
-
 	#[pallet::event]
 	#[pallet::generate_deposit(pub(super) fn deposit_event)]
 	pub enum Event<T: Config> {
@@ -204,8 +179,9 @@ where
 		who: &T::AccountId,
 		call: &T::RuntimeCall,
 		info: &DispatchInfoOf<T::RuntimeCall>,
-		fee: BalanceOf<T>,
+		len: usize,
 	) -> Result<(BalanceOf<T>, InitialPayment<T>), TransactionValidityError> {
+		let fee = pallet_transaction_payment::Pallet::<T>::compute_fee(len as u32, info, self.tip);
 		debug_assert!(self.tip <= fee, "tip should be included in the computed fee");
 		if fee.is_zero() {
 			Ok((fee, InitialPayment::Nothing))
@@ -249,30 +225,7 @@ impl<T: Config> sp_std::fmt::Debug for ChargeAssetTxPayment<T> {
 	}
 }
 
-impl<T: Config> TransactionExtensionBase for ChargeAssetTxPayment<T>
-where
-	AssetBalanceOf<T>: Send + Sync,
-	BalanceOf<T>: Send
-		+ Sync
-		+ From<u64>
-		+ Into<ChargeAssetBalanceOf<T>>
-		+ Into<ChargeAssetLiquidityOf<T>>
-		+ From<ChargeAssetLiquidityOf<T>>,
-	ChargeAssetIdOf<T>: Send + Sync,
-{
-	const IDENTIFIER: &'static str = "ChargeAssetTxPayment";
-	type Implicit = ();
-
-	fn weight(&self) -> Weight {
-		if self.asset_id.is_some() {
-			<T as Config>::WeightInfo::charge_asset_tx_payment_asset()
-		} else {
-			<T as Config>::WeightInfo::charge_asset_tx_payment_native()
-		}
-	}
-}
-
-impl<T: Config, Context> TransactionExtension<T::RuntimeCall, Context> for ChargeAssetTxPayment<T>
+impl<T: Config> SignedExtension for ChargeAssetTxPayment<T>
 where
 	T::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
 	AssetBalanceOf<T>: Send + Sync,
@@ -283,123 +236,111 @@ where
 		+ Into<ChargeAssetLiquidityOf<T>>
 		+ From<ChargeAssetLiquidityOf<T>>,
 	ChargeAssetIdOf<T>: Send + Sync,
-	<T::RuntimeCall as Dispatchable>::RuntimeOrigin: AsSystemOriginSigner<T::AccountId> + Clone,
 {
-	type Val = (
-		// tip
-		BalanceOf<T>,
-		// who paid the fee
-		T::AccountId,
-		// transaction fee
-		BalanceOf<T>,
-	);
+	const IDENTIFIER: &'static str = "ChargeAssetTxPayment";
+	type AccountId = T::AccountId;
+	type Call = T::RuntimeCall;
+	type AdditionalSigned = ();
 	type Pre = (
 		// tip
 		BalanceOf<T>,
 		// who paid the fee
-		T::AccountId,
+		Self::AccountId,
 		// imbalance resulting from withdrawing the fee
 		InitialPayment<T>,
 		// asset_id for the transaction payment
 		Option<ChargeAssetIdOf<T>>,
 	);
 
+	fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> {
+		Ok(())
+	}
+
 	fn validate(
 		&self,
-		origin: <T::RuntimeCall as Dispatchable>::RuntimeOrigin,
-		_call: &T::RuntimeCall,
-		info: &DispatchInfoOf<T::RuntimeCall>,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
 		len: usize,
-		_context: &mut Context,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> ValidateResult<Self::Val, T::RuntimeCall> {
-		let who = origin.as_system_origin_signer().ok_or(InvalidTransaction::BadSigner)?;
-		// Non-mutating call of `compute_fee` to calculate the fee used in the transaction priority.
-		let fee = pallet_transaction_payment::Pallet::<T>::compute_fee(len as u32, info, self.tip);
+	) -> TransactionValidity {
+		use pallet_transaction_payment::ChargeTransactionPayment;
+		let (fee, _) = self.withdraw_fee(who, call, info, len)?;
 		let priority = ChargeTransactionPayment::<T>::get_priority(info, len, self.tip, fee);
-		let validity = ValidTransaction { priority, ..Default::default() };
-		let val = (self.tip, who.clone(), fee);
-		Ok((validity, val, origin))
+		Ok(ValidTransaction { priority, ..Default::default() })
 	}
 
-	fn prepare(
+	fn pre_dispatch(
 		self,
-		val: Self::Val,
-		_origin: &<T::RuntimeCall as Dispatchable>::RuntimeOrigin,
-		call: &T::RuntimeCall,
-		info: &DispatchInfoOf<T::RuntimeCall>,
-		_len: usize,
-		_context: &Context,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
 	) -> Result<Self::Pre, TransactionValidityError> {
-		let (tip, who, fee) = val;
-		// Mutating call of `withdraw_fee` to actually charge for the transaction.
-		let (_fee, initial_payment) = self.withdraw_fee(&who, call, info, fee)?;
-		Ok((tip, who, initial_payment, self.asset_id.clone()))
+		let (_fee, initial_payment) = self.withdraw_fee(who, call, info, len)?;
+		Ok((self.tip, who.clone(), initial_payment, self.asset_id))
 	}
 
 	fn post_dispatch(
-		pre: Self::Pre,
-		info: &DispatchInfoOf<T::RuntimeCall>,
-		post_info: &PostDispatchInfoOf<T::RuntimeCall>,
+		pre: Option<Self::Pre>,
+		info: &DispatchInfoOf<Self::Call>,
+		post_info: &PostDispatchInfoOf<Self::Call>,
 		len: usize,
 		result: &DispatchResult,
-		_context: &Context,
 	) -> Result<(), TransactionValidityError> {
-		let (tip, who, initial_payment, asset_id) = pre;
-		match initial_payment {
-			InitialPayment::Native(already_withdrawn) => {
-				debug_assert!(
-					asset_id.is_none(),
-					"For that payment type the `asset_id` should be None"
-				);
-				pallet_transaction_payment::ChargeTransactionPayment::<T>::post_dispatch(
-					(tip, who, already_withdrawn),
-					info,
-					post_info,
-					len,
-					result,
-					&(),
-				)?;
-			},
-			InitialPayment::Asset(already_withdrawn) => {
-				debug_assert!(
-					asset_id.is_some(),
-					"For that payment type the `asset_id` should be set"
-				);
-				let actual_fee = pallet_transaction_payment::Pallet::<T>::compute_actual_fee(
-					len as u32, info, post_info, tip,
-				);
-
-				if let Some(asset_id) = asset_id {
-					let (used_for_fee, received_exchanged, asset_consumed) = already_withdrawn;
-					let converted_fee = T::OnChargeAssetTransaction::correct_and_deposit_fee(
-						&who,
+		if let Some((tip, who, initial_payment, asset_id)) = pre {
+			match initial_payment {
+				InitialPayment::Native(already_withdrawn) => {
+					debug_assert!(
+						asset_id.is_none(),
+						"For that payment type the `asset_id` should be None"
+					);
+					pallet_transaction_payment::ChargeTransactionPayment::<T>::post_dispatch(
+						Some((tip, who, already_withdrawn)),
 						info,
 						post_info,
-						actual_fee.into(),
-						tip.into(),
-						used_for_fee.into(),
-						received_exchanged.into(),
-						asset_id.clone(),
-						asset_consumed.into(),
+						len,
+						result,
 					)?;
+				},
+				InitialPayment::Asset(already_withdrawn) => {
+					debug_assert!(
+						asset_id.is_some(),
+						"For that payment type the `asset_id` should be set"
+					);
+					let actual_fee = pallet_transaction_payment::Pallet::<T>::compute_actual_fee(
+						len as u32, info, post_info, tip,
+					);
+
+					if let Some(asset_id) = asset_id {
+						let (used_for_fee, received_exchanged, asset_consumed) = already_withdrawn;
+						let converted_fee = T::OnChargeAssetTransaction::correct_and_deposit_fee(
+							&who,
+							info,
+							post_info,
+							actual_fee.into(),
+							tip.into(),
+							used_for_fee.into(),
+							received_exchanged.into(),
+							asset_id.clone(),
+							asset_consumed.into(),
+						)?;
 
-					Pallet::<T>::deposit_event(Event::<T>::AssetTxFeePaid {
-						who,
-						actual_fee: converted_fee,
-						tip,
-						asset_id,
-					});
-				}
-			},
-			InitialPayment::Nothing => {
-				// `actual_fee` should be zero here for any signed extrinsic. It would be
-				// non-zero here in case of unsigned extrinsics as they don't pay fees but
-				// `compute_actual_fee` is not aware of them. In both cases it's fine to just
-				// move ahead without adjusting the fee, though, so we do nothing.
-				debug_assert!(tip.is_zero(), "tip should be zero if initial fee was zero.");
-			},
+						Pallet::<T>::deposit_event(Event::<T>::AssetTxFeePaid {
+							who,
+							actual_fee: converted_fee,
+							tip,
+							asset_id,
+						});
+					}
+				},
+				InitialPayment::Nothing => {
+					// `actual_fee` should be zero here for any signed extrinsic. It would be
+					// non-zero here in case of unsigned extrinsics as they don't pay fees but
+					// `compute_actual_fee` is not aware of them. In both cases it's fine to just
+					// move ahead without adjusting the fee, though, so we do nothing.
+					debug_assert!(tip.is_zero(), "tip should be zero if initial fee was zero.");
+				},
+			}
 		}
 
 		Ok(())
diff --git a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs
index 853753d41cf..c8bf2eb8f44 100644
--- a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs
+++ b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/mock.rs
@@ -168,12 +168,12 @@ impl OnUnbalanced<pallet_balances::NegativeImbalance<Runtime>> for DealWithFees
 	}
 }
 
-#[derive_impl(pallet_transaction_payment::config_preludes::TestDefaultConfig as pallet_transaction_payment::DefaultConfig)]
 impl pallet_transaction_payment::Config for Runtime {
 	type RuntimeEvent = RuntimeEvent;
 	type OnChargeTransaction = CurrencyAdapter<Balances, DealWithFees>;
 	type WeightToFee = WeightToFee;
 	type LengthToFee = TransactionByteFee;
+	type FeeMultiplierUpdate = ();
 	type OperationalFeeMultiplier = ConstU8<5>;
 }
 
@@ -269,72 +269,4 @@ impl Config for Runtime {
 	type RuntimeEvent = RuntimeEvent;
 	type Fungibles = Assets;
 	type OnChargeAssetTransaction = AssetConversionAdapter<Balances, AssetConversion, Native>;
-	type WeightInfo = ();
-	#[cfg(feature = "runtime-benchmarks")]
-	type BenchmarkHelper = Helper;
-}
-
-#[cfg(feature = "runtime-benchmarks")]
-pub fn new_test_ext() -> sp_io::TestExternalities {
-	let base_weight = 5;
-	let balance_factor = 100;
-	crate::tests::ExtBuilder::default()
-		.balance_factor(balance_factor)
-		.base_weight(Weight::from_parts(base_weight, 0))
-		.build()
-}
-
-#[cfg(feature = "runtime-benchmarks")]
-pub struct Helper;
-
-#[cfg(feature = "runtime-benchmarks")]
-impl BenchmarkHelperTrait<u64, u32, u32> for Helper {
-	fn create_asset_id_parameter(id: u32) -> (u32, u32) {
-		(id, id)
-	}
-
-	fn setup_balances_and_pool(asset_id: u32, account: u64) {
-		use frame_support::{assert_ok, traits::fungibles::Mutate};
-		use sp_runtime::traits::StaticLookup;
-		assert_ok!(Assets::force_create(
-			RuntimeOrigin::root(),
-			asset_id.into(),
-			42,   /* owner */
-			true, /* is_sufficient */
-			1,
-		));
-
-		let lp_provider = 12;
-		assert_ok!(Balances::force_set_balance(RuntimeOrigin::root(), lp_provider, u64::MAX / 2));
-		let lp_provider_account = <Runtime as system::Config>::Lookup::unlookup(lp_provider);
-		assert_ok!(Assets::mint_into(asset_id.into(), &lp_provider_account, u64::MAX / 2));
-
-		let token_1 = Box::new(NativeOrWithId::Native);
-		let token_2 = Box::new(NativeOrWithId::WithId(asset_id));
-		assert_ok!(AssetConversion::create_pool(
-			RuntimeOrigin::signed(lp_provider),
-			token_1.clone(),
-			token_2.clone()
-		));
-
-		assert_ok!(AssetConversion::add_liquidity(
-			RuntimeOrigin::signed(lp_provider),
-			token_1,
-			token_2,
-			(u32::MAX / 8).into(), // 1 desired
-			u32::MAX.into(),       // 2 desired
-			1,                     // 1 min
-			1,                     // 2 min
-			lp_provider_account,
-		));
-
-		use frame_support::traits::Currency;
-		let _ = Balances::deposit_creating(&account, u32::MAX.into());
-
-		let beneficiary = <Runtime as system::Config>::Lookup::unlookup(account);
-		let balance = 1000;
-
-		assert_ok!(Assets::mint_into(asset_id.into(), &beneficiary, balance));
-		assert_eq!(Assets::balance(asset_id, account), balance);
-	}
 }
diff --git a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/tests.rs b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/tests.rs
index 619077c0a5e..62faed269d3 100644
--- a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/tests.rs
+++ b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/tests.rs
@@ -28,10 +28,7 @@ use frame_support::{
 use frame_system as system;
 use mock::{ExtrinsicBaseWeight, *};
 use pallet_balances::Call as BalancesCall;
-use sp_runtime::{
-	traits::{DispatchTransaction, StaticLookup},
-	BuildStorage,
-};
+use sp_runtime::{traits::StaticLookup, BuildStorage};
 
 const CALL: &<Runtime as frame_system::Config>::RuntimeCall =
 	&RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 69 });
@@ -163,35 +160,33 @@ fn transaction_payment_in_native_possible() {
 		.build()
 		.execute_with(|| {
 			let len = 10;
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, None)
-				.validate_and_prepare(Some(1).into(), CALL, &info_from_weight(WEIGHT_5), len)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(0, None)
+				.pre_dispatch(&1, CALL, &info_from_weight(WEIGHT_5), len)
 				.unwrap();
 			let initial_balance = 10 * balance_factor;
 			assert_eq!(Balances::free_balance(1), initial_balance - 5 - 5 - 10);
 
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(WEIGHT_5),
 				&default_post_info(),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 			assert_eq!(Balances::free_balance(1), initial_balance - 5 - 5 - 10);
 
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(5 /* tipped */, None)
-				.validate_and_prepare(Some(2).into(), CALL, &info_from_weight(WEIGHT_100), len)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(5 /* tipped */, None)
+				.pre_dispatch(&2, CALL, &info_from_weight(WEIGHT_100), len)
 				.unwrap();
 			let initial_balance_for_2 = 20 * balance_factor;
 
 			assert_eq!(Balances::free_balance(2), initial_balance_for_2 - 5 - 10 - 100 - 5);
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(WEIGHT_100),
 				&post_info_from_weight(WEIGHT_50),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 			assert_eq!(Balances::free_balance(2), initial_balance_for_2 - 5 - 10 - 50 - 5);
 		});
@@ -242,8 +237,8 @@ fn transaction_payment_in_asset_possible() {
 			let fee_in_asset = input_quote.unwrap();
 			assert_eq!(Assets::balance(asset_id, caller), balance);
 
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-				.validate_and_prepare(Some(caller).into(), CALL, &info_from_weight(WEIGHT_5), len)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
+				.pre_dispatch(&caller, CALL, &info_from_weight(WEIGHT_5), len)
 				.unwrap();
 			// assert that native balance is not used
 			assert_eq!(Balances::free_balance(caller), 10 * balance_factor);
@@ -252,12 +247,11 @@ fn transaction_payment_in_asset_possible() {
 			assert_eq!(Assets::balance(asset_id, caller), balance - fee_in_asset);
 
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(WEIGHT_5), // estimated tx weight
 				&default_post_info(),        // weight actually used == estimated
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 
 			assert_eq!(Assets::balance(asset_id, caller), balance - fee_in_asset);
@@ -295,8 +289,12 @@ fn transaction_payment_in_asset_fails_if_no_pool_for_that_asset() {
 			assert_eq!(Assets::balance(asset_id, caller), balance);
 
 			let len = 10;
-			let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-				.validate_and_prepare(Some(caller).into(), CALL, &info_from_weight(WEIGHT_5), len);
+			let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id)).pre_dispatch(
+				&caller,
+				CALL,
+				&info_from_weight(WEIGHT_5),
+				len,
+			);
 
 			// As there is no pool in the dex set up for this asset, conversion should fail.
 			assert!(pre.is_err());
@@ -346,8 +344,8 @@ fn transaction_payment_without_fee() {
 			assert_eq!(input_quote, Some(201));
 
 			let fee_in_asset = input_quote.unwrap();
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-				.validate_and_prepare(Some(caller).into(), CALL, &info_from_weight(WEIGHT_5), len)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
+				.pre_dispatch(&caller, CALL, &info_from_weight(WEIGHT_5), len)
 				.unwrap();
 
 			// assert that native balance is not used
@@ -365,12 +363,11 @@ fn transaction_payment_without_fee() {
 			assert_eq!(refund, 199);
 
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(WEIGHT_5),
 				&post_info_from_pays(Pays::No),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 
 			// caller should get refunded
@@ -422,8 +419,8 @@ fn asset_transaction_payment_with_tip_and_refund() {
 			assert_eq!(input_quote, Some(1206));
 
 			let fee_in_asset = input_quote.unwrap();
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(tip, Some(asset_id))
-				.validate_and_prepare(Some(caller).into(), CALL, &info_from_weight(WEIGHT_100), len)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(tip, Some(asset_id))
+				.pre_dispatch(&caller, CALL, &info_from_weight(WEIGHT_100), len)
 				.unwrap();
 			assert_eq!(Assets::balance(asset_id, caller), balance - fee_in_asset);
 
@@ -438,12 +435,11 @@ fn asset_transaction_payment_with_tip_and_refund() {
 			.unwrap();
 
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(WEIGHT_100),
 				&post_info_from_weight(WEIGHT_50),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 
 			assert_eq!(TipUnbalancedAmount::get(), tip);
@@ -504,8 +500,8 @@ fn payment_from_account_with_only_assets() {
 			.unwrap();
 			assert_eq!(fee_in_asset, 301);
 
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-				.validate_and_prepare(Some(caller).into(), CALL, &info_from_weight(WEIGHT_5), len)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
+				.pre_dispatch(&caller, CALL, &info_from_weight(WEIGHT_5), len)
 				.unwrap();
 			assert_eq!(Balances::free_balance(caller), ed);
 			// check that fee was charged in the given asset
@@ -520,12 +516,11 @@ fn payment_from_account_with_only_assets() {
 			.unwrap();
 
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(WEIGHT_5),
 				&default_post_info(),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 			assert_eq!(Assets::balance(asset_id, caller), balance - fee_in_asset + refund);
 			assert_eq!(Balances::free_balance(caller), 0);
@@ -570,19 +565,18 @@ fn converted_fee_is_never_zero_if_input_fee_is_not() {
 
 			// there will be no conversion when the fee is zero
 			{
-				let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-					.validate_and_prepare(Some(caller).into(), CALL, &info_from_pays(Pays::No), len)
+				let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
+					.pre_dispatch(&caller, CALL, &info_from_pays(Pays::No), len)
 					.unwrap();
 				// `Pays::No` implies there are no fees
 				assert_eq!(Assets::balance(asset_id, caller), balance);
 
 				assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-					pre,
+					Some(pre),
 					&info_from_pays(Pays::No),
 					&post_info_from_pays(Pays::No),
 					len,
-					&Ok(()),
-					&()
+					&Ok(())
 				));
 				assert_eq!(Assets::balance(asset_id, caller), balance);
 			}
@@ -597,23 +591,17 @@ fn converted_fee_is_never_zero_if_input_fee_is_not() {
 			)
 			.unwrap();
 
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-				.validate_and_prepare(
-					Some(caller).into(),
-					CALL,
-					&info_from_weight(Weight::from_parts(weight, 0)),
-					len,
-				)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
+				.pre_dispatch(&caller, CALL, &info_from_weight(Weight::from_parts(weight, 0)), len)
 				.unwrap();
 			assert_eq!(Assets::balance(asset_id, caller), balance - fee_in_asset);
 
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(Weight::from_parts(weight, 0)),
 				&default_post_info(),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 			assert_eq!(Assets::balance(asset_id, caller), balance - fee_in_asset);
 		});
@@ -653,8 +641,8 @@ fn post_dispatch_fee_is_zero_if_pre_dispatch_fee_is_zero() {
 			// calculated fee is greater than 0
 			assert!(fee > 0);
 
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-				.validate_and_prepare(Some(caller).into(), CALL, &info_from_pays(Pays::No), len)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
+				.pre_dispatch(&caller, CALL, &info_from_pays(Pays::No), len)
 				.unwrap();
 			// `Pays::No` implies no pre-dispatch fees
 
@@ -670,12 +658,62 @@ fn post_dispatch_fee_is_zero_if_pre_dispatch_fee_is_zero() {
 			// `Pays::Yes` on post-dispatch does not mean we pay (we never charge more than the
 			// initial fee)
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_pays(Pays::No),
 				&post_info_from_pays(Pays::Yes),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
+			));
+			assert_eq!(Assets::balance(asset_id, caller), balance);
+		});
+}
+
+#[test]
+fn post_dispatch_fee_is_zero_if_unsigned_pre_dispatch_fee_is_zero() {
+	let base_weight = 1;
+	ExtBuilder::default()
+		.balance_factor(100)
+		.base_weight(Weight::from_parts(base_weight, 0))
+		.build()
+		.execute_with(|| {
+			// create the asset
+			let asset_id = 1;
+			let min_balance = 100;
+			assert_ok!(Assets::force_create(
+				RuntimeOrigin::root(),
+				asset_id.into(),
+				42,   /* owner */
+				true, /* is_sufficient */
+				min_balance
+			));
+
+			// mint into the caller account
+			let caller = 333;
+			let beneficiary = <Runtime as system::Config>::Lookup::unlookup(caller);
+			let balance = 1000;
+
+			assert_ok!(Assets::mint_into(asset_id.into(), &beneficiary, balance));
+			assert_eq!(Assets::balance(asset_id, caller), balance);
+
+			let weight = 1;
+			let len = 1;
+			ChargeAssetTxPayment::<Runtime>::pre_dispatch_unsigned(
+				CALL,
+				&info_from_weight(Weight::from_parts(weight, 0)),
+				len,
+			)
+			.unwrap();
+
+			assert_eq!(Assets::balance(asset_id, caller), balance);
+
+			// `Pays::Yes` on post-dispatch does not mean we pay (we never charge more than the
+			// initial fee)
+			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
+				None,
+				&info_from_weight(Weight::from_parts(weight, 0)),
+				&post_info_from_pays(Pays::Yes),
+				len,
+				&Ok(())
 			));
 			assert_eq!(Assets::balance(asset_id, caller), balance);
 		});
diff --git a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/weights.rs b/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/weights.rs
deleted file mode 100644
index f95e49f8073..00000000000
--- a/substrate/frame/transaction-payment/asset-conversion-tx-payment/src/weights.rs
+++ /dev/null
@@ -1,150 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Autogenerated weights for `pallet_asset_conversion_tx_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
-
-// Executed Command:
-// ./target/production/substrate-node
-// benchmark
-// pallet
-// --chain=dev
-// --steps=50
-// --repeat=20
-// --pallet=pallet_asset_conversion_tx_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --wasm-execution=compiled
-// --heap-pages=4096
-// --output=./substrate/frame/transaction-payment/asset-conversion-tx-payment/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
-use core::marker::PhantomData;
-
-/// Weight functions needed for `pallet_asset_conversion_tx_payment`.
-pub trait WeightInfo {
-	fn charge_asset_tx_payment_zero() -> Weight;
-	fn charge_asset_tx_payment_native() -> Weight;
-	fn charge_asset_tx_payment_asset() -> Weight;
-}
-
-/// Weights for `pallet_asset_conversion_tx_payment` using the Substrate node and recommended hardware.
-pub struct SubstrateWeight<T>(PhantomData<T>);
-impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	fn charge_asset_tx_payment_zero() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 628_000 picoseconds.
-		Weight::from_parts(694_000, 0)
-	}
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Authorship::Author` (r:1 w:0)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	fn charge_asset_tx_payment_native() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `248`
-		//  Estimated: `1733`
-		// Minimum execution time: 34_410_000 picoseconds.
-		Weight::from_parts(35_263_000, 1733)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
-	}
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:2 w:2)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Authorship::Author` (r:1 w:0)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	fn charge_asset_tx_payment_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `888`
-		//  Estimated: `6208`
-		// Minimum execution time: 112_432_000 picoseconds.
-		Weight::from_parts(113_992_000, 6208)
-			.saturating_add(T::DbWeight::get().reads(7_u64))
-			.saturating_add(T::DbWeight::get().writes(4_u64))
-	}
-}
-
-// For backwards compatibility and tests.
-impl WeightInfo for () {
-	fn charge_asset_tx_payment_zero() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 628_000 picoseconds.
-		Weight::from_parts(694_000, 0)
-	}
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Authorship::Author` (r:1 w:0)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	fn charge_asset_tx_payment_native() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `248`
-		//  Estimated: `1733`
-		// Minimum execution time: 34_410_000 picoseconds.
-		Weight::from_parts(35_263_000, 1733)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
-	}
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:2 w:2)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Authorship::Author` (r:1 w:0)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	fn charge_asset_tx_payment_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `888`
-		//  Estimated: `6208`
-		// Minimum execution time: 112_432_000 picoseconds.
-		Weight::from_parts(113_992_000, 6208)
-			.saturating_add(RocksDbWeight::get().reads(7_u64))
-			.saturating_add(RocksDbWeight::get().writes(4_u64))
-	}
-}
diff --git a/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml b/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml
index 06d9c30792e..1da3237df08 100644
--- a/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml
+++ b/substrate/frame/transaction-payment/asset-tx-payment/Cargo.toml
@@ -66,7 +66,6 @@ runtime-benchmarks = [
 	"frame-system/runtime-benchmarks",
 	"pallet-assets/runtime-benchmarks",
 	"pallet-balances/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"sp-runtime/runtime-benchmarks",
 ]
 try-runtime = [
diff --git a/substrate/frame/transaction-payment/asset-tx-payment/README.md b/substrate/frame/transaction-payment/asset-tx-payment/README.md
index 933ce13b0ee..fc860347d85 100644
--- a/substrate/frame/transaction-payment/asset-tx-payment/README.md
+++ b/substrate/frame/transaction-payment/asset-tx-payment/README.md
@@ -16,6 +16,6 @@ asset.
 ### Integration
 This pallet wraps FRAME's transaction payment pallet and functions as a replacement. This means
 you should include both pallets in your `construct_runtime` macro, but only include this
-pallet's [`TransactionExtension`] ([`ChargeAssetTxPayment`]).
+pallet's [`SignedExtension`] ([`ChargeAssetTxPayment`]).
 
 License: Apache-2.0
diff --git a/substrate/frame/transaction-payment/asset-tx-payment/src/benchmarking.rs b/substrate/frame/transaction-payment/asset-tx-payment/src/benchmarking.rs
deleted file mode 100644
index 17e96e2b025..00000000000
--- a/substrate/frame/transaction-payment/asset-tx-payment/src/benchmarking.rs
+++ /dev/null
@@ -1,123 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Benchmarks for Asset Tx Payment Pallet's transaction extension
-
-use super::*;
-use crate::Pallet;
-use frame_benchmarking::v2::*;
-use frame_support::{
-	dispatch::{DispatchInfo, PostDispatchInfo},
-	pallet_prelude::*,
-};
-use frame_system::RawOrigin;
-use sp_runtime::traits::{AsSystemOriginSigner, DispatchTransaction, Dispatchable};
-
-#[benchmarks(where
-	T::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
-	AssetBalanceOf<T>: Send + Sync,
-	BalanceOf<T>: Send + Sync + From<u64> + IsType<ChargeAssetBalanceOf<T>>,
-	ChargeAssetIdOf<T>: Send + Sync,
-	<T::RuntimeCall as Dispatchable>::RuntimeOrigin: AsSystemOriginSigner<T::AccountId> + Clone,
-    Credit<T::AccountId, T::Fungibles>: IsType<ChargeAssetLiquidityOf<T>>,
-)]
-mod benchmarks {
-	use super::*;
-
-	#[benchmark]
-	fn charge_asset_tx_payment_zero() {
-		let caller: T::AccountId = whitelisted_caller();
-		let ext: ChargeAssetTxPayment<T> = ChargeAssetTxPayment::from(0u32.into(), None);
-		let inner = frame_system::Call::remark { remark: vec![] };
-		let call = T::RuntimeCall::from(inner);
-		let info = DispatchInfo {
-			weight: Weight::zero(),
-			class: DispatchClass::Normal,
-			pays_fee: Pays::No,
-		};
-		let post_info = PostDispatchInfo { actual_weight: None, pays_fee: Pays::No };
-		#[block]
-		{
-			assert!(ext
-				.test_run(RawOrigin::Signed(caller).into(), &call, &info, 0, |_| Ok(post_info))
-				.unwrap()
-				.is_ok());
-		}
-	}
-
-	#[benchmark]
-	fn charge_asset_tx_payment_native() {
-		let caller: T::AccountId = whitelisted_caller();
-		let (fun_asset_id, _) = <T as Config>::BenchmarkHelper::create_asset_id_parameter(1);
-		<T as Config>::BenchmarkHelper::setup_balances_and_pool(fun_asset_id, caller.clone());
-		let ext: ChargeAssetTxPayment<T> = ChargeAssetTxPayment::from(10u32.into(), None);
-		let inner = frame_system::Call::remark { remark: vec![] };
-		let call = T::RuntimeCall::from(inner);
-		let info = DispatchInfo {
-			weight: Weight::from_parts(10, 0),
-			class: DispatchClass::Operational,
-			pays_fee: Pays::Yes,
-		};
-		let post_info = PostDispatchInfo {
-			actual_weight: Some(Weight::from_parts(10, 0)),
-			pays_fee: Pays::Yes,
-		};
-
-		#[block]
-		{
-			assert!(ext
-				.test_run(RawOrigin::Signed(caller).into(), &call, &info, 0, |_| Ok(post_info))
-				.unwrap()
-				.is_ok());
-		}
-	}
-
-	#[benchmark]
-	fn charge_asset_tx_payment_asset() {
-		let caller: T::AccountId = whitelisted_caller();
-		let (fun_asset_id, asset_id) = <T as Config>::BenchmarkHelper::create_asset_id_parameter(1);
-		<T as Config>::BenchmarkHelper::setup_balances_and_pool(
-			fun_asset_id.clone(),
-			caller.clone(),
-		);
-		let tip = 10u32.into();
-		let ext: ChargeAssetTxPayment<T> = ChargeAssetTxPayment::from(tip, Some(asset_id));
-		let inner = frame_system::Call::remark { remark: vec![] };
-		let call = T::RuntimeCall::from(inner);
-		let info = DispatchInfo {
-			weight: Weight::from_parts(10, 0),
-			class: DispatchClass::Operational,
-			pays_fee: Pays::Yes,
-		};
-		let post_info = PostDispatchInfo {
-			actual_weight: Some(Weight::from_parts(10, 0)),
-			pays_fee: Pays::Yes,
-		};
-
-		#[block]
-		{
-			assert!(ext
-				.test_run(RawOrigin::Signed(caller.clone()).into(), &call, &info, 0, |_| Ok(
-					post_info
-				))
-				.unwrap()
-				.is_ok());
-		}
-	}
-
-	impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Runtime);
-}
diff --git a/substrate/frame/transaction-payment/asset-tx-payment/src/lib.rs b/substrate/frame/transaction-payment/asset-tx-payment/src/lib.rs
index 991b5f31406..753fae747a3 100644
--- a/substrate/frame/transaction-payment/asset-tx-payment/src/lib.rs
+++ b/substrate/frame/transaction-payment/asset-tx-payment/src/lib.rs
@@ -31,7 +31,7 @@
 
 //! This pallet wraps FRAME's transaction payment pallet and functions as a replacement. This means
 //! you should include both pallets in your `construct_runtime` macro, but only include this
-//! pallet's [`TransactionExtension`] ([`ChargeAssetTxPayment`]).
+//! pallet's [`SignedExtension`] ([`ChargeAssetTxPayment`]).
 
 #![cfg_attr(not(feature = "std"), no_std)]
 
@@ -40,7 +40,6 @@ use sp_std::prelude::*;
 use codec::{Decode, Encode};
 use frame_support::{
 	dispatch::{DispatchInfo, DispatchResult, PostDispatchInfo},
-	pallet_prelude::Weight,
 	traits::{
 		tokens::{
 			fungibles::{Balanced, Credit, Inspect},
@@ -53,11 +52,10 @@ use frame_support::{
 use pallet_transaction_payment::OnChargeTransaction;
 use scale_info::TypeInfo;
 use sp_runtime::{
-	traits::{
-		AsSystemOriginSigner, DispatchInfoOf, Dispatchable, PostDispatchInfoOf,
-		TransactionExtension, TransactionExtensionBase, Zero,
+	traits::{DispatchInfoOf, Dispatchable, PostDispatchInfoOf, SignedExtension, Zero},
+	transaction_validity::{
+		InvalidTransaction, TransactionValidity, TransactionValidityError, ValidTransaction,
 	},
-	transaction_validity::{InvalidTransaction, TransactionValidityError, ValidTransaction},
 };
 
 #[cfg(test)]
@@ -65,14 +63,8 @@ mod mock;
 #[cfg(test)]
 mod tests;
 
-#[cfg(feature = "runtime-benchmarks")]
-mod benchmarking;
-
 mod payment;
-pub mod weights;
-
 pub use payment::*;
-pub use weights::WeightInfo;
 
 /// Type aliases used for interaction with `OnChargeTransaction`.
 pub(crate) type OnChargeTransactionOf<T> =
@@ -128,30 +120,11 @@ pub mod pallet {
 		type Fungibles: Balanced<Self::AccountId>;
 		/// The actual transaction charging logic that charges the fees.
 		type OnChargeAssetTransaction: OnChargeAssetTransaction<Self>;
-		/// The weight information of this pallet.
-		type WeightInfo: WeightInfo;
-		#[cfg(feature = "runtime-benchmarks")]
-		/// Benchmark helper
-		type BenchmarkHelper: BenchmarkHelperTrait<
-			Self::AccountId,
-			<<Self as Config>::Fungibles as Inspect<Self::AccountId>>::AssetId,
-			<<Self as Config>::OnChargeAssetTransaction as OnChargeAssetTransaction<Self>>::AssetId,
-		>;
 	}
 
 	#[pallet::pallet]
 	pub struct Pallet<T>(_);
 
-	#[cfg(feature = "runtime-benchmarks")]
-	/// Helper trait to benchmark the `ChargeAssetTxPayment` transaction extension.
-	pub trait BenchmarkHelperTrait<AccountId, FunAssetIdParameter, AssetIdParameter> {
-		/// Returns the `AssetId` to be used in the liquidity pool by the benchmarking code.
-		fn create_asset_id_parameter(id: u32) -> (FunAssetIdParameter, AssetIdParameter);
-		/// Create a liquidity pool for a given asset and sufficiently endow accounts to benchmark
-		/// the extension.
-		fn setup_balances_and_pool(asset_id: FunAssetIdParameter, account: AccountId);
-	}
-
 	#[pallet::event]
 	#[pallet::generate_deposit(pub(super) fn deposit_event)]
 	pub enum Event<T: Config> {
@@ -199,8 +172,9 @@ where
 		who: &T::AccountId,
 		call: &T::RuntimeCall,
 		info: &DispatchInfoOf<T::RuntimeCall>,
-		fee: BalanceOf<T>,
+		len: usize,
 	) -> Result<(BalanceOf<T>, InitialPayment<T>), TransactionValidityError> {
+		let fee = pallet_transaction_payment::Pallet::<T>::compute_fee(len as u32, info, self.tip);
 		debug_assert!(self.tip <= fee, "tip should be included in the computed fee");
 		if fee.is_zero() {
 			Ok((fee, InitialPayment::Nothing))
@@ -235,139 +209,104 @@ impl<T: Config> sp_std::fmt::Debug for ChargeAssetTxPayment<T> {
 	}
 }
 
-impl<T: Config> TransactionExtensionBase for ChargeAssetTxPayment<T>
-where
-	AssetBalanceOf<T>: Send + Sync,
-	BalanceOf<T>: Send + Sync + From<u64> + IsType<ChargeAssetBalanceOf<T>>,
-	ChargeAssetIdOf<T>: Send + Sync,
-	Credit<T::AccountId, T::Fungibles>: IsType<ChargeAssetLiquidityOf<T>>,
-{
-	const IDENTIFIER: &'static str = "ChargeAssetTxPayment";
-	type Implicit = ();
-
-	fn weight(&self) -> Weight {
-		if self.asset_id.is_some() {
-			<T as Config>::WeightInfo::charge_asset_tx_payment_asset()
-		} else {
-			<T as Config>::WeightInfo::charge_asset_tx_payment_native()
-		}
-	}
-}
-
-impl<T: Config, Context> TransactionExtension<T::RuntimeCall, Context> for ChargeAssetTxPayment<T>
+impl<T: Config> SignedExtension for ChargeAssetTxPayment<T>
 where
 	T::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
 	AssetBalanceOf<T>: Send + Sync,
 	BalanceOf<T>: Send + Sync + From<u64> + IsType<ChargeAssetBalanceOf<T>>,
 	ChargeAssetIdOf<T>: Send + Sync,
 	Credit<T::AccountId, T::Fungibles>: IsType<ChargeAssetLiquidityOf<T>>,
-	<T::RuntimeCall as Dispatchable>::RuntimeOrigin: AsSystemOriginSigner<T::AccountId> + Clone,
 {
-	type Val = (
-		// tip
-		BalanceOf<T>,
-		// who paid the fee
-		T::AccountId,
-		// transaction fee
-		BalanceOf<T>,
-	);
+	const IDENTIFIER: &'static str = "ChargeAssetTxPayment";
+	type AccountId = T::AccountId;
+	type Call = T::RuntimeCall;
+	type AdditionalSigned = ();
 	type Pre = (
 		// tip
 		BalanceOf<T>,
 		// who paid the fee
-		T::AccountId,
+		Self::AccountId,
 		// imbalance resulting from withdrawing the fee
 		InitialPayment<T>,
 		// asset_id for the transaction payment
 		Option<ChargeAssetIdOf<T>>,
 	);
 
+	fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> {
+		Ok(())
+	}
+
 	fn validate(
 		&self,
-		origin: <T::RuntimeCall as Dispatchable>::RuntimeOrigin,
-		_call: &T::RuntimeCall,
-		info: &DispatchInfoOf<T::RuntimeCall>,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
 		len: usize,
-		_context: &mut Context,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> Result<
-		(ValidTransaction, Self::Val, <T::RuntimeCall as Dispatchable>::RuntimeOrigin),
-		TransactionValidityError,
-	> {
+	) -> TransactionValidity {
 		use pallet_transaction_payment::ChargeTransactionPayment;
-		let who = origin.as_system_origin_signer().ok_or(InvalidTransaction::BadSigner)?;
-		// Non-mutating call of `compute_fee` to calculate the fee used in the transaction priority.
-		let fee = pallet_transaction_payment::Pallet::<T>::compute_fee(len as u32, info, self.tip);
+		let (fee, _) = self.withdraw_fee(who, call, info, len)?;
 		let priority = ChargeTransactionPayment::<T>::get_priority(info, len, self.tip, fee);
-		let val = (self.tip, who.clone(), fee);
-		let validity = ValidTransaction { priority, ..Default::default() };
-		Ok((validity, val, origin))
+		Ok(ValidTransaction { priority, ..Default::default() })
 	}
 
-	fn prepare(
+	fn pre_dispatch(
 		self,
-		val: Self::Val,
-		_origin: &<T::RuntimeCall as Dispatchable>::RuntimeOrigin,
-		call: &T::RuntimeCall,
-		info: &DispatchInfoOf<T::RuntimeCall>,
-		_len: usize,
-		_context: &Context,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
 	) -> Result<Self::Pre, TransactionValidityError> {
-		let (tip, who, fee) = val;
-		// Mutating call of `withdraw_fee` to actually charge for the transaction.
-		let (_fee, initial_payment) = self.withdraw_fee(&who, call, info, fee)?;
-		Ok((tip, who, initial_payment, self.asset_id))
+		let (_fee, initial_payment) = self.withdraw_fee(who, call, info, len)?;
+		Ok((self.tip, who.clone(), initial_payment, self.asset_id))
 	}
 
 	fn post_dispatch(
-		pre: Self::Pre,
-		info: &DispatchInfoOf<T::RuntimeCall>,
-		post_info: &PostDispatchInfoOf<T::RuntimeCall>,
+		pre: Option<Self::Pre>,
+		info: &DispatchInfoOf<Self::Call>,
+		post_info: &PostDispatchInfoOf<Self::Call>,
 		len: usize,
 		result: &DispatchResult,
-		_context: &Context,
 	) -> Result<(), TransactionValidityError> {
-		let (tip, who, initial_payment, asset_id) = pre;
-		match initial_payment {
-			InitialPayment::Native(already_withdrawn) => {
-				pallet_transaction_payment::ChargeTransactionPayment::<T>::post_dispatch(
-					(tip, who, already_withdrawn),
-					info,
-					post_info,
-					len,
-					result,
-					&(),
-				)?;
-			},
-			InitialPayment::Asset(already_withdrawn) => {
-				let actual_fee = pallet_transaction_payment::Pallet::<T>::compute_actual_fee(
-					len as u32, info, post_info, tip,
-				);
-
-				let (converted_fee, converted_tip) =
-					T::OnChargeAssetTransaction::correct_and_deposit_fee(
-						&who,
+		if let Some((tip, who, initial_payment, asset_id)) = pre {
+			match initial_payment {
+				InitialPayment::Native(already_withdrawn) => {
+					pallet_transaction_payment::ChargeTransactionPayment::<T>::post_dispatch(
+						Some((tip, who, already_withdrawn)),
 						info,
 						post_info,
-						actual_fee.into(),
-						tip.into(),
-						already_withdrawn.into(),
+						len,
+						result,
 					)?;
-				Pallet::<T>::deposit_event(Event::<T>::AssetTxFeePaid {
-					who,
-					actual_fee: converted_fee,
-					tip: converted_tip,
-					asset_id,
-				});
-			},
-			InitialPayment::Nothing => {
-				// `actual_fee` should be zero here for any signed extrinsic. It would be
-				// non-zero here in case of unsigned extrinsics as they don't pay fees but
-				// `compute_actual_fee` is not aware of them. In both cases it's fine to just
-				// move ahead without adjusting the fee, though, so we do nothing.
-				debug_assert!(tip.is_zero(), "tip should be zero if initial fee was zero.");
-			},
+				},
+				InitialPayment::Asset(already_withdrawn) => {
+					let actual_fee = pallet_transaction_payment::Pallet::<T>::compute_actual_fee(
+						len as u32, info, post_info, tip,
+					);
+
+					let (converted_fee, converted_tip) =
+						T::OnChargeAssetTransaction::correct_and_deposit_fee(
+							&who,
+							info,
+							post_info,
+							actual_fee.into(),
+							tip.into(),
+							already_withdrawn.into(),
+						)?;
+					Pallet::<T>::deposit_event(Event::<T>::AssetTxFeePaid {
+						who,
+						actual_fee: converted_fee,
+						tip: converted_tip,
+						asset_id,
+					});
+				},
+				InitialPayment::Nothing => {
+					// `actual_fee` should be zero here for any signed extrinsic. It would be
+					// non-zero here in case of unsigned extrinsics as they don't pay fees but
+					// `compute_actual_fee` is not aware of them. In both cases it's fine to just
+					// move ahead without adjusting the fee, though, so we do nothing.
+					debug_assert!(tip.is_zero(), "tip should be zero if initial fee was zero.");
+				},
+			}
 		}
 
 		Ok(())
diff --git a/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs b/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs
index bb484795e82..1f335b4f6c4 100644
--- a/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs
+++ b/substrate/frame/transaction-payment/asset-tx-payment/src/mock.rs
@@ -136,12 +136,12 @@ impl WeightToFeeT for TransactionByteFee {
 	}
 }
 
-#[derive_impl(pallet_transaction_payment::config_preludes::TestDefaultConfig as pallet_transaction_payment::DefaultConfig)]
 impl pallet_transaction_payment::Config for Runtime {
 	type RuntimeEvent = RuntimeEvent;
 	type OnChargeTransaction = CurrencyAdapter<Balances, ()>;
 	type WeightToFee = WeightToFee;
 	type LengthToFee = TransactionByteFee;
+	type FeeMultiplierUpdate = ();
 	type OperationalFeeMultiplier = ConstU8<5>;
 }
 
@@ -205,56 +205,4 @@ impl Config for Runtime {
 		pallet_assets::BalanceToAssetBalance<Balances, Runtime, ConvertInto>,
 		CreditToBlockAuthor,
 	>;
-	type WeightInfo = ();
-	#[cfg(feature = "runtime-benchmarks")]
-	type BenchmarkHelper = Helper;
-}
-
-#[cfg(feature = "runtime-benchmarks")]
-pub fn new_test_ext() -> sp_io::TestExternalities {
-	let base_weight = 5;
-	let balance_factor = 100;
-	crate::tests::ExtBuilder::default()
-		.balance_factor(balance_factor)
-		.base_weight(Weight::from_parts(base_weight, 0))
-		.build()
-}
-
-#[cfg(feature = "runtime-benchmarks")]
-pub struct Helper;
-
-#[cfg(feature = "runtime-benchmarks")]
-impl BenchmarkHelperTrait<u64, u32, u32> for Helper {
-	fn create_asset_id_parameter(id: u32) -> (u32, u32) {
-		(id.into(), id.into())
-	}
-
-	fn setup_balances_and_pool(asset_id: u32, account: u64) {
-		use frame_support::{assert_ok, traits::fungibles::Mutate};
-		use sp_runtime::traits::StaticLookup;
-		let min_balance = 1;
-		assert_ok!(Assets::force_create(
-			RuntimeOrigin::root(),
-			asset_id.into(),
-			42,   /* owner */
-			true, /* is_sufficient */
-			min_balance
-		));
-
-		// mint into the caller account
-		let caller = 2;
-		let beneficiary = <Runtime as system::Config>::Lookup::unlookup(caller);
-		let balance = 1000;
-		assert_ok!(Assets::mint_into(asset_id.into(), &beneficiary, balance));
-		assert_eq!(Assets::balance(asset_id, caller), balance);
-
-		use frame_support::traits::Currency;
-		let _ = Balances::deposit_creating(&account, u32::MAX.into());
-
-		let beneficiary = <Runtime as system::Config>::Lookup::unlookup(account);
-		let balance = 1000;
-
-		assert_ok!(Assets::mint_into(asset_id.into(), &beneficiary, balance));
-		assert_eq!(Assets::balance(asset_id, account), balance);
-	}
 }
diff --git a/substrate/frame/transaction-payment/asset-tx-payment/src/tests.rs b/substrate/frame/transaction-payment/asset-tx-payment/src/tests.rs
index 42b8f2cf5fa..8df98ceda99 100644
--- a/substrate/frame/transaction-payment/asset-tx-payment/src/tests.rs
+++ b/substrate/frame/transaction-payment/asset-tx-payment/src/tests.rs
@@ -25,10 +25,7 @@ use frame_support::{
 use frame_system as system;
 use mock::{ExtrinsicBaseWeight, *};
 use pallet_balances::Call as BalancesCall;
-use sp_runtime::{
-	traits::{DispatchTransaction, StaticLookup},
-	BuildStorage,
-};
+use sp_runtime::{traits::StaticLookup, BuildStorage};
 
 const CALL: &<Runtime as frame_system::Config>::RuntimeCall =
 	&RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 69 });
@@ -119,45 +116,33 @@ fn transaction_payment_in_native_possible() {
 		.build()
 		.execute_with(|| {
 			let len = 10;
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, None)
-				.validate_and_prepare(
-					Some(1).into(),
-					CALL,
-					&info_from_weight(Weight::from_parts(5, 0)),
-					len,
-				)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(0, None)
+				.pre_dispatch(&1, CALL, &info_from_weight(Weight::from_parts(5, 0)), len)
 				.unwrap();
 			let initial_balance = 10 * balance_factor;
 			assert_eq!(Balances::free_balance(1), initial_balance - 5 - 5 - 10);
 
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(Weight::from_parts(5, 0)),
 				&default_post_info(),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 			assert_eq!(Balances::free_balance(1), initial_balance - 5 - 5 - 10);
 
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(5 /* tipped */, None)
-				.validate_and_prepare(
-					Some(2).into(),
-					CALL,
-					&info_from_weight(Weight::from_parts(100, 0)),
-					len,
-				)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(5 /* tipped */, None)
+				.pre_dispatch(&2, CALL, &info_from_weight(Weight::from_parts(100, 0)), len)
 				.unwrap();
 			let initial_balance_for_2 = 20 * balance_factor;
 			assert_eq!(Balances::free_balance(2), initial_balance_for_2 - 5 - 10 - 100 - 5);
 
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(Weight::from_parts(100, 0)),
 				&post_info_from_weight(Weight::from_parts(50, 0)),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 			assert_eq!(Balances::free_balance(2), initial_balance_for_2 - 5 - 10 - 50 - 5);
 		});
@@ -194,13 +179,8 @@ fn transaction_payment_in_asset_possible() {
 			// we convert the from weight to fee based on the ratio between asset min balance and
 			// existential deposit
 			let fee = (base_weight + weight + len as u64) * min_balance / ExistentialDeposit::get();
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-				.validate_and_prepare(
-					Some(caller).into(),
-					CALL,
-					&info_from_weight(Weight::from_parts(weight, 0)),
-					len,
-				)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
+				.pre_dispatch(&caller, CALL, &info_from_weight(Weight::from_parts(weight, 0)), len)
 				.unwrap();
 			// assert that native balance is not used
 			assert_eq!(Balances::free_balance(caller), 10 * balance_factor);
@@ -209,12 +189,11 @@ fn transaction_payment_in_asset_possible() {
 			assert_eq!(Assets::balance(asset_id, BLOCK_AUTHOR), 0);
 
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(Weight::from_parts(weight, 0)),
 				&default_post_info(),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 			assert_eq!(Assets::balance(asset_id, caller), balance - fee);
 			// check that the block author gets rewarded
@@ -253,13 +232,8 @@ fn transaction_payment_without_fee() {
 			// we convert the from weight to fee based on the ratio between asset min balance and
 			// existential deposit
 			let fee = (base_weight + weight + len as u64) * min_balance / ExistentialDeposit::get();
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-				.validate_and_prepare(
-					Some(caller).into(),
-					CALL,
-					&info_from_weight(Weight::from_parts(weight, 0)),
-					len,
-				)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
+				.pre_dispatch(&caller, CALL, &info_from_weight(Weight::from_parts(weight, 0)), len)
 				.unwrap();
 			// assert that native balance is not used
 			assert_eq!(Balances::free_balance(caller), 10 * balance_factor);
@@ -268,12 +242,11 @@ fn transaction_payment_without_fee() {
 			assert_eq!(Assets::balance(asset_id, BLOCK_AUTHOR), 0);
 
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(Weight::from_parts(weight, 0)),
 				&post_info_from_pays(Pays::No),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 			// caller should be refunded
 			assert_eq!(Assets::balance(asset_id, caller), balance);
@@ -314,24 +287,18 @@ fn asset_transaction_payment_with_tip_and_refund() {
 			// existential deposit
 			let fee_with_tip =
 				(base_weight + weight + len as u64 + tip) * min_balance / ExistentialDeposit::get();
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(tip, Some(asset_id))
-				.validate_and_prepare(
-					Some(caller).into(),
-					CALL,
-					&info_from_weight(Weight::from_parts(weight, 0)),
-					len,
-				)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(tip, Some(asset_id))
+				.pre_dispatch(&caller, CALL, &info_from_weight(Weight::from_parts(weight, 0)), len)
 				.unwrap();
 			assert_eq!(Assets::balance(asset_id, caller), balance - fee_with_tip);
 
 			let final_weight = 50;
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(Weight::from_parts(weight, 0)),
 				&post_info_from_weight(Weight::from_parts(final_weight, 0)),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 			let final_fee =
 				fee_with_tip - (weight - final_weight) * min_balance / ExistentialDeposit::get();
@@ -372,25 +339,19 @@ fn payment_from_account_with_only_assets() {
 			// we convert the from weight to fee based on the ratio between asset min balance and
 			// existential deposit
 			let fee = (base_weight + weight + len as u64) * min_balance / ExistentialDeposit::get();
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-				.validate_and_prepare(
-					Some(caller).into(),
-					CALL,
-					&info_from_weight(Weight::from_parts(weight, 0)),
-					len,
-				)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
+				.pre_dispatch(&caller, CALL, &info_from_weight(Weight::from_parts(weight, 0)), len)
 				.unwrap();
 			assert_eq!(Balances::free_balance(caller), 0);
 			// check that fee was charged in the given asset
 			assert_eq!(Assets::balance(asset_id, caller), balance - fee);
 
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(Weight::from_parts(weight, 0)),
 				&default_post_info(),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 			assert_eq!(Assets::balance(asset_id, caller), balance - fee);
 			assert_eq!(Balances::free_balance(caller), 0);
@@ -411,12 +372,7 @@ fn payment_only_with_existing_sufficient_asset() {
 			let len = 10;
 			// pre_dispatch fails for non-existent asset
 			assert!(ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-				.validate_and_prepare(
-					Some(caller).into(),
-					CALL,
-					&info_from_weight(Weight::from_parts(weight, 0)),
-					len
-				)
+				.pre_dispatch(&caller, CALL, &info_from_weight(Weight::from_parts(weight, 0)), len)
 				.is_err());
 
 			// create the non-sufficient asset
@@ -430,12 +386,7 @@ fn payment_only_with_existing_sufficient_asset() {
 			));
 			// pre_dispatch fails for non-sufficient asset
 			assert!(ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-				.validate_and_prepare(
-					Some(caller).into(),
-					CALL,
-					&info_from_weight(Weight::from_parts(weight, 0)),
-					len
-				)
+				.pre_dispatch(&caller, CALL, &info_from_weight(Weight::from_parts(weight, 0)), len)
 				.is_err());
 		});
 }
@@ -473,40 +424,33 @@ fn converted_fee_is_never_zero_if_input_fee_is_not() {
 			// naive fee calculation would round down to zero
 			assert_eq!(fee, 0);
 			{
-				let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-					.validate_and_prepare(Some(caller).into(), CALL, &info_from_pays(Pays::No), len)
+				let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
+					.pre_dispatch(&caller, CALL, &info_from_pays(Pays::No), len)
 					.unwrap();
 				// `Pays::No` still implies no fees
 				assert_eq!(Assets::balance(asset_id, caller), balance);
 
 				assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-					pre,
+					Some(pre),
 					&info_from_pays(Pays::No),
 					&post_info_from_pays(Pays::No),
 					len,
-					&Ok(()),
-					&()
+					&Ok(())
 				));
 				assert_eq!(Assets::balance(asset_id, caller), balance);
 			}
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-				.validate_and_prepare(
-					Some(caller).into(),
-					CALL,
-					&info_from_weight(Weight::from_parts(weight, 0)),
-					len,
-				)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
+				.pre_dispatch(&caller, CALL, &info_from_weight(Weight::from_parts(weight, 0)), len)
 				.unwrap();
 			// check that at least one coin was charged in the given asset
 			assert_eq!(Assets::balance(asset_id, caller), balance - 1);
 
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_weight(Weight::from_parts(weight, 0)),
 				&default_post_info(),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
 			));
 			assert_eq!(Assets::balance(asset_id, caller), balance - 1);
 		});
@@ -544,8 +488,8 @@ fn post_dispatch_fee_is_zero_if_pre_dispatch_fee_is_zero() {
 			let fee = (base_weight + weight + len as u64) * min_balance / ExistentialDeposit::get();
 			// calculated fee is greater than 0
 			assert!(fee > 0);
-			let (pre, _) = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
-				.validate_and_prepare(Some(caller).into(), CALL, &info_from_pays(Pays::No), len)
+			let pre = ChargeAssetTxPayment::<Runtime>::from(0, Some(asset_id))
+				.pre_dispatch(&caller, CALL, &info_from_pays(Pays::No), len)
 				.unwrap();
 			// `Pays::No` implies no pre-dispatch fees
 			assert_eq!(Assets::balance(asset_id, caller), balance);
@@ -559,12 +503,60 @@ fn post_dispatch_fee_is_zero_if_pre_dispatch_fee_is_zero() {
 			// `Pays::Yes` on post-dispatch does not mean we pay (we never charge more than the
 			// initial fee)
 			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
-				pre,
+				Some(pre),
 				&info_from_pays(Pays::No),
 				&post_info_from_pays(Pays::Yes),
 				len,
-				&Ok(()),
-				&()
+				&Ok(())
+			));
+			assert_eq!(Assets::balance(asset_id, caller), balance);
+		});
+}
+
+#[test]
+fn post_dispatch_fee_is_zero_if_unsigned_pre_dispatch_fee_is_zero() {
+	let base_weight = 1;
+	ExtBuilder::default()
+		.balance_factor(100)
+		.base_weight(Weight::from_parts(base_weight, 0))
+		.build()
+		.execute_with(|| {
+			// create the asset
+			let asset_id = 1;
+			let min_balance = 100;
+			assert_ok!(Assets::force_create(
+				RuntimeOrigin::root(),
+				asset_id.into(),
+				42,   /* owner */
+				true, /* is_sufficient */
+				min_balance
+			));
+
+			// mint into the caller account
+			let caller = 333;
+			let beneficiary = <Runtime as system::Config>::Lookup::unlookup(caller);
+			let balance = 100;
+			assert_ok!(Assets::mint_into(asset_id.into(), &beneficiary, balance));
+			assert_eq!(Assets::balance(asset_id, caller), balance);
+			let weight = 1;
+			let len = 1;
+			ChargeAssetTxPayment::<Runtime>::pre_dispatch_unsigned(
+				CALL,
+				&info_from_weight(Weight::from_parts(weight, 0)),
+				len,
+			)
+			.unwrap();
+
+			assert_eq!(Assets::balance(asset_id, caller), balance);
+
+			// `Pays::Yes` on post-dispatch does not mean we pay (we never charge more than the
+			// initial fee)
+			assert_ok!(ChargeAssetTxPayment::<Runtime>::post_dispatch(
+				None,
+				&info_from_weight(Weight::from_parts(weight, 0)),
+				&post_info_from_pays(Pays::Yes),
+				len,
+				&Ok(())
 			));
 			assert_eq!(Assets::balance(asset_id, caller), balance);
 		});
diff --git a/substrate/frame/transaction-payment/asset-tx-payment/src/weights.rs b/substrate/frame/transaction-payment/asset-tx-payment/src/weights.rs
deleted file mode 100644
index 1af1c94177d..00000000000
--- a/substrate/frame/transaction-payment/asset-tx-payment/src/weights.rs
+++ /dev/null
@@ -1,146 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Autogenerated weights for `pallet_asset_tx_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
-
-// Executed Command:
-// ./target/production/substrate-node
-// benchmark
-// pallet
-// --chain=dev
-// --steps=50
-// --repeat=20
-// --pallet=pallet_asset_tx_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --wasm-execution=compiled
-// --heap-pages=4096
-// --output=./substrate/frame/transaction-payment/asset-tx-payment/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
-use core::marker::PhantomData;
-
-/// Weight functions needed for `pallet_asset_tx_payment`.
-pub trait WeightInfo {
-	fn charge_asset_tx_payment_zero() -> Weight;
-	fn charge_asset_tx_payment_native() -> Weight;
-	fn charge_asset_tx_payment_asset() -> Weight;
-}
-
-/// Weights for `pallet_asset_tx_payment` using the Substrate node and recommended hardware.
-pub struct SubstrateWeight<T>(PhantomData<T>);
-impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	fn charge_asset_tx_payment_zero() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 542_000 picoseconds.
-		Weight::from_parts(597_000, 0)
-	}
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Authorship::Author` (r:1 w:0)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	fn charge_asset_tx_payment_native() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `248`
-		//  Estimated: `1733`
-		// Minimum execution time: 33_162_000 picoseconds.
-		Weight::from_parts(34_716_000, 1733)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
-	}
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Authorship::Author` (r:1 w:0)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	fn charge_asset_tx_payment_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `747`
-		//  Estimated: `3675`
-		// Minimum execution time: 44_230_000 picoseconds.
-		Weight::from_parts(45_297_000, 3675)
-			.saturating_add(T::DbWeight::get().reads(5_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
-	}
-}
-
-// For backwards compatibility and tests.
-impl WeightInfo for () {
-	fn charge_asset_tx_payment_zero() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `0`
-		//  Estimated: `0`
-		// Minimum execution time: 542_000 picoseconds.
-		Weight::from_parts(597_000, 0)
-	}
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Authorship::Author` (r:1 w:0)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	fn charge_asset_tx_payment_native() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `248`
-		//  Estimated: `1733`
-		// Minimum execution time: 33_162_000 picoseconds.
-		Weight::from_parts(34_716_000, 1733)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
-	}
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:1 w:1)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `Authorship::Author` (r:1 w:0)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	fn charge_asset_tx_payment_asset() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `747`
-		//  Estimated: `3675`
-		// Minimum execution time: 44_230_000 picoseconds.
-		Weight::from_parts(45_297_000, 3675)
-			.saturating_add(RocksDbWeight::get().reads(5_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
-	}
-}
diff --git a/substrate/frame/transaction-payment/skip-feeless-payment/src/lib.rs b/substrate/frame/transaction-payment/skip-feeless-payment/src/lib.rs
index 9810ea08c79..6c34c26ce92 100644
--- a/substrate/frame/transaction-payment/skip-feeless-payment/src/lib.rs
+++ b/substrate/frame/transaction-payment/skip-feeless-payment/src/lib.rs
@@ -21,7 +21,7 @@
 //!
 //! ## Overview
 //!
-//! It does this by wrapping an existing [`TransactionExtension`] implementation (e.g.
+//! It does this by wrapping an existing [`SignedExtension`] implementation (e.g.
 //! [`pallet-transaction-payment`]) and checking if the dispatchable is feeless before applying the
 //! wrapped extension. If the dispatchable is indeed feeless, the extension is skipped and a custom
 //! event is emitted instead. Otherwise, the extension is applied as usual.
@@ -31,8 +31,7 @@
 //!
 //! This pallet wraps an existing transaction payment pallet. This means you should both pallets
 //! in your `construct_runtime` macro and include this pallet's
-//! [`TransactionExtension`] ([`SkipCheckIfFeeless`]) that would accept the existing one as an
-//! argument.
+//! [`SignedExtension`] ([`SkipCheckIfFeeless`]) that would accept the existing one as an argument.
 
 #![cfg_attr(not(feature = "std"), no_std)]
 
@@ -43,10 +42,7 @@ use frame_support::{
 };
 use scale_info::{StaticTypeInfo, TypeInfo};
 use sp_runtime::{
-	traits::{
-		DispatchInfoOf, OriginOf, PostDispatchInfoOf, TransactionExtension,
-		TransactionExtensionBase, ValidateResult,
-	},
+	traits::{DispatchInfoOf, PostDispatchInfoOf, SignedExtension},
 	transaction_validity::TransactionValidityError,
 };
 
@@ -74,11 +70,11 @@ pub mod pallet {
 	#[pallet::generate_deposit(pub(super) fn deposit_event)]
 	pub enum Event<T: Config> {
 		/// A transaction fee was skipped.
-		FeeSkipped { origin: <T::RuntimeOrigin as OriginTrait>::PalletsOrigin },
+		FeeSkipped { who: T::AccountId },
 	}
 }
 
-/// A [`TransactionExtension`] that skips the wrapped extension if the dispatchable is feeless.
+/// A [`SignedExtension`] that skips the wrapped extension if the dispatchable is feeless.
 #[derive(Encode, Decode, Clone, Eq, PartialEq)]
 pub struct SkipCheckIfFeeless<T, S>(pub S, sp_std::marker::PhantomData<T>);
 
@@ -107,96 +103,53 @@ impl<T, S> From<S> for SkipCheckIfFeeless<T, S> {
 	}
 }
 
-pub enum Intermediate<T, O> {
-	/// The wrapped extension should be applied.
-	Apply(T),
-	/// The wrapped extension should be skipped.
-	Skip(O),
-}
-use Intermediate::*;
-
-impl<T: Config + Send + Sync, S: TransactionExtensionBase> TransactionExtensionBase
+impl<T: Config + Send + Sync, S: SignedExtension<AccountId = T::AccountId>> SignedExtension
 	for SkipCheckIfFeeless<T, S>
+where
+	S::Call: CheckIfFeeless<Origin = frame_system::pallet_prelude::OriginFor<T>>,
 {
+	type AccountId = T::AccountId;
+	type Call = S::Call;
+	type AdditionalSigned = S::AdditionalSigned;
+	type Pre = (Self::AccountId, Option<<S as SignedExtension>::Pre>);
 	// From the outside this extension should be "invisible", because it just extends the wrapped
 	// extension with an extra check in `pre_dispatch` and `post_dispatch`. Thus, we should forward
 	// the identifier of the wrapped extension to let wallets see this extension as it would only be
 	// the wrapped extension itself.
 	const IDENTIFIER: &'static str = S::IDENTIFIER;
-	type Implicit = S::Implicit;
-
-	fn implicit(&self) -> Result<Self::Implicit, TransactionValidityError> {
-		self.0.implicit()
-	}
 
-	fn weight(&self) -> frame_support::weights::Weight {
-		self.0.weight()
+	fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
+		self.0.additional_signed()
 	}
-}
 
-impl<T: Config + Send + Sync, Context, S: TransactionExtension<T::RuntimeCall, Context>>
-	TransactionExtension<T::RuntimeCall, Context> for SkipCheckIfFeeless<T, S>
-where
-	T::RuntimeCall: CheckIfFeeless<Origin = frame_system::pallet_prelude::OriginFor<T>>,
-{
-	type Val = Intermediate<S::Val, <OriginOf<T::RuntimeCall> as OriginTrait>::PalletsOrigin>;
-	type Pre = Intermediate<S::Pre, <OriginOf<T::RuntimeCall> as OriginTrait>::PalletsOrigin>;
-
-	fn validate(
-		&self,
-		origin: OriginOf<T::RuntimeCall>,
-		call: &T::RuntimeCall,
-		info: &DispatchInfoOf<T::RuntimeCall>,
-		len: usize,
-		context: &mut Context,
-		self_implicit: S::Implicit,
-		inherited_implication: &impl Encode,
-	) -> ValidateResult<Self::Val, T::RuntimeCall> {
-		if call.is_feeless(&origin) {
-			Ok((Default::default(), Skip(origin.caller().clone()), origin))
-		} else {
-			let (x, y, z) = self.0.validate(
-				origin,
-				call,
-				info,
-				len,
-				context,
-				self_implicit,
-				inherited_implication,
-			)?;
-			Ok((x, Apply(y), z))
-		}
-	}
-
-	fn prepare(
+	fn pre_dispatch(
 		self,
-		val: Self::Val,
-		origin: &OriginOf<T::RuntimeCall>,
-		call: &T::RuntimeCall,
-		info: &DispatchInfoOf<T::RuntimeCall>,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
 		len: usize,
-		context: &Context,
 	) -> Result<Self::Pre, TransactionValidityError> {
-		match val {
-			Apply(val) => self.0.prepare(val, origin, call, info, len, context).map(Apply),
-			Skip(origin) => Ok(Skip(origin)),
+		if call.is_feeless(&<T as frame_system::Config>::RuntimeOrigin::signed(who.clone())) {
+			Ok((who.clone(), None))
+		} else {
+			Ok((who.clone(), Some(self.0.pre_dispatch(who, call, info, len)?)))
 		}
 	}
 
 	fn post_dispatch(
-		pre: Self::Pre,
-		info: &DispatchInfoOf<T::RuntimeCall>,
-		post_info: &PostDispatchInfoOf<T::RuntimeCall>,
+		pre: Option<Self::Pre>,
+		info: &DispatchInfoOf<Self::Call>,
+		post_info: &PostDispatchInfoOf<Self::Call>,
 		len: usize,
 		result: &DispatchResult,
-		context: &Context,
 	) -> Result<(), TransactionValidityError> {
-		match pre {
-			Apply(pre) => S::post_dispatch(pre, info, post_info, len, result, context),
-			Skip(origin) => {
-				Pallet::<T>::deposit_event(Event::<T>::FeeSkipped { origin });
-				Ok(())
-			},
+		if let Some(pre) = pre {
+			if let Some(pre) = pre.1 {
+				S::post_dispatch(Some(pre), info, post_info, len, result)?;
+			} else {
+				Pallet::<T>::deposit_event(Event::<T>::FeeSkipped { who: pre.0 });
+			}
 		}
+		Ok(())
 	}
 }
diff --git a/substrate/frame/transaction-payment/skip-feeless-payment/src/mock.rs b/substrate/frame/transaction-payment/skip-feeless-payment/src/mock.rs
index 06948de4c3c..17c4c773997 100644
--- a/substrate/frame/transaction-payment/skip-feeless-payment/src/mock.rs
+++ b/substrate/frame/transaction-payment/skip-feeless-payment/src/mock.rs
@@ -18,12 +18,9 @@ use crate as pallet_skip_feeless_payment;
 
 use frame_support::{derive_impl, parameter_types};
 use frame_system as system;
-use sp_runtime::{
-	impl_tx_ext_default,
-	traits::{OriginOf, TransactionExtension},
-};
 
 type Block = frame_system::mocking::MockBlock<Runtime>;
+type AccountId = u64;
 
 #[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
 impl frame_system::Config for Runtime {
@@ -41,22 +38,21 @@ parameter_types! {
 #[derive(Clone, Eq, PartialEq, Debug, Encode, Decode, TypeInfo)]
 pub struct DummyExtension;
 
-impl TransactionExtensionBase for DummyExtension {
-	const IDENTIFIER: &'static str = "DummyExtension";
-	type Implicit = ();
-}
-impl<C> TransactionExtension<RuntimeCall, C> for DummyExtension {
-	type Val = ();
+impl SignedExtension for DummyExtension {
+	type AccountId = AccountId;
+	type Call = RuntimeCall;
+	type AdditionalSigned = ();
 	type Pre = ();
-	impl_tx_ext_default!(RuntimeCall; C; validate);
-	fn prepare(
+	const IDENTIFIER: &'static str = "DummyExtension";
+	fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> {
+		Ok(())
+	}
+	fn pre_dispatch(
 		self,
-		_val: Self::Val,
-		_origin: &OriginOf<RuntimeCall>,
-		_call: &RuntimeCall,
-		_info: &DispatchInfoOf<RuntimeCall>,
+		_who: &Self::AccountId,
+		_call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
 		_len: usize,
-		_context: &C,
 	) -> Result<Self::Pre, TransactionValidityError> {
 		PreDispatchCount::mutate(|c| *c += 1);
 		Ok(())
diff --git a/substrate/frame/transaction-payment/skip-feeless-payment/src/tests.rs b/substrate/frame/transaction-payment/skip-feeless-payment/src/tests.rs
index 96b4af7e203..4b4dd699741 100644
--- a/substrate/frame/transaction-payment/skip-feeless-payment/src/tests.rs
+++ b/substrate/frame/transaction-payment/skip-feeless-payment/src/tests.rs
@@ -16,19 +16,18 @@
 use super::*;
 use crate::mock::{pallet_dummy::Call, DummyExtension, PreDispatchCount, Runtime, RuntimeCall};
 use frame_support::dispatch::DispatchInfo;
-use sp_runtime::traits::DispatchTransaction;
 
 #[test]
 fn skip_feeless_payment_works() {
 	let call = RuntimeCall::DummyPallet(Call::<Runtime>::aux { data: 1 });
 	SkipCheckIfFeeless::<Runtime, DummyExtension>::from(DummyExtension)
-		.validate_and_prepare(Some(0).into(), &call, &DispatchInfo::default(), 0)
+		.pre_dispatch(&0, &call, &DispatchInfo::default(), 0)
 		.unwrap();
 	assert_eq!(PreDispatchCount::get(), 1);
 
 	let call = RuntimeCall::DummyPallet(Call::<Runtime>::aux { data: 0 });
 	SkipCheckIfFeeless::<Runtime, DummyExtension>::from(DummyExtension)
-		.validate_and_prepare(Some(0).into(), &call, &DispatchInfo::default(), 0)
+		.pre_dispatch(&0, &call, &DispatchInfo::default(), 0)
 		.unwrap();
 	assert_eq!(PreDispatchCount::get(), 1);
 }
diff --git a/substrate/frame/transaction-payment/src/benchmarking.rs b/substrate/frame/transaction-payment/src/benchmarking.rs
deleted file mode 100644
index d63c5a7d746..00000000000
--- a/substrate/frame/transaction-payment/src/benchmarking.rs
+++ /dev/null
@@ -1,81 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Benchmarks for Transaction Payment Pallet's transaction extension
-
-use super::*;
-use crate::Pallet;
-use frame_benchmarking::v2::*;
-use frame_support::dispatch::{DispatchInfo, PostDispatchInfo};
-use frame_system::{EventRecord, RawOrigin};
-use sp_runtime::traits::{DispatchTransaction, Dispatchable};
-
-fn assert_last_event<T: Config>(generic_event: <T as Config>::RuntimeEvent) {
-	let events = frame_system::Pallet::<T>::events();
-	let system_event: <T as frame_system::Config>::RuntimeEvent = generic_event.into();
-	// compare to the last event record
-	let EventRecord { event, .. } = &events[events.len() - 1];
-	assert_eq!(event, &system_event);
-}
-
-#[benchmarks(where
-	T: Config,
-	T::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
-    BalanceOf<T>: Send + Sync + From<u64>,
-)]
-mod benchmarks {
-	use super::*;
-
-	#[benchmark]
-	fn charge_transaction_payment() {
-		let caller: T::AccountId = whitelisted_caller();
-		<T::OnChargeTransaction as OnChargeTransaction<T>>::endow_account(
-			&caller,
-			<T::OnChargeTransaction as OnChargeTransaction<T>>::minimum_balance() * 1000.into(),
-		);
-		let tip = <T::OnChargeTransaction as OnChargeTransaction<T>>::minimum_balance();
-		let ext: ChargeTransactionPayment<T> = ChargeTransactionPayment::from(tip);
-		let inner = frame_system::Call::remark { remark: vec![] };
-		let call = T::RuntimeCall::from(inner);
-		let info = DispatchInfo {
-			weight: Weight::from_parts(100, 0),
-			class: DispatchClass::Operational,
-			pays_fee: Pays::Yes,
-		};
-		let post_info = PostDispatchInfo {
-			actual_weight: Some(Weight::from_parts(10, 0)),
-			pays_fee: Pays::Yes,
-		};
-
-		#[block]
-		{
-			assert!(ext
-				.test_run(RawOrigin::Signed(caller.clone()).into(), &call, &info, 10, |_| Ok(
-					post_info
-				))
-				.unwrap()
-				.is_ok());
-		}
-
-		let actual_fee = Pallet::<T>::compute_actual_fee(10, &info, &post_info, tip);
-		assert_last_event::<T>(
-			Event::<T>::TransactionFeePaid { who: caller, actual_fee, tip }.into(),
-		);
-	}
-
-	impl_benchmark_test_suite!(Pallet, crate::mock::new_test_ext(), crate::mock::Runtime);
-}
diff --git a/substrate/frame/transaction-payment/src/lib.rs b/substrate/frame/transaction-payment/src/lib.rs
index 6b17616bdc7..efadfd60bdd 100644
--- a/substrate/frame/transaction-payment/src/lib.rs
+++ b/substrate/frame/transaction-payment/src/lib.rs
@@ -62,28 +62,23 @@ pub use payment::*;
 use sp_runtime::{
 	traits::{
 		Convert, DispatchInfoOf, Dispatchable, One, PostDispatchInfoOf, SaturatedConversion,
-		Saturating, TransactionExtension, TransactionExtensionBase, Zero,
+		Saturating, SignedExtension, Zero,
 	},
 	transaction_validity::{
-		InvalidTransaction, TransactionPriority, TransactionValidityError, ValidTransaction,
+		TransactionPriority, TransactionValidity, TransactionValidityError, ValidTransaction,
 	},
 	FixedPointNumber, FixedU128, Perbill, Perquintill, RuntimeDebug,
 };
 use sp_std::prelude::*;
 pub use types::{FeeDetails, InclusionFee, RuntimeDispatchInfo};
-pub use weights::WeightInfo;
 
 #[cfg(test)]
 mod mock;
 #[cfg(test)]
 mod tests;
 
-#[cfg(feature = "runtime-benchmarks")]
-mod benchmarking;
-
 mod payment;
 mod types;
-pub mod weights;
 
 /// Fee multiplier.
 pub type Multiplier = FixedU128;
@@ -340,7 +335,6 @@ pub mod pallet {
 			type RuntimeEvent = ();
 			type FeeMultiplierUpdate = ();
 			type OperationalFeeMultiplier = ();
-			type WeightInfo = ();
 		}
 	}
 
@@ -393,9 +387,6 @@ pub mod pallet {
 		/// transactions.
 		#[pallet::constant]
 		type OperationalFeeMultiplier: Get<u8>;
-
-		/// The weight information of this pallet.
-		type WeightInfo: WeightInfo;
 	}
 
 	#[pallet::type_value]
@@ -516,11 +507,11 @@ impl<T: Config> Pallet<T> {
 		// a very very little potential gain in the future.
 		let dispatch_info = <Extrinsic as GetDispatchInfo>::get_dispatch_info(&unchecked_extrinsic);
 
-		let partial_fee = if unchecked_extrinsic.is_bare() {
-			// Bare extrinsics have no partial fee.
-			0u32.into()
-		} else {
+		let partial_fee = if unchecked_extrinsic.is_signed().unwrap_or(false) {
 			Self::compute_fee(len, &dispatch_info, 0u32.into())
+		} else {
+			// Unsigned extrinsics have no partial fee.
+			0u32.into()
 		};
 
 		let DispatchInfo { weight, class, .. } = dispatch_info;
@@ -540,11 +531,11 @@ impl<T: Config> Pallet<T> {
 
 		let tip = 0u32.into();
 
-		if unchecked_extrinsic.is_bare() {
-			// Bare extrinsics have no inclusion fee.
-			FeeDetails { inclusion_fee: None, tip }
-		} else {
+		if unchecked_extrinsic.is_signed().unwrap_or(false) {
 			Self::compute_fee_details(len, &dispatch_info, tip)
+		} else {
+			// Unsigned extrinsics have no inclusion fee.
+			FeeDetails { inclusion_fee: None, tip }
 		}
 	}
 
@@ -723,7 +714,7 @@ where
 		who: &T::AccountId,
 		call: &T::RuntimeCall,
 		info: &DispatchInfoOf<T::RuntimeCall>,
-		fee: BalanceOf<T>,
+		len: usize,
 	) -> Result<
 		(
 			BalanceOf<T>,
@@ -732,6 +723,7 @@ where
 		TransactionValidityError,
 	> {
 		let tip = self.0;
+		let fee = Pallet::<T>::compute_fee(len as u32, info, tip);
 
 		<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::withdraw_fee(
 			who, call, info, fee, tip,
@@ -739,22 +731,6 @@ where
 		.map(|i| (fee, i))
 	}
 
-	fn can_withdraw_fee(
-		&self,
-		who: &T::AccountId,
-		call: &T::RuntimeCall,
-		info: &DispatchInfoOf<T::RuntimeCall>,
-		len: usize,
-	) -> Result<BalanceOf<T>, TransactionValidityError> {
-		let tip = self.0;
-		let fee = Pallet::<T>::compute_fee(len as u32, info, tip);
-
-		<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::can_withdraw_fee(
-			who, call, info, fee, tip,
-		)?;
-		Ok(fee)
-	}
-
 	/// Get an appropriate priority for a transaction with the given `DispatchInfo`, encoded length
 	/// and user-included tip.
 	///
@@ -841,93 +817,67 @@ impl<T: Config> sp_std::fmt::Debug for ChargeTransactionPayment<T> {
 	}
 }
 
-impl<T: Config> TransactionExtensionBase for ChargeTransactionPayment<T> {
-	const IDENTIFIER: &'static str = "ChargeTransactionPayment";
-	type Implicit = ();
-
-	fn weight(&self) -> Weight {
-		T::WeightInfo::charge_transaction_payment()
-	}
-}
-
-impl<T: Config, Context> TransactionExtension<T::RuntimeCall, Context>
-	for ChargeTransactionPayment<T>
+impl<T: Config> SignedExtension for ChargeTransactionPayment<T>
 where
 	BalanceOf<T>: Send + Sync + From<u64>,
 	T::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo>,
 {
-	type Val = (
-		// tip
-		BalanceOf<T>,
-		// who paid the fee
-		T::AccountId,
-		// computed fee
-		BalanceOf<T>,
-	);
+	const IDENTIFIER: &'static str = "ChargeTransactionPayment";
+	type AccountId = T::AccountId;
+	type Call = T::RuntimeCall;
+	type AdditionalSigned = ();
 	type Pre = (
 		// tip
 		BalanceOf<T>,
-		// who paid the fee
-		T::AccountId,
+		// who paid the fee - this is an option to allow for a Default impl.
+		Self::AccountId,
 		// imbalance resulting from withdrawing the fee
 		<<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::LiquidityInfo,
 	);
+	fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> {
+		Ok(())
+	}
 
 	fn validate(
 		&self,
-		origin: <T::RuntimeCall as Dispatchable>::RuntimeOrigin,
-		call: &T::RuntimeCall,
-		info: &DispatchInfoOf<T::RuntimeCall>,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
 		len: usize,
-		_context: &mut Context,
-		_: (),
-		_implication: &impl Encode,
-	) -> Result<
-		(ValidTransaction, Self::Val, <T::RuntimeCall as Dispatchable>::RuntimeOrigin),
-		TransactionValidityError,
-	> {
-		let who = frame_system::ensure_signed(origin.clone())
-			.map_err(|_| InvalidTransaction::BadSigner)?;
-		let final_fee = self.can_withdraw_fee(&who, call, info, len)?;
+	) -> TransactionValidity {
+		let (final_fee, _) = self.withdraw_fee(who, call, info, len)?;
 		let tip = self.0;
-		Ok((
-			ValidTransaction {
-				priority: Self::get_priority(info, len, tip, final_fee),
-				..Default::default()
-			},
-			(self.0, who, final_fee),
-			origin,
-		))
+		Ok(ValidTransaction {
+			priority: Self::get_priority(info, len, tip, final_fee),
+			..Default::default()
+		})
 	}
 
-	fn prepare(
+	fn pre_dispatch(
 		self,
-		val: Self::Val,
-		_origin: &<T::RuntimeCall as Dispatchable>::RuntimeOrigin,
-		call: &T::RuntimeCall,
-		info: &DispatchInfoOf<T::RuntimeCall>,
-		_len: usize,
-		_context: &Context,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
 	) -> Result<Self::Pre, TransactionValidityError> {
-		let (tip, who, fee) = val;
-		// Mutating call to `withdraw_fee` to actually charge for the transaction.
-		let (_final_fee, imbalance) = self.withdraw_fee(&who, call, info, fee)?;
-		Ok((tip, who, imbalance))
+		let (_fee, imbalance) = self.withdraw_fee(who, call, info, len)?;
+		Ok((self.0, who.clone(), imbalance))
 	}
 
 	fn post_dispatch(
-		(tip, who, imbalance): Self::Pre,
-		info: &DispatchInfoOf<T::RuntimeCall>,
-		post_info: &PostDispatchInfoOf<T::RuntimeCall>,
+		maybe_pre: Option<Self::Pre>,
+		info: &DispatchInfoOf<Self::Call>,
+		post_info: &PostDispatchInfoOf<Self::Call>,
 		len: usize,
 		_result: &DispatchResult,
-		_context: &Context,
 	) -> Result<(), TransactionValidityError> {
-		let actual_fee = Pallet::<T>::compute_actual_fee(len as u32, info, post_info, tip);
-		T::OnChargeTransaction::correct_and_deposit_fee(
-			&who, info, post_info, actual_fee, tip, imbalance,
-		)?;
-		Pallet::<T>::deposit_event(Event::<T>::TransactionFeePaid { who, actual_fee, tip });
+		if let Some((tip, who, imbalance)) = maybe_pre {
+			let actual_fee = Pallet::<T>::compute_actual_fee(len as u32, info, post_info, tip);
+			T::OnChargeTransaction::correct_and_deposit_fee(
+				&who, info, post_info, actual_fee, tip, imbalance,
+			)?;
+			Pallet::<T>::deposit_event(Event::<T>::TransactionFeePaid { who, actual_fee, tip });
+		}
 		Ok(())
 	}
 }
diff --git a/substrate/frame/transaction-payment/src/mock.rs b/substrate/frame/transaction-payment/src/mock.rs
index eda234ffcae..1ca2e3d7347 100644
--- a/substrate/frame/transaction-payment/src/mock.rs
+++ b/substrate/frame/transaction-payment/src/mock.rs
@@ -157,14 +157,4 @@ impl Config for Runtime {
 	type WeightToFee = WeightToFee;
 	type LengthToFee = TransactionByteFee;
 	type FeeMultiplierUpdate = ();
-	type WeightInfo = ();
-}
-
-#[cfg(feature = "runtime-benchmarks")]
-pub fn new_test_ext() -> sp_io::TestExternalities {
-	crate::tests::ExtBuilder::default()
-		.base_weight(Weight::from_parts(100, 0))
-		.byte_fee(10)
-		.balance_factor(0)
-		.build()
 }
diff --git a/substrate/frame/transaction-payment/src/payment.rs b/substrate/frame/transaction-payment/src/payment.rs
index a13e73b50b0..886683f2e0b 100644
--- a/substrate/frame/transaction-payment/src/payment.rs
+++ b/substrate/frame/transaction-payment/src/payment.rs
@@ -20,7 +20,7 @@ use crate::Config;
 
 use core::marker::PhantomData;
 use sp_runtime::{
-	traits::{CheckedSub, DispatchInfoOf, PostDispatchInfoOf, Saturating, Zero},
+	traits::{DispatchInfoOf, PostDispatchInfoOf, Saturating, Zero},
 	transaction_validity::InvalidTransaction,
 };
 
@@ -51,17 +51,6 @@ pub trait OnChargeTransaction<T: Config> {
 		tip: Self::Balance,
 	) -> Result<Self::LiquidityInfo, TransactionValidityError>;
 
-	/// Check if the predicted fee from the transaction origin can be withdrawn.
-	///
-	/// Note: The `fee` already includes the `tip`.
-	fn can_withdraw_fee(
-		who: &T::AccountId,
-		call: &T::RuntimeCall,
-		dispatch_info: &DispatchInfoOf<T::RuntimeCall>,
-		fee: Self::Balance,
-		tip: Self::Balance,
-	) -> Result<(), TransactionValidityError>;
-
 	/// After the transaction was executed the actual fee can be calculated.
 	/// This function should refund any overpaid fees and optionally deposit
 	/// the corrected amount.
@@ -75,12 +64,6 @@ pub trait OnChargeTransaction<T: Config> {
 		tip: Self::Balance,
 		already_withdrawn: Self::LiquidityInfo,
 	) -> Result<(), TransactionValidityError>;
-
-	#[cfg(feature = "runtime-benchmarks")]
-	fn endow_account(who: &T::AccountId, amount: Self::Balance);
-
-	#[cfg(feature = "runtime-benchmarks")]
-	fn minimum_balance() -> Self::Balance;
 }
 
 /// Implements the transaction payment for a pallet implementing the `Currency`
@@ -138,33 +121,6 @@ where
 		}
 	}
 
-	/// Check if the predicted fee from the transaction origin can be withdrawn.
-	///
-	/// Note: The `fee` already includes the `tip`.
-	fn can_withdraw_fee(
-		who: &T::AccountId,
-		_call: &T::RuntimeCall,
-		_info: &DispatchInfoOf<T::RuntimeCall>,
-		fee: Self::Balance,
-		tip: Self::Balance,
-	) -> Result<(), TransactionValidityError> {
-		if fee.is_zero() {
-			return Ok(())
-		}
-
-		let withdraw_reason = if tip.is_zero() {
-			WithdrawReasons::TRANSACTION_PAYMENT
-		} else {
-			WithdrawReasons::TRANSACTION_PAYMENT | WithdrawReasons::TIP
-		};
-
-		let new_balance =
-			C::free_balance(who).checked_sub(&fee).ok_or(InvalidTransaction::Payment)?;
-		C::ensure_can_withdraw(who, fee, withdraw_reason, new_balance)
-			.map(|_| ())
-			.map_err(|_| InvalidTransaction::Payment.into())
-	}
-
 	/// Hand the fee and the tip over to the `[OnUnbalanced]` implementation.
 	/// Since the predicted fee might have been too high, parts of the fee may
 	/// be refunded.
@@ -197,14 +153,4 @@ where
 		}
 		Ok(())
 	}
-
-	#[cfg(feature = "runtime-benchmarks")]
-	fn endow_account(who: &T::AccountId, amount: Self::Balance) {
-		let _ = C::deposit_creating(who, amount);
-	}
-
-	#[cfg(feature = "runtime-benchmarks")]
-	fn minimum_balance() -> Self::Balance {
-		C::minimum_balance()
-	}
 }
diff --git a/substrate/frame/transaction-payment/src/tests.rs b/substrate/frame/transaction-payment/src/tests.rs
index 7a49f8111e2..d3a1721ccb9 100644
--- a/substrate/frame/transaction-payment/src/tests.rs
+++ b/substrate/frame/transaction-payment/src/tests.rs
@@ -21,14 +21,11 @@ use crate as pallet_transaction_payment;
 use codec::Encode;
 
 use sp_runtime::{
-	generic::UncheckedExtrinsic,
-	traits::{DispatchTransaction, One},
-	transaction_validity::InvalidTransaction,
-	BuildStorage,
+	testing::TestXt, traits::One, transaction_validity::InvalidTransaction, BuildStorage,
 };
 
 use frame_support::{
-	assert_ok,
+	assert_noop, assert_ok,
 	dispatch::{DispatchClass, DispatchInfo, GetDispatchInfo, PostDispatchInfo},
 	traits::Currency,
 	weights::Weight,
@@ -131,37 +128,44 @@ fn default_post_info() -> PostDispatchInfo {
 	PostDispatchInfo { actual_weight: None, pays_fee: Default::default() }
 }
 
-type Ext = ChargeTransactionPayment<Runtime>;
-
 #[test]
-fn transaction_extension_transaction_payment_work() {
+fn signed_extension_transaction_payment_work() {
 	ExtBuilder::default()
 		.balance_factor(10)
 		.base_weight(Weight::from_parts(5, 0))
 		.build()
 		.execute_with(|| {
-			let info = info_from_weight(Weight::from_parts(5, 0));
-			Ext::from(0)
-				.test_run(Some(1).into(), CALL, &info, 10, |_| {
-					assert_eq!(Balances::free_balance(1), 100 - 5 - 5 - 10);
-					Ok(default_post_info())
-				})
-				.unwrap()
+			let len = 10;
+			let pre = ChargeTransactionPayment::<Runtime>::from(0)
+				.pre_dispatch(&1, CALL, &info_from_weight(Weight::from_parts(5, 0)), len)
 				.unwrap();
 			assert_eq!(Balances::free_balance(1), 100 - 5 - 5 - 10);
+
+			assert_ok!(ChargeTransactionPayment::<Runtime>::post_dispatch(
+				Some(pre),
+				&info_from_weight(Weight::from_parts(5, 0)),
+				&default_post_info(),
+				len,
+				&Ok(())
+			));
+			assert_eq!(Balances::free_balance(1), 100 - 5 - 5 - 10);
 			assert_eq!(FeeUnbalancedAmount::get(), 5 + 5 + 10);
 			assert_eq!(TipUnbalancedAmount::get(), 0);
 
 			FeeUnbalancedAmount::mutate(|a| *a = 0);
 
-			let info = info_from_weight(Weight::from_parts(100, 0));
-			Ext::from(5 /* tipped */)
-				.test_run(Some(2).into(), CALL, &info, 10, |_| {
-					assert_eq!(Balances::free_balance(2), 200 - 5 - 10 - 100 - 5);
-					Ok(post_info_from_weight(Weight::from_parts(50, 0)))
-				})
-				.unwrap()
+			let pre = ChargeTransactionPayment::<Runtime>::from(5 /* tipped */)
+				.pre_dispatch(&2, CALL, &info_from_weight(Weight::from_parts(100, 0)), len)
 				.unwrap();
+			assert_eq!(Balances::free_balance(2), 200 - 5 - 10 - 100 - 5);
+
+			assert_ok!(ChargeTransactionPayment::<Runtime>::post_dispatch(
+				Some(pre),
+				&info_from_weight(Weight::from_parts(100, 0)),
+				&post_info_from_weight(Weight::from_parts(50, 0)),
+				len,
+				&Ok(())
+			));
 			assert_eq!(Balances::free_balance(2), 200 - 5 - 10 - 50 - 5);
 			assert_eq!(FeeUnbalancedAmount::get(), 5 + 10 + 50);
 			assert_eq!(TipUnbalancedAmount::get(), 5);
@@ -169,37 +173,43 @@ fn transaction_extension_transaction_payment_work() {
 }
 
 #[test]
-fn transaction_extension_transaction_payment_multiplied_refund_works() {
+fn signed_extension_transaction_payment_multiplied_refund_works() {
 	ExtBuilder::default()
 		.balance_factor(10)
 		.base_weight(Weight::from_parts(5, 0))
 		.build()
 		.execute_with(|| {
+			let len = 10;
 			<NextFeeMultiplier<Runtime>>::put(Multiplier::saturating_from_rational(3, 2));
 
-			let len = 10;
-			let origin = Some(2).into();
-			let info = info_from_weight(Weight::from_parts(100, 0));
-			Ext::from(5 /* tipped */)
-				.test_run(origin, CALL, &info, len, |_| {
-					// 5 base fee, 10 byte fee, 3/2 * 100 weight fee, 5 tip
-					assert_eq!(Balances::free_balance(2), 200 - 5 - 10 - 150 - 5);
-					Ok(post_info_from_weight(Weight::from_parts(50, 0)))
-				})
-				.unwrap()
+			let pre = ChargeTransactionPayment::<Runtime>::from(5 /* tipped */)
+				.pre_dispatch(&2, CALL, &info_from_weight(Weight::from_parts(100, 0)), len)
 				.unwrap();
-
+			// 5 base fee, 10 byte fee, 3/2 * 100 weight fee, 5 tip
+			assert_eq!(Balances::free_balance(2), 200 - 5 - 10 - 150 - 5);
+
+			assert_ok!(ChargeTransactionPayment::<Runtime>::post_dispatch(
+				Some(pre),
+				&info_from_weight(Weight::from_parts(100, 0)),
+				&post_info_from_weight(Weight::from_parts(50, 0)),
+				len,
+				&Ok(())
+			));
 			// 75 (3/2 of the returned 50 units of weight) is refunded
 			assert_eq!(Balances::free_balance(2), 200 - 5 - 10 - 75 - 5);
 		});
 }
 
 #[test]
-fn transaction_extension_transaction_payment_is_bounded() {
+fn signed_extension_transaction_payment_is_bounded() {
 	ExtBuilder::default().balance_factor(1000).byte_fee(0).build().execute_with(|| {
 		// maximum weight possible
-		let info = info_from_weight(Weight::MAX);
-		assert_ok!(Ext::from(0).validate_and_prepare(Some(1).into(), CALL, &info, 10));
+		assert_ok!(ChargeTransactionPayment::<Runtime>::from(0).pre_dispatch(
+			&1,
+			CALL,
+			&info_from_weight(Weight::MAX),
+			10
+		));
 		// fee will be proportional to what is the actual maximum weight in the runtime.
 		assert_eq!(
 			Balances::free_balance(&1),
@@ -210,7 +220,7 @@ fn transaction_extension_transaction_payment_is_bounded() {
 }
 
 #[test]
-fn transaction_extension_allows_free_transactions() {
+fn signed_extension_allows_free_transactions() {
 	ExtBuilder::default()
 		.base_weight(Weight::from_parts(100, 0))
 		.balance_factor(0)
@@ -222,28 +232,38 @@ fn transaction_extension_allows_free_transactions() {
 			let len = 100;
 
 			// This is a completely free (and thus wholly insecure/DoS-ridden) transaction.
-			let op_tx = DispatchInfo {
+			let operational_transaction = DispatchInfo {
 				weight: Weight::from_parts(0, 0),
 				class: DispatchClass::Operational,
 				pays_fee: Pays::No,
 			};
-			assert_ok!(Ext::from(0).validate_only(Some(1).into(), CALL, &op_tx, len));
+			assert_ok!(ChargeTransactionPayment::<Runtime>::from(0).validate(
+				&1,
+				CALL,
+				&operational_transaction,
+				len
+			));
 
 			// like a InsecureFreeNormal
-			let free_tx = DispatchInfo {
+			let free_transaction = DispatchInfo {
 				weight: Weight::from_parts(0, 0),
 				class: DispatchClass::Normal,
 				pays_fee: Pays::Yes,
 			};
-			assert_eq!(
-				Ext::from(0).validate_only(Some(1).into(), CALL, &free_tx, len).unwrap_err(),
+			assert_noop!(
+				ChargeTransactionPayment::<Runtime>::from(0).validate(
+					&1,
+					CALL,
+					&free_transaction,
+					len
+				),
 				TransactionValidityError::Invalid(InvalidTransaction::Payment),
 			);
 		});
 }
 
 #[test]
-fn transaction_ext_length_fee_is_also_updated_per_congestion() {
+fn signed_ext_length_fee_is_also_updated_per_congestion() {
 	ExtBuilder::default()
 		.base_weight(Weight::from_parts(5, 0))
 		.balance_factor(10)
@@ -252,15 +272,16 @@ fn transaction_ext_length_fee_is_also_updated_per_congestion() {
 			// all fees should be x1.5
 			<NextFeeMultiplier<Runtime>>::put(Multiplier::saturating_from_rational(3, 2));
 			let len = 10;
-			let info = &info_from_weight(Weight::from_parts(3, 0));
-			assert_ok!(Ext::from(10).validate_and_prepare(Some(1).into(), CALL, info, len));
+
+			assert_ok!(ChargeTransactionPayment::<Runtime>::from(10) // tipped
+				.pre_dispatch(&1, CALL, &info_from_weight(Weight::from_parts(3, 0)), len));
 			assert_eq!(
 				Balances::free_balance(1),
 				100 // original
-			- 10 // tip
-			- 5 // base
-			- 10 // len
-			- (3 * 3 / 2) // adjusted weight
+            - 10 // tip
+            - 5 // base
+            - 10 // len
+            - (3 * 3 / 2) // adjusted weight
 			);
 		})
 }
@@ -270,62 +291,62 @@ fn query_info_and_fee_details_works() {
 	let call = RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 2, value: 69 });
 	let origin = 111111;
 	let extra = ();
-	let xt = UncheckedExtrinsic::new_signed(call.clone(), origin, (), extra);
+	let xt = TestXt::new(call.clone(), Some((origin, extra)));
 	let info = xt.get_dispatch_info();
 	let ext = xt.encode();
 	let len = ext.len() as u32;
 
-	let unsigned_xt = UncheckedExtrinsic::<u64, _, (), ()>::new_bare(call);
+	let unsigned_xt = TestXt::<_, ()>::new(call, None);
 	let unsigned_xt_info = unsigned_xt.get_dispatch_info();
 
 	ExtBuilder::default()
-		.base_weight(Weight::from_parts(5, 0))
-		.weight_fee(2)
-		.build()
-		.execute_with(|| {
-			// all fees should be x1.5
-			<NextFeeMultiplier<Runtime>>::put(Multiplier::saturating_from_rational(3, 2));
-
-			assert_eq!(
-				TransactionPayment::query_info(xt.clone(), len),
-				RuntimeDispatchInfo {
-					weight: info.weight,
-					class: info.class,
-					partial_fee: 5 * 2 /* base * weight_fee */
-					+ len as u64  /* len * 1 */
-					+ info.weight.min(BlockWeights::get().max_block).ref_time() as u64 * 2 * 3 / 2 /* weight */
-				},
-			);
-
-			assert_eq!(
-				TransactionPayment::query_info(unsigned_xt.clone(), len),
-				RuntimeDispatchInfo {
-					weight: unsigned_xt_info.weight,
-					class: unsigned_xt_info.class,
-					partial_fee: 0,
-				},
-			);
-
-			assert_eq!(
-				TransactionPayment::query_fee_details(xt, len),
-				FeeDetails {
-					inclusion_fee: Some(InclusionFee {
-						base_fee: 5 * 2,
-						len_fee: len as u64,
-						adjusted_weight_fee: info
-							.weight
-							.min(BlockWeights::get().max_block)
-							.ref_time() as u64 * 2 * 3 / 2
-					}),
-					tip: 0,
-				},
-			);
-
-			assert_eq!(
-				TransactionPayment::query_fee_details(unsigned_xt, len),
-				FeeDetails { inclusion_fee: None, tip: 0 },
-			);
-		});
+        .base_weight(Weight::from_parts(5, 0))
+        .weight_fee(2)
+        .build()
+        .execute_with(|| {
+            // all fees should be x1.5
+            <NextFeeMultiplier<Runtime>>::put(Multiplier::saturating_from_rational(3, 2));
+
+            assert_eq!(
+                TransactionPayment::query_info(xt.clone(), len),
+                RuntimeDispatchInfo {
+                    weight: info.weight,
+                    class: info.class,
+                    partial_fee: 5 * 2 /* base * weight_fee */
+                    + len as u64  /* len * 1 */
+                    + info.weight.min(BlockWeights::get().max_block).ref_time() as u64 * 2 * 3 / 2 /* weight */
+                },
+            );
+
+            assert_eq!(
+                TransactionPayment::query_info(unsigned_xt.clone(), len),
+                RuntimeDispatchInfo {
+                    weight: unsigned_xt_info.weight,
+                    class: unsigned_xt_info.class,
+                    partial_fee: 0,
+                },
+            );
+
+            assert_eq!(
+                TransactionPayment::query_fee_details(xt, len),
+                FeeDetails {
+                    inclusion_fee: Some(InclusionFee {
+                        base_fee: 5 * 2,
+                        len_fee: len as u64,
+                        adjusted_weight_fee: info
+                            .weight
+                            .min(BlockWeights::get().max_block)
+                            .ref_time() as u64 * 2 * 3 / 2
+                    }),
+                    tip: 0,
+                },
+            );
+
+            assert_eq!(
+                TransactionPayment::query_fee_details(unsigned_xt, len),
+                FeeDetails { inclusion_fee: None, tip: 0 },
+            );
+        });
 }
 
 #[test]
@@ -336,39 +357,39 @@ fn query_call_info_and_fee_details_works() {
 	let len = encoded_call.len() as u32;
 
 	ExtBuilder::default()
-		.base_weight(Weight::from_parts(5, 0))
-		.weight_fee(2)
-		.build()
-		.execute_with(|| {
-			// all fees should be x1.5
-			<NextFeeMultiplier<Runtime>>::put(Multiplier::saturating_from_rational(3, 2));
-
-			assert_eq!(
-				TransactionPayment::query_call_info(call.clone(), len),
-				RuntimeDispatchInfo {
-					weight: info.weight,
-					class: info.class,
-					partial_fee: 5 * 2 /* base * weight_fee */
-					+ len as u64  /* len * 1 */
-					+ info.weight.min(BlockWeights::get().max_block).ref_time() as u64 * 2 * 3 / 2 /* weight */
-				},
-			);
-
-			assert_eq!(
-				TransactionPayment::query_call_fee_details(call, len),
-				FeeDetails {
-					inclusion_fee: Some(InclusionFee {
-						base_fee: 5 * 2,     /* base * weight_fee */
-						len_fee: len as u64, /* len * 1 */
-						adjusted_weight_fee: info
-							.weight
-							.min(BlockWeights::get().max_block)
-							.ref_time() as u64 * 2 * 3 / 2  /* weight * weight_fee * multipler */
-					}),
-					tip: 0,
-				},
-			);
-		});
+        .base_weight(Weight::from_parts(5, 0))
+        .weight_fee(2)
+        .build()
+        .execute_with(|| {
+            // all fees should be x1.5
+            <NextFeeMultiplier<Runtime>>::put(Multiplier::saturating_from_rational(3, 2));
+
+            assert_eq!(
+                TransactionPayment::query_call_info(call.clone(), len),
+                RuntimeDispatchInfo {
+                    weight: info.weight,
+                    class: info.class,
+                    partial_fee: 5 * 2 /* base * weight_fee */
+                    + len as u64  /* len * 1 */
+                    + info.weight.min(BlockWeights::get().max_block).ref_time() as u64 * 2 * 3 / 2 /* weight */
+                },
+            );
+
+            assert_eq!(
+                TransactionPayment::query_call_fee_details(call, len),
+                FeeDetails {
+                    inclusion_fee: Some(InclusionFee {
+                        base_fee: 5 * 2,     /* base * weight_fee */
+                        len_fee: len as u64, /* len * 1 */
+                        adjusted_weight_fee: info
+                            .weight
+                            .min(BlockWeights::get().max_block)
+                            .ref_time() as u64 * 2 * 3 / 2  /* weight * weight_fee * multipler */
+                    }),
+                    tip: 0,
+                },
+            );
+        });
 }
 
 #[test]
@@ -505,23 +526,27 @@ fn refund_does_not_recreate_account() {
 		.execute_with(|| {
 			// So events are emitted
 			System::set_block_number(10);
-			let info = info_from_weight(Weight::from_parts(100, 0));
-			Ext::from(5 /* tipped */)
-				.test_run(Some(2).into(), CALL, &info, 10, |origin| {
-					assert_eq!(Balances::free_balance(2), 200 - 5 - 10 - 100 - 5);
-
-					// kill the account between pre and post dispatch
-					assert_ok!(Balances::transfer_allow_death(
-						origin,
-						3,
-						Balances::free_balance(2)
-					));
-					assert_eq!(Balances::free_balance(2), 0);
-
-					Ok(post_info_from_weight(Weight::from_parts(50, 0)))
-				})
-				.unwrap()
+			let len = 10;
+			let pre = ChargeTransactionPayment::<Runtime>::from(5 /* tipped */)
+				.pre_dispatch(&2, CALL, &info_from_weight(Weight::from_parts(100, 0)), len)
 				.unwrap();
+			assert_eq!(Balances::free_balance(2), 200 - 5 - 10 - 100 - 5);
+
+			// kill the account between pre and post dispatch
+			assert_ok!(Balances::transfer_allow_death(
+				Some(2).into(),
+				3,
+				Balances::free_balance(2)
+			));
+			assert_eq!(Balances::free_balance(2), 0);
+
+			assert_ok!(ChargeTransactionPayment::<Runtime>::post_dispatch(
+				Some(pre),
+				&info_from_weight(Weight::from_parts(100, 0)),
+				&post_info_from_weight(Weight::from_parts(50, 0)),
+				len,
+				&Ok(())
+			));
 			assert_eq!(Balances::free_balance(2), 0);
 			// Transfer Event
 			System::assert_has_event(RuntimeEvent::Balances(pallet_balances::Event::Transfer {
@@ -543,15 +568,20 @@ fn actual_weight_higher_than_max_refunds_nothing() {
 		.base_weight(Weight::from_parts(5, 0))
 		.build()
 		.execute_with(|| {
-			let info = info_from_weight(Weight::from_parts(100, 0));
-			Ext::from(5 /* tipped */)
-				.test_run(Some(2).into(), CALL, &info, 10, |_| {
-					assert_eq!(Balances::free_balance(2), 200 - 5 - 10 - 100 - 5);
-					Ok(post_info_from_weight(Weight::from_parts(101, 0)))
-				})
-				.unwrap()
+			let len = 10;
+			let pre = ChargeTransactionPayment::<Runtime>::from(5 /* tipped */)
+				.pre_dispatch(&2, CALL, &info_from_weight(Weight::from_parts(100, 0)), len)
 				.unwrap();
 			assert_eq!(Balances::free_balance(2), 200 - 5 - 10 - 100 - 5);
+
+			assert_ok!(ChargeTransactionPayment::<Runtime>::post_dispatch(
+				Some(pre),
+				&info_from_weight(Weight::from_parts(100, 0)),
+				&post_info_from_weight(Weight::from_parts(101, 0)),
+				len,
+				&Ok(())
+			));
+			assert_eq!(Balances::free_balance(2), 200 - 5 - 10 - 100 - 5);
 		});
 }
 
@@ -564,20 +594,25 @@ fn zero_transfer_on_free_transaction() {
 		.execute_with(|| {
 			// So events are emitted
 			System::set_block_number(10);
-			let info = DispatchInfo {
+			let len = 10;
+			let dispatch_info = DispatchInfo {
 				weight: Weight::from_parts(100, 0),
 				pays_fee: Pays::No,
 				class: DispatchClass::Normal,
 			};
 			let user = 69;
-			Ext::from(0)
-				.test_run(Some(user).into(), CALL, &info, 10, |_| {
-					assert_eq!(Balances::total_balance(&user), 0);
-					Ok(default_post_info())
-				})
-				.unwrap()
+			let pre = ChargeTransactionPayment::<Runtime>::from(0)
+				.pre_dispatch(&user, CALL, &dispatch_info, len)
 				.unwrap();
 			assert_eq!(Balances::total_balance(&user), 0);
+			assert_ok!(ChargeTransactionPayment::<Runtime>::post_dispatch(
+				Some(pre),
+				&dispatch_info,
+				&default_post_info(),
+				len,
+				&Ok(())
+			));
+			assert_eq!(Balances::total_balance(&user), 0);
 			// TransactionFeePaid Event
 			System::assert_has_event(RuntimeEvent::TransactionPayment(
 				pallet_transaction_payment::Event::TransactionFeePaid {
@@ -604,11 +639,19 @@ fn refund_consistent_with_actual_weight() {
 
 			<NextFeeMultiplier<Runtime>>::put(Multiplier::saturating_from_rational(5, 4));
 
-			Ext::from(tip)
-				.test_run(Some(2).into(), CALL, &info, len, |_| Ok(post_info))
-				.unwrap()
+			let pre = ChargeTransactionPayment::<Runtime>::from(tip)
+				.pre_dispatch(&2, CALL, &info, len)
 				.unwrap();
 
+			ChargeTransactionPayment::<Runtime>::post_dispatch(
+				Some(pre),
+				&info,
+				&post_info,
+				len,
+				&Ok(()),
+			)
+			.unwrap();
+
 			let refund_based_fee = prev_balance - Balances::free_balance(2);
 			let actual_fee =
 				Pallet::<Runtime>::compute_actual_fee(len as u32, &info, &post_info, tip);
@@ -630,13 +673,18 @@ fn should_alter_operational_priority() {
 			class: DispatchClass::Normal,
 			pays_fee: Pays::Yes,
 		};
+		let priority = ChargeTransactionPayment::<Runtime>(tip)
+			.validate(&2, CALL, &normal, len)
+			.unwrap()
+			.priority;
 
-		let ext = Ext::from(tip);
-		let priority = ext.validate_only(Some(2).into(), CALL, &normal, len).unwrap().0.priority;
 		assert_eq!(priority, 60);
 
-		let ext = Ext::from(2 * tip);
-		let priority = ext.validate_only(Some(2).into(), CALL, &normal, len).unwrap().0.priority;
+		let priority = ChargeTransactionPayment::<Runtime>(2 * tip)
+			.validate(&2, CALL, &normal, len)
+			.unwrap()
+			.priority;
+
 		assert_eq!(priority, 110);
 	});
 
@@ -646,13 +694,16 @@ fn should_alter_operational_priority() {
 			class: DispatchClass::Operational,
 			pays_fee: Pays::Yes,
 		};
-
-		let ext = Ext::from(tip);
-		let priority = ext.validate_only(Some(2).into(), CALL, &op, len).unwrap().0.priority;
+		let priority = ChargeTransactionPayment::<Runtime>(tip)
+			.validate(&2, CALL, &op, len)
+			.unwrap()
+			.priority;
 		assert_eq!(priority, 5810);
 
-		let ext = Ext::from(2 * tip);
-		let priority = ext.validate_only(Some(2).into(), CALL, &op, len).unwrap().0.priority;
+		let priority = ChargeTransactionPayment::<Runtime>(2 * tip)
+			.validate(&2, CALL, &op, len)
+			.unwrap()
+			.priority;
 		assert_eq!(priority, 6110);
 	});
 }
@@ -668,8 +719,11 @@ fn no_tip_has_some_priority() {
 			class: DispatchClass::Normal,
 			pays_fee: Pays::Yes,
 		};
-		let ext = Ext::from(tip);
-		let priority = ext.validate_only(Some(2).into(), CALL, &normal, len).unwrap().0.priority;
+		let priority = ChargeTransactionPayment::<Runtime>(tip)
+			.validate(&2, CALL, &normal, len)
+			.unwrap()
+			.priority;
+
 		assert_eq!(priority, 10);
 	});
 
@@ -679,8 +733,10 @@ fn no_tip_has_some_priority() {
 			class: DispatchClass::Operational,
 			pays_fee: Pays::Yes,
 		};
-		let ext = Ext::from(tip);
-		let priority = ext.validate_only(Some(2).into(), CALL, &op, len).unwrap().0.priority;
+		let priority = ChargeTransactionPayment::<Runtime>(tip)
+			.validate(&2, CALL, &op, len)
+			.unwrap()
+			.priority;
 		assert_eq!(priority, 5510);
 	});
 }
@@ -688,8 +744,8 @@ fn no_tip_has_some_priority() {
 #[test]
 fn higher_tip_have_higher_priority() {
 	let get_priorities = |tip: u64| {
-		let mut pri1 = 0;
-		let mut pri2 = 0;
+		let mut priority1 = 0;
+		let mut priority2 = 0;
 		let len = 10;
 		ExtBuilder::default().balance_factor(100).build().execute_with(|| {
 			let normal = DispatchInfo {
@@ -697,8 +753,10 @@ fn higher_tip_have_higher_priority() {
 				class: DispatchClass::Normal,
 				pays_fee: Pays::Yes,
 			};
-			let ext = Ext::from(tip);
-			pri1 = ext.validate_only(Some(2).into(), CALL, &normal, len).unwrap().0.priority;
+			priority1 = ChargeTransactionPayment::<Runtime>(tip)
+				.validate(&2, CALL, &normal, len)
+				.unwrap()
+				.priority;
 		});
 
 		ExtBuilder::default().balance_factor(100).build().execute_with(|| {
@@ -707,11 +765,13 @@ fn higher_tip_have_higher_priority() {
 				class: DispatchClass::Operational,
 				pays_fee: Pays::Yes,
 			};
-			let ext = Ext::from(tip);
-			pri2 = ext.validate_only(Some(2).into(), CALL, &op, len).unwrap().0.priority;
+			priority2 = ChargeTransactionPayment::<Runtime>(tip)
+				.validate(&2, CALL, &op, len)
+				.unwrap()
+				.priority;
 		});
 
-		(pri1, pri2)
+		(priority1, priority2)
 	};
 
 	let mut prev_priorities = get_priorities(0);
@@ -739,11 +799,19 @@ fn post_info_can_change_pays_fee() {
 
 			<NextFeeMultiplier<Runtime>>::put(Multiplier::saturating_from_rational(5, 4));
 
-			let post_info = ChargeTransactionPayment::<Runtime>::from(tip)
-				.test_run(Some(2).into(), CALL, &info, len, |_| Ok(post_info))
-				.unwrap()
+			let pre = ChargeTransactionPayment::<Runtime>::from(tip)
+				.pre_dispatch(&2, CALL, &info, len)
 				.unwrap();
 
+			ChargeTransactionPayment::<Runtime>::post_dispatch(
+				Some(pre),
+				&info,
+				&post_info,
+				len,
+				&Ok(()),
+			)
+			.unwrap();
+
 			let refund_based_fee = prev_balance - Balances::free_balance(2);
 			let actual_fee =
 				Pallet::<Runtime>::compute_actual_fee(len as u32, &info, &post_info, tip);
diff --git a/substrate/frame/transaction-payment/src/types.rs b/substrate/frame/transaction-payment/src/types.rs
index bfb3012fef0..25cecc58a63 100644
--- a/substrate/frame/transaction-payment/src/types.rs
+++ b/substrate/frame/transaction-payment/src/types.rs
@@ -112,7 +112,7 @@ pub struct RuntimeDispatchInfo<Balance, Weight = frame_support::weights::Weight>
 	/// The inclusion fee of this dispatch.
 	///
 	/// This does not include a tip or anything else that
-	/// depends on the signature (i.e. depends on a `TransactionExtension`).
+	/// depends on the signature (i.e. depends on a `SignedExtension`).
 	#[cfg_attr(feature = "std", serde(with = "serde_balance"))]
 	pub partial_fee: Balance,
 }
diff --git a/substrate/frame/transaction-payment/src/weights.rs b/substrate/frame/transaction-payment/src/weights.rs
deleted file mode 100644
index bcffb2eb331..00000000000
--- a/substrate/frame/transaction-payment/src/weights.rs
+++ /dev/null
@@ -1,92 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Autogenerated weights for `pallet_transaction_payment`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
-
-// Executed Command:
-// ./target/production/substrate-node
-// benchmark
-// pallet
-// --chain=dev
-// --steps=50
-// --repeat=20
-// --pallet=pallet_transaction_payment
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --wasm-execution=compiled
-// --heap-pages=4096
-// --output=./substrate/frame/transaction-payment/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
-use core::marker::PhantomData;
-
-/// Weight functions needed for `pallet_transaction_payment`.
-pub trait WeightInfo {
-	fn charge_transaction_payment() -> Weight;
-}
-
-/// Weights for `pallet_transaction_payment` using the Substrate node and recommended hardware.
-pub struct SubstrateWeight<T>(PhantomData<T>);
-impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Authorship::Author` (r:1 w:0)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	fn charge_transaction_payment() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `248`
-		//  Estimated: `1733`
-		// Minimum execution time: 40_506_000 picoseconds.
-		Weight::from_parts(41_647_000, 1733)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
-	}
-}
-
-// For backwards compatibility and tests.
-impl WeightInfo for () {
-	/// Storage: `TransactionPayment::NextFeeMultiplier` (r:1 w:0)
-	/// Proof: `TransactionPayment::NextFeeMultiplier` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Authorship::Author` (r:1 w:0)
-	/// Proof: `Authorship::Author` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `System::Digest` (r:1 w:0)
-	/// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
-	fn charge_transaction_payment() -> Weight {
-		// Proof Size summary in bytes:
-		//  Measured:  `248`
-		//  Estimated: `1733`
-		// Minimum execution time: 40_506_000 picoseconds.
-		Weight::from_parts(41_647_000, 1733)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
-	}
-}
diff --git a/substrate/frame/transaction-storage/src/weights.rs b/substrate/frame/transaction-storage/src/weights.rs
index bfbed62c5a3..519317177c4 100644
--- a/substrate/frame/transaction-storage/src/weights.rs
+++ b/substrate/frame/transaction-storage/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_transaction_storage`
+//! Autogenerated weights for pallet_transaction_storage
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/transaction-storage/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/transaction-storage/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,133 +50,125 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_transaction_storage`.
+/// Weight functions needed for pallet_transaction_storage.
 pub trait WeightInfo {
 	fn store(l: u32, ) -> Weight;
 	fn renew() -> Weight;
 	fn check_proof_max() -> Weight;
 }
 
-/// Weights for `pallet_transaction_storage` using the Substrate node and recommended hardware.
+/// Weights for pallet_transaction_storage using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `TransactionStorage::ByteFee` (r:1 w:0)
-	/// Proof: `TransactionStorage::ByteFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::EntryFee` (r:1 w:0)
-	/// Proof: `TransactionStorage::EntryFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::BlockTransactions` (r:1 w:1)
-	/// Proof: `TransactionStorage::BlockTransactions` (`max_values`: Some(1), `max_size`: Some(36866), added: 37361, mode: `MaxEncodedLen`)
+	/// Storage: TransactionStorage ByteFee (r:1 w:0)
+	/// Proof: TransactionStorage ByteFee (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage EntryFee (r:1 w:0)
+	/// Proof: TransactionStorage EntryFee (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage BlockTransactions (r:1 w:1)
+	/// Proof: TransactionStorage BlockTransactions (max_values: Some(1), max_size: Some(36866), added: 37361, mode: MaxEncodedLen)
 	/// The range of component `l` is `[1, 8388608]`.
 	fn store(l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `242`
+		//  Measured:  `176`
 		//  Estimated: `38351`
-		// Minimum execution time: 57_912_000 picoseconds.
-		Weight::from_parts(58_642_000, 38351)
+		// Minimum execution time: 34_844_000 picoseconds.
+		Weight::from_parts(35_489_000, 38351)
 			// Standard Error: 11
-			.saturating_add(Weight::from_parts(6_778, 0).saturating_mul(l.into()))
-			.saturating_add(T::DbWeight::get().reads(4_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
+			.saturating_add(Weight::from_parts(6_912, 0).saturating_mul(l.into()))
+			.saturating_add(T::DbWeight::get().reads(3_u64))
+			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `TransactionStorage::Transactions` (r:1 w:0)
-	/// Proof: `TransactionStorage::Transactions` (`max_values`: None, `max_size`: Some(36886), added: 39361, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::ByteFee` (r:1 w:0)
-	/// Proof: `TransactionStorage::ByteFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::EntryFee` (r:1 w:0)
-	/// Proof: `TransactionStorage::EntryFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::BlockTransactions` (r:1 w:1)
-	/// Proof: `TransactionStorage::BlockTransactions` (`max_values`: Some(1), `max_size`: Some(36866), added: 37361, mode: `MaxEncodedLen`)
+	/// Storage: TransactionStorage Transactions (r:1 w:0)
+	/// Proof: TransactionStorage Transactions (max_values: None, max_size: Some(36886), added: 39361, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage ByteFee (r:1 w:0)
+	/// Proof: TransactionStorage ByteFee (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage EntryFee (r:1 w:0)
+	/// Proof: TransactionStorage EntryFee (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage BlockTransactions (r:1 w:1)
+	/// Proof: TransactionStorage BlockTransactions (max_values: Some(1), max_size: Some(36866), added: 37361, mode: MaxEncodedLen)
 	fn renew() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `430`
+		//  Measured:  `326`
 		//  Estimated: `40351`
-		// Minimum execution time: 72_571_000 picoseconds.
-		Weight::from_parts(74_832_000, 40351)
-			.saturating_add(T::DbWeight::get().reads(5_u64))
-			.saturating_add(T::DbWeight::get().writes(2_u64))
+		// Minimum execution time: 48_244_000 picoseconds.
+		Weight::from_parts(50_939_000, 40351)
+			.saturating_add(T::DbWeight::get().reads(4_u64))
+			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `TransactionStorage::ProofChecked` (r:1 w:1)
-	/// Proof: `TransactionStorage::ProofChecked` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::StoragePeriod` (r:1 w:0)
-	/// Proof: `TransactionStorage::StoragePeriod` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::ChunkCount` (r:1 w:0)
-	/// Proof: `TransactionStorage::ChunkCount` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
-	/// Storage: `System::ParentHash` (r:1 w:0)
-	/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::Transactions` (r:1 w:0)
-	/// Proof: `TransactionStorage::Transactions` (`max_values`: None, `max_size`: Some(36886), added: 39361, mode: `MaxEncodedLen`)
+	/// Storage: TransactionStorage ProofChecked (r:1 w:1)
+	/// Proof: TransactionStorage ProofChecked (max_values: Some(1), max_size: Some(1), added: 496, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage StoragePeriod (r:1 w:0)
+	/// Proof: TransactionStorage StoragePeriod (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage ChunkCount (r:1 w:0)
+	/// Proof: TransactionStorage ChunkCount (max_values: None, max_size: Some(24), added: 2499, mode: MaxEncodedLen)
+	/// Storage: System ParentHash (r:1 w:0)
+	/// Proof: System ParentHash (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage Transactions (r:1 w:0)
+	/// Proof: TransactionStorage Transactions (max_values: None, max_size: Some(36886), added: 39361, mode: MaxEncodedLen)
 	fn check_proof_max() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `37211`
+		//  Measured:  `37145`
 		//  Estimated: `40351`
-		// Minimum execution time: 65_985_000 picoseconds.
-		Weight::from_parts(72_960_000, 40351)
+		// Minimum execution time: 80_913_000 picoseconds.
+		Weight::from_parts(84_812_000, 40351)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `TransactionStorage::ByteFee` (r:1 w:0)
-	/// Proof: `TransactionStorage::ByteFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::EntryFee` (r:1 w:0)
-	/// Proof: `TransactionStorage::EntryFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::BlockTransactions` (r:1 w:1)
-	/// Proof: `TransactionStorage::BlockTransactions` (`max_values`: Some(1), `max_size`: Some(36866), added: 37361, mode: `MaxEncodedLen`)
+	/// Storage: TransactionStorage ByteFee (r:1 w:0)
+	/// Proof: TransactionStorage ByteFee (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage EntryFee (r:1 w:0)
+	/// Proof: TransactionStorage EntryFee (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage BlockTransactions (r:1 w:1)
+	/// Proof: TransactionStorage BlockTransactions (max_values: Some(1), max_size: Some(36866), added: 37361, mode: MaxEncodedLen)
 	/// The range of component `l` is `[1, 8388608]`.
 	fn store(l: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `242`
+		//  Measured:  `176`
 		//  Estimated: `38351`
-		// Minimum execution time: 57_912_000 picoseconds.
-		Weight::from_parts(58_642_000, 38351)
+		// Minimum execution time: 34_844_000 picoseconds.
+		Weight::from_parts(35_489_000, 38351)
 			// Standard Error: 11
-			.saturating_add(Weight::from_parts(6_778, 0).saturating_mul(l.into()))
-			.saturating_add(RocksDbWeight::get().reads(4_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
+			.saturating_add(Weight::from_parts(6_912, 0).saturating_mul(l.into()))
+			.saturating_add(RocksDbWeight::get().reads(3_u64))
+			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `TransactionStorage::Transactions` (r:1 w:0)
-	/// Proof: `TransactionStorage::Transactions` (`max_values`: None, `max_size`: Some(36886), added: 39361, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::ByteFee` (r:1 w:0)
-	/// Proof: `TransactionStorage::ByteFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::EntryFee` (r:1 w:0)
-	/// Proof: `TransactionStorage::EntryFee` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Balances::Holds` (r:1 w:1)
-	/// Proof: `Balances::Holds` (`max_values`: None, `max_size`: Some(193), added: 2668, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::BlockTransactions` (r:1 w:1)
-	/// Proof: `TransactionStorage::BlockTransactions` (`max_values`: Some(1), `max_size`: Some(36866), added: 37361, mode: `MaxEncodedLen`)
+	/// Storage: TransactionStorage Transactions (r:1 w:0)
+	/// Proof: TransactionStorage Transactions (max_values: None, max_size: Some(36886), added: 39361, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage ByteFee (r:1 w:0)
+	/// Proof: TransactionStorage ByteFee (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage EntryFee (r:1 w:0)
+	/// Proof: TransactionStorage EntryFee (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage BlockTransactions (r:1 w:1)
+	/// Proof: TransactionStorage BlockTransactions (max_values: Some(1), max_size: Some(36866), added: 37361, mode: MaxEncodedLen)
 	fn renew() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `430`
+		//  Measured:  `326`
 		//  Estimated: `40351`
-		// Minimum execution time: 72_571_000 picoseconds.
-		Weight::from_parts(74_832_000, 40351)
-			.saturating_add(RocksDbWeight::get().reads(5_u64))
-			.saturating_add(RocksDbWeight::get().writes(2_u64))
+		// Minimum execution time: 48_244_000 picoseconds.
+		Weight::from_parts(50_939_000, 40351)
+			.saturating_add(RocksDbWeight::get().reads(4_u64))
+			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `TransactionStorage::ProofChecked` (r:1 w:1)
-	/// Proof: `TransactionStorage::ProofChecked` (`max_values`: Some(1), `max_size`: Some(1), added: 496, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::StoragePeriod` (r:1 w:0)
-	/// Proof: `TransactionStorage::StoragePeriod` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::ChunkCount` (r:1 w:0)
-	/// Proof: `TransactionStorage::ChunkCount` (`max_values`: None, `max_size`: Some(24), added: 2499, mode: `MaxEncodedLen`)
-	/// Storage: `System::ParentHash` (r:1 w:0)
-	/// Proof: `System::ParentHash` (`max_values`: Some(1), `max_size`: Some(32), added: 527, mode: `MaxEncodedLen`)
-	/// Storage: `TransactionStorage::Transactions` (r:1 w:0)
-	/// Proof: `TransactionStorage::Transactions` (`max_values`: None, `max_size`: Some(36886), added: 39361, mode: `MaxEncodedLen`)
+	/// Storage: TransactionStorage ProofChecked (r:1 w:1)
+	/// Proof: TransactionStorage ProofChecked (max_values: Some(1), max_size: Some(1), added: 496, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage StoragePeriod (r:1 w:0)
+	/// Proof: TransactionStorage StoragePeriod (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage ChunkCount (r:1 w:0)
+	/// Proof: TransactionStorage ChunkCount (max_values: None, max_size: Some(24), added: 2499, mode: MaxEncodedLen)
+	/// Storage: System ParentHash (r:1 w:0)
+	/// Proof: System ParentHash (max_values: Some(1), max_size: Some(32), added: 527, mode: MaxEncodedLen)
+	/// Storage: TransactionStorage Transactions (r:1 w:0)
+	/// Proof: TransactionStorage Transactions (max_values: None, max_size: Some(36886), added: 39361, mode: MaxEncodedLen)
 	fn check_proof_max() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `37211`
+		//  Measured:  `37145`
 		//  Estimated: `40351`
-		// Minimum execution time: 65_985_000 picoseconds.
-		Weight::from_parts(72_960_000, 40351)
+		// Minimum execution time: 80_913_000 picoseconds.
+		Weight::from_parts(84_812_000, 40351)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
diff --git a/substrate/frame/treasury/src/weights.rs b/substrate/frame/treasury/src/weights.rs
index 8ef4f89fd65..030e18980eb 100644
--- a/substrate/frame/treasury/src/weights.rs
+++ b/substrate/frame/treasury/src/weights.rs
@@ -15,31 +15,27 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_treasury`
+//! Autogenerated weights for pallet_treasury
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-07-07, STEPS: `20`, REPEAT: `2`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `cob`, CPU: `<UNKNOWN>`
+//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/debug/substrate
 // benchmark
 // pallet
 // --chain=dev
-// --steps=50
-// --repeat=20
-// --pallet=pallet_treasury
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
+// --steps=20
+// --repeat=2
+// --pallet=pallet-treasury
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/treasury/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/treasury/src/._weights.rs
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +45,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_treasury`.
+/// Weight functions needed for pallet_treasury.
 pub trait WeightInfo {
 	fn spend_local() -> Weight;
 	fn propose_spend() -> Weight;
@@ -63,304 +59,304 @@ pub trait WeightInfo {
 	fn void_spend() -> Weight;
 }
 
-/// Weights for `pallet_treasury` using the Substrate node and recommended hardware.
+/// Weights for pallet_treasury using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Treasury::ProposalCount` (r:1 w:1)
-	/// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Proposals` (r:0 w:1)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
+	/// Storage: Treasury ProposalCount (r:1 w:1)
+	/// Proof: Treasury ProposalCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Treasury Approvals (r:1 w:1)
+	/// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
+	/// Storage: Treasury Proposals (r:0 w:1)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
 	fn spend_local() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `1887`
-		// Minimum execution time: 11_686_000 picoseconds.
-		Weight::from_parts(12_138_000, 1887)
+		// Minimum execution time: 179_000_000 picoseconds.
+		Weight::from_parts(190_000_000, 1887)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Treasury::ProposalCount` (r:1 w:1)
-	/// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Proposals` (r:0 w:1)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
+	/// Storage: Treasury ProposalCount (r:1 w:1)
+	/// Proof: Treasury ProposalCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Treasury Proposals (r:0 w:1)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
 	fn propose_spend() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `177`
 		//  Estimated: `1489`
-		// Minimum execution time: 23_773_000 picoseconds.
-		Weight::from_parts(24_801_000, 1489)
+		// Minimum execution time: 349_000_000 picoseconds.
+		Weight::from_parts(398_000_000, 1489)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Treasury::Proposals` (r:1 w:1)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Proposals (r:1 w:1)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn reject_proposal() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `335`
 		//  Estimated: `3593`
-		// Minimum execution time: 24_533_000 picoseconds.
-		Weight::from_parts(25_731_000, 3593)
+		// Minimum execution time: 367_000_000 picoseconds.
+		Weight::from_parts(388_000_000, 3593)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Treasury::Proposals` (r:1 w:0)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Proposals (r:1 w:0)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
+	/// Storage: Treasury Approvals (r:1 w:1)
+	/// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
 	/// The range of component `p` is `[0, 99]`.
 	fn approve_proposal(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `504 + p * (8 ±0)`
+		//  Measured:  `483 + p * (9 ±0)`
 		//  Estimated: `3573`
-		// Minimum execution time: 8_245_000 picoseconds.
-		Weight::from_parts(11_300_222, 3573)
-			// Standard Error: 1_080
-			.saturating_add(Weight::from_parts(71_375, 0).saturating_mul(p.into()))
+		// Minimum execution time: 111_000_000 picoseconds.
+		Weight::from_parts(108_813_243, 3573)
+			// Standard Error: 147_887
+			.saturating_add(Weight::from_parts(683_216, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Approvals (r:1 w:1)
+	/// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
 	fn remove_approval() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `161`
 		//  Estimated: `1887`
-		// Minimum execution time: 6_231_000 picoseconds.
-		Weight::from_parts(6_517_000, 1887)
+		// Minimum execution time: 71_000_000 picoseconds.
+		Weight::from_parts(78_000_000, 1887)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Treasury::Deactivated` (r:1 w:1)
-	/// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Proposals` (r:99 w:99)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:198 w:198)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyApprovals` (r:1 w:1)
-	/// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Deactivated (r:1 w:1)
+	/// Proof: Treasury Deactivated (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: Treasury Approvals (r:1 w:1)
+	/// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
+	/// Storage: Treasury Proposals (r:99 w:99)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
+	/// Storage: System Account (r:198 w:198)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyApprovals (r:1 w:1)
+	/// Proof: Bounties BountyApprovals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
 	/// The range of component `p` is `[0, 99]`.
 	fn on_initialize_proposals(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `451 + p * (251 ±0)`
+		//  Measured:  `427 + p * (251 ±0)`
 		//  Estimated: `1887 + p * (5206 ±0)`
-		// Minimum execution time: 30_729_000 picoseconds.
-		Weight::from_parts(37_861_389, 1887)
-			// Standard Error: 18_741
-			.saturating_add(Weight::from_parts(31_377_118, 0).saturating_mul(p.into()))
+		// Minimum execution time: 614_000_000 picoseconds.
+		Weight::from_parts(498_501_558, 1887)
+			// Standard Error: 1_070_260
+			.saturating_add(Weight::from_parts(599_011_690, 0).saturating_mul(p.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().reads((3_u64).saturating_mul(p.into())))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(T::DbWeight::get().writes((3_u64).saturating_mul(p.into())))
 			.saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into()))
 	}
-	/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:0)
-	/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::SpendCount` (r:1 w:1)
-	/// Proof: `Treasury::SpendCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Spends` (r:0 w:1)
-	/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: AssetRate ConversionRateToNative (r:1 w:0)
+	/// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(36), added: 2511, mode: MaxEncodedLen)
+	/// Storage: Treasury SpendCount (r:1 w:1)
+	/// Proof: Treasury SpendCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Treasury Spends (r:0 w:1)
+	/// Proof: Treasury Spends (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn spend() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `140`
 		//  Estimated: `3501`
-		// Minimum execution time: 13_700_000 picoseconds.
-		Weight::from_parts(14_519_000, 3501)
+		// Minimum execution time: 214_000_000 picoseconds.
+		Weight::from_parts(216_000_000, 3501)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Treasury::Spends` (r:1 w:1)
-	/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:2 w:2)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Spends (r:1 w:1)
+	/// Proof: Treasury Spends (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:2 w:2)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn payout() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `709`
+		//  Measured:  `705`
 		//  Estimated: `6208`
-		// Minimum execution time: 54_888_000 picoseconds.
-		Weight::from_parts(55_966_000, 6208)
+		// Minimum execution time: 760_000_000 picoseconds.
+		Weight::from_parts(822_000_000, 6208)
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Treasury::Spends` (r:1 w:1)
-	/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Spends (r:1 w:1)
+	/// Proof: Treasury Spends (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn check_status() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `198`
-		//  Estimated: `3538`
-		// Minimum execution time: 11_802_000 picoseconds.
-		Weight::from_parts(12_421_000, 3538)
+		//  Measured:  `194`
+		//  Estimated: `3534`
+		// Minimum execution time: 153_000_000 picoseconds.
+		Weight::from_parts(160_000_000, 3534)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Treasury::Spends` (r:1 w:1)
-	/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Spends (r:1 w:1)
+	/// Proof: Treasury Spends (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn void_spend() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `198`
-		//  Estimated: `3538`
-		// Minimum execution time: 10_571_000 picoseconds.
-		Weight::from_parts(11_052_000, 3538)
+		//  Measured:  `194`
+		//  Estimated: `3534`
+		// Minimum execution time: 147_000_000 picoseconds.
+		Weight::from_parts(181_000_000, 3534)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Treasury::ProposalCount` (r:1 w:1)
-	/// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Proposals` (r:0 w:1)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
+	/// Storage: Treasury ProposalCount (r:1 w:1)
+	/// Proof: Treasury ProposalCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Treasury Approvals (r:1 w:1)
+	/// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
+	/// Storage: Treasury Proposals (r:0 w:1)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
 	fn spend_local() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `76`
 		//  Estimated: `1887`
-		// Minimum execution time: 11_686_000 picoseconds.
-		Weight::from_parts(12_138_000, 1887)
+		// Minimum execution time: 179_000_000 picoseconds.
+		Weight::from_parts(190_000_000, 1887)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
-	/// Storage: `Treasury::ProposalCount` (r:1 w:1)
-	/// Proof: `Treasury::ProposalCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Proposals` (r:0 w:1)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
+	/// Storage: Treasury ProposalCount (r:1 w:1)
+	/// Proof: Treasury ProposalCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Treasury Proposals (r:0 w:1)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
 	fn propose_spend() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `177`
 		//  Estimated: `1489`
-		// Minimum execution time: 23_773_000 picoseconds.
-		Weight::from_parts(24_801_000, 1489)
+		// Minimum execution time: 349_000_000 picoseconds.
+		Weight::from_parts(398_000_000, 1489)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Treasury::Proposals` (r:1 w:1)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Proposals (r:1 w:1)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn reject_proposal() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `335`
 		//  Estimated: `3593`
-		// Minimum execution time: 24_533_000 picoseconds.
-		Weight::from_parts(25_731_000, 3593)
+		// Minimum execution time: 367_000_000 picoseconds.
+		Weight::from_parts(388_000_000, 3593)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Treasury::Proposals` (r:1 w:0)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Proposals (r:1 w:0)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
+	/// Storage: Treasury Approvals (r:1 w:1)
+	/// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
 	/// The range of component `p` is `[0, 99]`.
 	fn approve_proposal(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `504 + p * (8 ±0)`
+		//  Measured:  `483 + p * (9 ±0)`
 		//  Estimated: `3573`
-		// Minimum execution time: 8_245_000 picoseconds.
-		Weight::from_parts(11_300_222, 3573)
-			// Standard Error: 1_080
-			.saturating_add(Weight::from_parts(71_375, 0).saturating_mul(p.into()))
+		// Minimum execution time: 111_000_000 picoseconds.
+		Weight::from_parts(108_813_243, 3573)
+			// Standard Error: 147_887
+			.saturating_add(Weight::from_parts(683_216, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Approvals (r:1 w:1)
+	/// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
 	fn remove_approval() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `161`
 		//  Estimated: `1887`
-		// Minimum execution time: 6_231_000 picoseconds.
-		Weight::from_parts(6_517_000, 1887)
+		// Minimum execution time: 71_000_000 picoseconds.
+		Weight::from_parts(78_000_000, 1887)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Treasury::Deactivated` (r:1 w:1)
-	/// Proof: `Treasury::Deactivated` (`max_values`: Some(1), `max_size`: Some(16), added: 511, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Approvals` (r:1 w:1)
-	/// Proof: `Treasury::Approvals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Proposals` (r:99 w:99)
-	/// Proof: `Treasury::Proposals` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:198 w:198)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
-	/// Storage: `Bounties::BountyApprovals` (r:1 w:1)
-	/// Proof: `Bounties::BountyApprovals` (`max_values`: Some(1), `max_size`: Some(402), added: 897, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Deactivated (r:1 w:1)
+	/// Proof: Treasury Deactivated (max_values: Some(1), max_size: Some(16), added: 511, mode: MaxEncodedLen)
+	/// Storage: Treasury Approvals (r:1 w:1)
+	/// Proof: Treasury Approvals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
+	/// Storage: Treasury Proposals (r:99 w:99)
+	/// Proof: Treasury Proposals (max_values: None, max_size: Some(108), added: 2583, mode: MaxEncodedLen)
+	/// Storage: System Account (r:198 w:198)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
+	/// Storage: Bounties BountyApprovals (r:1 w:1)
+	/// Proof: Bounties BountyApprovals (max_values: Some(1), max_size: Some(402), added: 897, mode: MaxEncodedLen)
 	/// The range of component `p` is `[0, 99]`.
 	fn on_initialize_proposals(p: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `451 + p * (251 ±0)`
+		//  Measured:  `427 + p * (251 ±0)`
 		//  Estimated: `1887 + p * (5206 ±0)`
-		// Minimum execution time: 30_729_000 picoseconds.
-		Weight::from_parts(37_861_389, 1887)
-			// Standard Error: 18_741
-			.saturating_add(Weight::from_parts(31_377_118, 0).saturating_mul(p.into()))
+		// Minimum execution time: 614_000_000 picoseconds.
+		Weight::from_parts(498_501_558, 1887)
+			// Standard Error: 1_070_260
+			.saturating_add(Weight::from_parts(599_011_690, 0).saturating_mul(p.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().reads((3_u64).saturating_mul(p.into())))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(RocksDbWeight::get().writes((3_u64).saturating_mul(p.into())))
 			.saturating_add(Weight::from_parts(0, 5206).saturating_mul(p.into()))
 	}
-	/// Storage: `AssetRate::ConversionRateToNative` (r:1 w:0)
-	/// Proof: `AssetRate::ConversionRateToNative` (`max_values`: None, `max_size`: Some(36), added: 2511, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::SpendCount` (r:1 w:1)
-	/// Proof: `Treasury::SpendCount` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `Treasury::Spends` (r:0 w:1)
-	/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: AssetRate ConversionRateToNative (r:1 w:0)
+	/// Proof: AssetRate ConversionRateToNative (max_values: None, max_size: Some(36), added: 2511, mode: MaxEncodedLen)
+	/// Storage: Treasury SpendCount (r:1 w:1)
+	/// Proof: Treasury SpendCount (max_values: Some(1), max_size: Some(4), added: 499, mode: MaxEncodedLen)
+	/// Storage: Treasury Spends (r:0 w:1)
+	/// Proof: Treasury Spends (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn spend() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `140`
 		//  Estimated: `3501`
-		// Minimum execution time: 13_700_000 picoseconds.
-		Weight::from_parts(14_519_000, 3501)
+		// Minimum execution time: 214_000_000 picoseconds.
+		Weight::from_parts(216_000_000, 3501)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Treasury::Spends` (r:1 w:1)
-	/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Asset` (r:1 w:1)
-	/// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
-	/// Storage: `Assets::Account` (r:2 w:2)
-	/// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Spends (r:1 w:1)
+	/// Proof: Treasury Spends (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
+	/// Storage: Assets Asset (r:1 w:1)
+	/// Proof: Assets Asset (max_values: None, max_size: Some(210), added: 2685, mode: MaxEncodedLen)
+	/// Storage: Assets Account (r:2 w:2)
+	/// Proof: Assets Account (max_values: None, max_size: Some(134), added: 2609, mode: MaxEncodedLen)
+	/// Storage: System Account (r:1 w:1)
+	/// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
 	fn payout() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `709`
+		//  Measured:  `705`
 		//  Estimated: `6208`
-		// Minimum execution time: 54_888_000 picoseconds.
-		Weight::from_parts(55_966_000, 6208)
+		// Minimum execution time: 760_000_000 picoseconds.
+		Weight::from_parts(822_000_000, 6208)
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(5_u64))
 	}
-	/// Storage: `Treasury::Spends` (r:1 w:1)
-	/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Spends (r:1 w:1)
+	/// Proof: Treasury Spends (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn check_status() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `198`
-		//  Estimated: `3538`
-		// Minimum execution time: 11_802_000 picoseconds.
-		Weight::from_parts(12_421_000, 3538)
+		//  Measured:  `194`
+		//  Estimated: `3534`
+		// Minimum execution time: 153_000_000 picoseconds.
+		Weight::from_parts(160_000_000, 3534)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
-	/// Storage: `Treasury::Spends` (r:1 w:1)
-	/// Proof: `Treasury::Spends` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`)
+	/// Storage: Treasury Spends (r:1 w:1)
+	/// Proof: Treasury Spends (max_values: None, max_size: Some(69), added: 2544, mode: MaxEncodedLen)
 	fn void_spend() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `198`
-		//  Estimated: `3538`
-		// Minimum execution time: 10_571_000 picoseconds.
-		Weight::from_parts(11_052_000, 3538)
+		//  Measured:  `194`
+		//  Estimated: `3534`
+		// Minimum execution time: 147_000_000 picoseconds.
+		Weight::from_parts(181_000_000, 3534)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
diff --git a/substrate/frame/tx-pause/src/weights.rs b/substrate/frame/tx-pause/src/weights.rs
index 14fead12a8e..b733e64b159 100644
--- a/substrate/frame/tx-pause/src/weights.rs
+++ b/substrate/frame/tx-pause/src/weights.rs
@@ -17,29 +17,27 @@
 
 //! Autogenerated weights for `pallet_tx_pause`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-08-24, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-aahe6cbd-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/production/substrate-node
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_tx_pause
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/tx-pause/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --json-file=/builds/parity/mirrors/substrate/.git/.artifacts/bench.json
+// --pallet=pallet_tx_pause
+// --chain=dev
+// --header=./HEADER-APACHE2
+// --output=./frame/tx-pause/src/weights.rs
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -64,8 +62,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `3`
 		//  Estimated: `3997`
-		// Minimum execution time: 12_014_000 picoseconds.
-		Weight::from_parts(12_980_000, 3997)
+		// Minimum execution time: 15_096_000 picoseconds.
+		Weight::from_parts(15_437_000, 3997)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -75,8 +73,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `565`
 		//  Estimated: `3997`
-		// Minimum execution time: 17_955_000 picoseconds.
-		Weight::from_parts(18_348_000, 3997)
+		// Minimum execution time: 21_546_000 picoseconds.
+		Weight::from_parts(22_178_000, 3997)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -90,8 +88,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `3`
 		//  Estimated: `3997`
-		// Minimum execution time: 12_014_000 picoseconds.
-		Weight::from_parts(12_980_000, 3997)
+		// Minimum execution time: 15_096_000 picoseconds.
+		Weight::from_parts(15_437_000, 3997)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -101,8 +99,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `565`
 		//  Estimated: `3997`
-		// Minimum execution time: 17_955_000 picoseconds.
-		Weight::from_parts(18_348_000, 3997)
+		// Minimum execution time: 21_546_000 picoseconds.
+		Weight::from_parts(22_178_000, 3997)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
diff --git a/substrate/frame/uniques/src/weights.rs b/substrate/frame/uniques/src/weights.rs
index 6c7b60b82e5..eb80ee550a1 100644
--- a/substrate/frame/uniques/src/weights.rs
+++ b/substrate/frame/uniques/src/weights.rs
@@ -17,29 +17,27 @@
 
 //! Autogenerated weights for `pallet_uniques`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-07-19, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-gghbxkbs-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/production/substrate
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_uniques
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/uniques/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --json-file=/builds/parity/mirrors/substrate/.git/.artifacts/bench.json
+// --pallet=pallet_uniques
+// --chain=dev
+// --header=./HEADER-APACHE2
+// --output=./frame/uniques/src/weights.rs
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -90,8 +88,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `249`
 		//  Estimated: `3643`
-		// Minimum execution time: 27_960_000 picoseconds.
-		Weight::from_parts(28_781_000, 3643)
+		// Minimum execution time: 31_393_000 picoseconds.
+		Weight::from_parts(32_933_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -103,8 +101,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `109`
 		//  Estimated: `3643`
-		// Minimum execution time: 11_970_000 picoseconds.
-		Weight::from_parts(12_512_000, 3643)
+		// Minimum execution time: 14_827_000 picoseconds.
+		Weight::from_parts(15_273_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -113,13 +111,13 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Storage: `Uniques::Asset` (r:1001 w:1000)
 	/// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::InstanceMetadataOf` (r:1000 w:1000)
-	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::Attribute` (r:1000 w:1000)
-	/// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(364), added: 2839, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::ClassAccount` (r:0 w:1)
 	/// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::ClassMetadataOf` (r:0 w:1)
-	/// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::Account` (r:0 w:1000)
 	/// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::CollectionMaxSupply` (r:0 w:1)
@@ -130,15 +128,15 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	fn destroy(n: u32, m: u32, a: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `418 + a * (107 ±0) + m * (56 ±0) + n * (76 ±0)`
-		//  Estimated: `3643 + a * (2647 ±0) + m * (2662 ±0) + n * (2597 ±0)`
-		// Minimum execution time: 2_979_858_000 picoseconds.
-		Weight::from_parts(3_007_268_000, 3643)
-			// Standard Error: 29_899
-			.saturating_add(Weight::from_parts(6_943_612, 0).saturating_mul(n.into()))
-			// Standard Error: 29_899
-			.saturating_add(Weight::from_parts(398_114, 0).saturating_mul(m.into()))
-			// Standard Error: 29_899
-			.saturating_add(Weight::from_parts(369_941, 0).saturating_mul(a.into()))
+		//  Estimated: `3643 + a * (2839 ±0) + m * (2583 ±0) + n * (2597 ±0)`
+		// Minimum execution time: 3_281_673_000 picoseconds.
+		Weight::from_parts(3_443_387_000, 3643)
+			// Standard Error: 41_937
+			.saturating_add(Weight::from_parts(7_914_842, 0).saturating_mul(n.into()))
+			// Standard Error: 41_937
+			.saturating_add(Weight::from_parts(519_960, 0).saturating_mul(m.into()))
+			// Standard Error: 41_937
+			.saturating_add(Weight::from_parts(462_690, 0).saturating_mul(a.into()))
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(m.into())))
@@ -147,8 +145,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 			.saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(n.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(m.into())))
 			.saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(a.into())))
-			.saturating_add(Weight::from_parts(0, 2647).saturating_mul(a.into()))
-			.saturating_add(Weight::from_parts(0, 2662).saturating_mul(m.into()))
+			.saturating_add(Weight::from_parts(0, 2839).saturating_mul(a.into()))
+			.saturating_add(Weight::from_parts(0, 2583).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 2597).saturating_mul(n.into()))
 	}
 	/// Storage: `Uniques::Asset` (r:1 w:1)
@@ -163,8 +161,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 32_733_000 picoseconds.
-		Weight::from_parts(33_487_000, 3643)
+		// Minimum execution time: 38_122_000 picoseconds.
+		Weight::from_parts(38_924_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -180,8 +178,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3643`
-		// Minimum execution time: 34_202_000 picoseconds.
-		Weight::from_parts(35_146_000, 3643)
+		// Minimum execution time: 38_835_000 picoseconds.
+		Weight::from_parts(39_754_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
@@ -197,8 +195,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3643`
-		// Minimum execution time: 24_285_000 picoseconds.
-		Weight::from_parts(25_300_000, 3643)
+		// Minimum execution time: 27_032_000 picoseconds.
+		Weight::from_parts(27_793_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
@@ -211,10 +209,10 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `805 + i * (76 ±0)`
 		//  Estimated: `3643 + i * (2597 ±0)`
-		// Minimum execution time: 11_641_000 picoseconds.
-		Weight::from_parts(12_261_000, 3643)
-			// Standard Error: 18_897
-			.saturating_add(Weight::from_parts(15_263_570, 0).saturating_mul(i.into()))
+		// Minimum execution time: 14_737_000 picoseconds.
+		Weight::from_parts(15_070_000, 3643)
+			// Standard Error: 22_500
+			.saturating_add(Weight::from_parts(18_855_468, 0).saturating_mul(i.into()))
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
@@ -229,8 +227,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3643`
-		// Minimum execution time: 16_122_000 picoseconds.
-		Weight::from_parts(16_627_000, 3643)
+		// Minimum execution time: 18_664_000 picoseconds.
+		Weight::from_parts(19_455_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -242,8 +240,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3643`
-		// Minimum execution time: 15_824_000 picoseconds.
-		Weight::from_parts(16_522_000, 3643)
+		// Minimum execution time: 18_247_000 picoseconds.
+		Weight::from_parts(18_763_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -253,8 +251,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 10_802_000 picoseconds.
-		Weight::from_parts(11_206_000, 3643)
+		// Minimum execution time: 13_219_000 picoseconds.
+		Weight::from_parts(13_923_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -264,8 +262,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 10_805_000 picoseconds.
-		Weight::from_parts(11_340_000, 3643)
+		// Minimum execution time: 13_376_000 picoseconds.
+		Weight::from_parts(13_904_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -273,18 +271,16 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	/// Proof: `Uniques::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::ClassAccount` (r:0 w:2)
 	/// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
 	fn transfer_ownership() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `597`
+		//  Measured:  `423`
 		//  Estimated: `3643`
-		// Minimum execution time: 24_213_000 picoseconds.
-		Weight::from_parts(25_547_000, 3643)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
-			.saturating_add(T::DbWeight::get().writes(5_u64))
+		// Minimum execution time: 22_353_000 picoseconds.
+		Weight::from_parts(23_222_000, 3643)
+			.saturating_add(T::DbWeight::get().reads(2_u64))
+			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
@@ -292,8 +288,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 11_256_000 picoseconds.
-		Weight::from_parts(11_585_000, 3643)
+		// Minimum execution time: 14_072_000 picoseconds.
+		Weight::from_parts(14_619_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -305,90 +301,90 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 14_616_000 picoseconds.
-		Weight::from_parts(15_064_000, 3643)
+		// Minimum execution time: 17_081_000 picoseconds.
+		Weight::from_parts(17_698_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::InstanceMetadataOf` (r:1 w:0)
-	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::Attribute` (r:1 w:1)
-	/// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(364), added: 2839, mode: `MaxEncodedLen`)
 	fn set_attribute() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `626`
-		//  Estimated: `3652`
-		// Minimum execution time: 35_640_000 picoseconds.
-		Weight::from_parts(37_007_000, 3652)
+		//  Measured:  `547`
+		//  Estimated: `3829`
+		// Minimum execution time: 41_501_000 picoseconds.
+		Weight::from_parts(43_101_000, 3829)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::InstanceMetadataOf` (r:1 w:0)
-	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::Attribute` (r:1 w:1)
-	/// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(364), added: 2839, mode: `MaxEncodedLen`)
 	fn clear_attribute() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `823`
-		//  Estimated: `3652`
-		// Minimum execution time: 34_410_000 picoseconds.
-		Weight::from_parts(35_431_000, 3652)
+		//  Measured:  `936`
+		//  Estimated: `3829`
+		// Minimum execution time: 39_722_000 picoseconds.
+		Weight::from_parts(40_390_000, 3829)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::InstanceMetadataOf` (r:1 w:1)
-	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
 	fn set_metadata() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `415`
-		//  Estimated: `3652`
-		// Minimum execution time: 26_187_000 picoseconds.
-		Weight::from_parts(27_837_000, 3652)
+		//  Estimated: `3643`
+		// Minimum execution time: 30_726_000 picoseconds.
+		Weight::from_parts(31_557_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::InstanceMetadataOf` (r:1 w:1)
-	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
 	fn clear_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `626`
-		//  Estimated: `3652`
-		// Minimum execution time: 26_640_000 picoseconds.
-		Weight::from_parts(27_688_000, 3652)
+		//  Measured:  `547`
+		//  Estimated: `3643`
+		// Minimum execution time: 31_303_000 picoseconds.
+		Weight::from_parts(32_389_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::ClassMetadataOf` (r:1 w:1)
-	/// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
 	fn set_collection_metadata() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 26_781_000 picoseconds.
-		Weight::from_parts(27_628_000, 3643)
+		// Minimum execution time: 32_155_000 picoseconds.
+		Weight::from_parts(32_885_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:0)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::ClassMetadataOf` (r:1 w:1)
-	/// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
 	fn clear_collection_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `540`
+		//  Measured:  `461`
 		//  Estimated: `3643`
-		// Minimum execution time: 26_295_000 picoseconds.
-		Weight::from_parts(26_903_000, 3643)
+		// Minimum execution time: 30_044_000 picoseconds.
+		Weight::from_parts(31_405_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -400,8 +396,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3643`
-		// Minimum execution time: 16_678_000 picoseconds.
-		Weight::from_parts(17_548_000, 3643)
+		// Minimum execution time: 18_904_000 picoseconds.
+		Weight::from_parts(19_687_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -413,8 +409,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `528`
 		//  Estimated: `3643`
-		// Minimum execution time: 16_408_000 picoseconds.
-		Weight::from_parts(16_957_000, 3643)
+		// Minimum execution time: 19_144_000 picoseconds.
+		Weight::from_parts(19_706_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -424,8 +420,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `109`
 		//  Estimated: `3517`
-		// Minimum execution time: 12_568_000 picoseconds.
-		Weight::from_parts(12_960_000, 3517)
+		// Minimum execution time: 15_339_000 picoseconds.
+		Weight::from_parts(15_918_000, 3517)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -437,8 +433,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 13_110_000 picoseconds.
-		Weight::from_parts(13_620_000, 3643)
+		// Minimum execution time: 15_387_000 picoseconds.
+		Weight::from_parts(15_726_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -450,8 +446,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `326`
 		//  Estimated: `3587`
-		// Minimum execution time: 13_568_000 picoseconds.
-		Weight::from_parts(14_211_000, 3587)
+		// Minimum execution time: 15_873_000 picoseconds.
+		Weight::from_parts(16_860_000, 3587)
 			.saturating_add(T::DbWeight::get().reads(1_u64))
 			.saturating_add(T::DbWeight::get().writes(1_u64))
 	}
@@ -467,8 +463,8 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `607`
 		//  Estimated: `3643`
-		// Minimum execution time: 32_660_000 picoseconds.
-		Weight::from_parts(33_734_000, 3643)
+		// Minimum execution time: 37_245_000 picoseconds.
+		Weight::from_parts(38_383_000, 3643)
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
@@ -484,8 +480,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `249`
 		//  Estimated: `3643`
-		// Minimum execution time: 27_960_000 picoseconds.
-		Weight::from_parts(28_781_000, 3643)
+		// Minimum execution time: 31_393_000 picoseconds.
+		Weight::from_parts(32_933_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
@@ -497,8 +493,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `109`
 		//  Estimated: `3643`
-		// Minimum execution time: 11_970_000 picoseconds.
-		Weight::from_parts(12_512_000, 3643)
+		// Minimum execution time: 14_827_000 picoseconds.
+		Weight::from_parts(15_273_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
@@ -507,13 +503,13 @@ impl WeightInfo for () {
 	/// Storage: `Uniques::Asset` (r:1001 w:1000)
 	/// Proof: `Uniques::Asset` (`max_values`: None, `max_size`: Some(122), added: 2597, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::InstanceMetadataOf` (r:1000 w:1000)
-	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::Attribute` (r:1000 w:1000)
-	/// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(364), added: 2839, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::ClassAccount` (r:0 w:1)
 	/// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::ClassMetadataOf` (r:0 w:1)
-	/// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::Account` (r:0 w:1000)
 	/// Proof: `Uniques::Account` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::CollectionMaxSupply` (r:0 w:1)
@@ -524,15 +520,15 @@ impl WeightInfo for () {
 	fn destroy(n: u32, m: u32, a: u32, ) -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `418 + a * (107 ±0) + m * (56 ±0) + n * (76 ±0)`
-		//  Estimated: `3643 + a * (2647 ±0) + m * (2662 ±0) + n * (2597 ±0)`
-		// Minimum execution time: 2_979_858_000 picoseconds.
-		Weight::from_parts(3_007_268_000, 3643)
-			// Standard Error: 29_899
-			.saturating_add(Weight::from_parts(6_943_612, 0).saturating_mul(n.into()))
-			// Standard Error: 29_899
-			.saturating_add(Weight::from_parts(398_114, 0).saturating_mul(m.into()))
-			// Standard Error: 29_899
-			.saturating_add(Weight::from_parts(369_941, 0).saturating_mul(a.into()))
+		//  Estimated: `3643 + a * (2839 ±0) + m * (2583 ±0) + n * (2597 ±0)`
+		// Minimum execution time: 3_281_673_000 picoseconds.
+		Weight::from_parts(3_443_387_000, 3643)
+			// Standard Error: 41_937
+			.saturating_add(Weight::from_parts(7_914_842, 0).saturating_mul(n.into()))
+			// Standard Error: 41_937
+			.saturating_add(Weight::from_parts(519_960, 0).saturating_mul(m.into()))
+			// Standard Error: 41_937
+			.saturating_add(Weight::from_parts(462_690, 0).saturating_mul(a.into()))
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(n.into())))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(m.into())))
@@ -541,8 +537,8 @@ impl WeightInfo for () {
 			.saturating_add(RocksDbWeight::get().writes((2_u64).saturating_mul(n.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(m.into())))
 			.saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(a.into())))
-			.saturating_add(Weight::from_parts(0, 2647).saturating_mul(a.into()))
-			.saturating_add(Weight::from_parts(0, 2662).saturating_mul(m.into()))
+			.saturating_add(Weight::from_parts(0, 2839).saturating_mul(a.into()))
+			.saturating_add(Weight::from_parts(0, 2583).saturating_mul(m.into()))
 			.saturating_add(Weight::from_parts(0, 2597).saturating_mul(n.into()))
 	}
 	/// Storage: `Uniques::Asset` (r:1 w:1)
@@ -557,8 +553,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 32_733_000 picoseconds.
-		Weight::from_parts(33_487_000, 3643)
+		// Minimum execution time: 38_122_000 picoseconds.
+		Weight::from_parts(38_924_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -574,8 +570,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3643`
-		// Minimum execution time: 34_202_000 picoseconds.
-		Weight::from_parts(35_146_000, 3643)
+		// Minimum execution time: 38_835_000 picoseconds.
+		Weight::from_parts(39_754_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
@@ -591,8 +587,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3643`
-		// Minimum execution time: 24_285_000 picoseconds.
-		Weight::from_parts(25_300_000, 3643)
+		// Minimum execution time: 27_032_000 picoseconds.
+		Weight::from_parts(27_793_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
@@ -605,10 +601,10 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `805 + i * (76 ±0)`
 		//  Estimated: `3643 + i * (2597 ±0)`
-		// Minimum execution time: 11_641_000 picoseconds.
-		Weight::from_parts(12_261_000, 3643)
-			// Standard Error: 18_897
-			.saturating_add(Weight::from_parts(15_263_570, 0).saturating_mul(i.into()))
+		// Minimum execution time: 14_737_000 picoseconds.
+		Weight::from_parts(15_070_000, 3643)
+			// Standard Error: 22_500
+			.saturating_add(Weight::from_parts(18_855_468, 0).saturating_mul(i.into()))
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().reads((1_u64).saturating_mul(i.into())))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
@@ -623,8 +619,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3643`
-		// Minimum execution time: 16_122_000 picoseconds.
-		Weight::from_parts(16_627_000, 3643)
+		// Minimum execution time: 18_664_000 picoseconds.
+		Weight::from_parts(19_455_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -636,8 +632,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3643`
-		// Minimum execution time: 15_824_000 picoseconds.
-		Weight::from_parts(16_522_000, 3643)
+		// Minimum execution time: 18_247_000 picoseconds.
+		Weight::from_parts(18_763_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -647,8 +643,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 10_802_000 picoseconds.
-		Weight::from_parts(11_206_000, 3643)
+		// Minimum execution time: 13_219_000 picoseconds.
+		Weight::from_parts(13_923_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -658,8 +654,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 10_805_000 picoseconds.
-		Weight::from_parts(11_340_000, 3643)
+		// Minimum execution time: 13_376_000 picoseconds.
+		Weight::from_parts(13_904_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -667,18 +663,16 @@ impl WeightInfo for () {
 	/// Proof: `Uniques::OwnershipAcceptance` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
-	/// Storage: `System::Account` (r:1 w:1)
-	/// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::ClassAccount` (r:0 w:2)
 	/// Proof: `Uniques::ClassAccount` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`)
 	fn transfer_ownership() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `597`
+		//  Measured:  `423`
 		//  Estimated: `3643`
-		// Minimum execution time: 24_213_000 picoseconds.
-		Weight::from_parts(25_547_000, 3643)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
-			.saturating_add(RocksDbWeight::get().writes(5_u64))
+		// Minimum execution time: 22_353_000 picoseconds.
+		Weight::from_parts(23_222_000, 3643)
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
+			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
@@ -686,8 +680,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 11_256_000 picoseconds.
-		Weight::from_parts(11_585_000, 3643)
+		// Minimum execution time: 14_072_000 picoseconds.
+		Weight::from_parts(14_619_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -699,90 +693,90 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 14_616_000 picoseconds.
-		Weight::from_parts(15_064_000, 3643)
+		// Minimum execution time: 17_081_000 picoseconds.
+		Weight::from_parts(17_698_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::InstanceMetadataOf` (r:1 w:0)
-	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::Attribute` (r:1 w:1)
-	/// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(364), added: 2839, mode: `MaxEncodedLen`)
 	fn set_attribute() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `626`
-		//  Estimated: `3652`
-		// Minimum execution time: 35_640_000 picoseconds.
-		Weight::from_parts(37_007_000, 3652)
+		//  Measured:  `547`
+		//  Estimated: `3829`
+		// Minimum execution time: 41_501_000 picoseconds.
+		Weight::from_parts(43_101_000, 3829)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::InstanceMetadataOf` (r:1 w:0)
-	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::Attribute` (r:1 w:1)
-	/// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(172), added: 2647, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::Attribute` (`max_values`: None, `max_size`: Some(364), added: 2839, mode: `MaxEncodedLen`)
 	fn clear_attribute() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `823`
-		//  Estimated: `3652`
-		// Minimum execution time: 34_410_000 picoseconds.
-		Weight::from_parts(35_431_000, 3652)
+		//  Measured:  `936`
+		//  Estimated: `3829`
+		// Minimum execution time: 39_722_000 picoseconds.
+		Weight::from_parts(40_390_000, 3829)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::InstanceMetadataOf` (r:1 w:1)
-	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
 	fn set_metadata() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `415`
-		//  Estimated: `3652`
-		// Minimum execution time: 26_187_000 picoseconds.
-		Weight::from_parts(27_837_000, 3652)
+		//  Estimated: `3643`
+		// Minimum execution time: 30_726_000 picoseconds.
+		Weight::from_parts(31_557_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::InstanceMetadataOf` (r:1 w:1)
-	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(187), added: 2662, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::InstanceMetadataOf` (`max_values`: None, `max_size`: Some(108), added: 2583, mode: `MaxEncodedLen`)
 	fn clear_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `626`
-		//  Estimated: `3652`
-		// Minimum execution time: 26_640_000 picoseconds.
-		Weight::from_parts(27_688_000, 3652)
+		//  Measured:  `547`
+		//  Estimated: `3643`
+		// Minimum execution time: 31_303_000 picoseconds.
+		Weight::from_parts(32_389_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:1)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::ClassMetadataOf` (r:1 w:1)
-	/// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
 	fn set_collection_metadata() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 26_781_000 picoseconds.
-		Weight::from_parts(27_628_000, 3643)
+		// Minimum execution time: 32_155_000 picoseconds.
+		Weight::from_parts(32_885_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 	/// Storage: `Uniques::Class` (r:1 w:0)
 	/// Proof: `Uniques::Class` (`max_values`: None, `max_size`: Some(178), added: 2653, mode: `MaxEncodedLen`)
 	/// Storage: `Uniques::ClassMetadataOf` (r:1 w:1)
-	/// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(167), added: 2642, mode: `MaxEncodedLen`)
+	/// Proof: `Uniques::ClassMetadataOf` (`max_values`: None, `max_size`: Some(88), added: 2563, mode: `MaxEncodedLen`)
 	fn clear_collection_metadata() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `540`
+		//  Measured:  `461`
 		//  Estimated: `3643`
-		// Minimum execution time: 26_295_000 picoseconds.
-		Weight::from_parts(26_903_000, 3643)
+		// Minimum execution time: 30_044_000 picoseconds.
+		Weight::from_parts(31_405_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -794,8 +788,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `495`
 		//  Estimated: `3643`
-		// Minimum execution time: 16_678_000 picoseconds.
-		Weight::from_parts(17_548_000, 3643)
+		// Minimum execution time: 18_904_000 picoseconds.
+		Weight::from_parts(19_687_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -807,8 +801,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `528`
 		//  Estimated: `3643`
-		// Minimum execution time: 16_408_000 picoseconds.
-		Weight::from_parts(16_957_000, 3643)
+		// Minimum execution time: 19_144_000 picoseconds.
+		Weight::from_parts(19_706_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -818,8 +812,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `109`
 		//  Estimated: `3517`
-		// Minimum execution time: 12_568_000 picoseconds.
-		Weight::from_parts(12_960_000, 3517)
+		// Minimum execution time: 15_339_000 picoseconds.
+		Weight::from_parts(15_918_000, 3517)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -831,8 +825,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `349`
 		//  Estimated: `3643`
-		// Minimum execution time: 13_110_000 picoseconds.
-		Weight::from_parts(13_620_000, 3643)
+		// Minimum execution time: 15_387_000 picoseconds.
+		Weight::from_parts(15_726_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -844,8 +838,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `326`
 		//  Estimated: `3587`
-		// Minimum execution time: 13_568_000 picoseconds.
-		Weight::from_parts(14_211_000, 3587)
+		// Minimum execution time: 15_873_000 picoseconds.
+		Weight::from_parts(16_860_000, 3587)
 			.saturating_add(RocksDbWeight::get().reads(1_u64))
 			.saturating_add(RocksDbWeight::get().writes(1_u64))
 	}
@@ -861,8 +855,8 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `607`
 		//  Estimated: `3643`
-		// Minimum execution time: 32_660_000 picoseconds.
-		Weight::from_parts(33_734_000, 3643)
+		// Minimum execution time: 37_245_000 picoseconds.
+		Weight::from_parts(38_383_000, 3643)
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
diff --git a/substrate/frame/utility/src/weights.rs b/substrate/frame/utility/src/weights.rs
index 60b1c48f086..1a3ea6c1f7f 100644
--- a/substrate/frame/utility/src/weights.rs
+++ b/substrate/frame/utility/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_utility`
+//! Autogenerated weights for pallet_utility
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/utility/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/utility/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_utility`.
+/// Weight functions needed for pallet_utility.
 pub trait WeightInfo {
 	fn batch(c: u32, ) -> Weight;
 	fn as_derivative() -> Weight;
@@ -58,139 +59,99 @@ pub trait WeightInfo {
 	fn force_batch(c: u32, ) -> Weight;
 }
 
-/// Weights for `pallet_utility` using the Substrate node and recommended hardware.
+/// Weights for pallet_utility using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
 	/// The range of component `c` is `[0, 1000]`.
 	fn batch(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `145`
-		//  Estimated: `3997`
-		// Minimum execution time: 5_143_000 picoseconds.
-		Weight::from_parts(11_552_299, 3997)
-			// Standard Error: 2_325
-			.saturating_add(Weight::from_parts(4_708_951, 0).saturating_mul(c.into()))
-			.saturating_add(T::DbWeight::get().reads(2_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 6_763_000 picoseconds.
+		Weight::from_parts(16_943_157, 0)
+			// Standard Error: 1_904
+			.saturating_add(Weight::from_parts(4_653_855, 0).saturating_mul(c.into()))
 	}
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
 	fn as_derivative() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `145`
-		//  Estimated: `3997`
-		// Minimum execution time: 9_103_000 picoseconds.
-		Weight::from_parts(9_549_000, 3997)
-			.saturating_add(T::DbWeight::get().reads(2_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 5_149_000 picoseconds.
+		Weight::from_parts(5_268_000, 0)
 	}
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
 	/// The range of component `c` is `[0, 1000]`.
 	fn batch_all(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `145`
-		//  Estimated: `3997`
-		// Minimum execution time: 5_147_000 picoseconds.
-		Weight::from_parts(15_698_086, 3997)
-			// Standard Error: 3_066
-			.saturating_add(Weight::from_parts(4_809_412, 0).saturating_mul(c.into()))
-			.saturating_add(T::DbWeight::get().reads(2_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 6_976_000 picoseconds.
+		Weight::from_parts(16_448_433, 0)
+			// Standard Error: 1_834
+			.saturating_add(Weight::from_parts(4_796_983, 0).saturating_mul(c.into()))
 	}
 	fn dispatch_as() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_683_000 picoseconds.
-		Weight::from_parts(7_047_000, 0)
+		// Minimum execution time: 9_102_000 picoseconds.
+		Weight::from_parts(9_353_000, 0)
 	}
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
 	/// The range of component `c` is `[0, 1000]`.
 	fn force_batch(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `145`
-		//  Estimated: `3997`
-		// Minimum execution time: 4_982_000 picoseconds.
-		Weight::from_parts(14_474_780, 3997)
-			// Standard Error: 2_291
-			.saturating_add(Weight::from_parts(4_632_643, 0).saturating_mul(c.into()))
-			.saturating_add(T::DbWeight::get().reads(2_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 6_840_000 picoseconds.
+		Weight::from_parts(17_748_474, 0)
+			// Standard Error: 2_059
+			.saturating_add(Weight::from_parts(4_630_079, 0).saturating_mul(c.into()))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
 	/// The range of component `c` is `[0, 1000]`.
 	fn batch(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `145`
-		//  Estimated: `3997`
-		// Minimum execution time: 5_143_000 picoseconds.
-		Weight::from_parts(11_552_299, 3997)
-			// Standard Error: 2_325
-			.saturating_add(Weight::from_parts(4_708_951, 0).saturating_mul(c.into()))
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 6_763_000 picoseconds.
+		Weight::from_parts(16_943_157, 0)
+			// Standard Error: 1_904
+			.saturating_add(Weight::from_parts(4_653_855, 0).saturating_mul(c.into()))
 	}
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
 	fn as_derivative() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `145`
-		//  Estimated: `3997`
-		// Minimum execution time: 9_103_000 picoseconds.
-		Weight::from_parts(9_549_000, 3997)
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 5_149_000 picoseconds.
+		Weight::from_parts(5_268_000, 0)
 	}
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
 	/// The range of component `c` is `[0, 1000]`.
 	fn batch_all(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `145`
-		//  Estimated: `3997`
-		// Minimum execution time: 5_147_000 picoseconds.
-		Weight::from_parts(15_698_086, 3997)
-			// Standard Error: 3_066
-			.saturating_add(Weight::from_parts(4_809_412, 0).saturating_mul(c.into()))
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 6_976_000 picoseconds.
+		Weight::from_parts(16_448_433, 0)
+			// Standard Error: 1_834
+			.saturating_add(Weight::from_parts(4_796_983, 0).saturating_mul(c.into()))
 	}
 	fn dispatch_as() -> Weight {
 		// Proof Size summary in bytes:
 		//  Measured:  `0`
 		//  Estimated: `0`
-		// Minimum execution time: 6_683_000 picoseconds.
-		Weight::from_parts(7_047_000, 0)
+		// Minimum execution time: 9_102_000 picoseconds.
+		Weight::from_parts(9_353_000, 0)
 	}
-	/// Storage: `SafeMode::EnteredUntil` (r:1 w:0)
-	/// Proof: `SafeMode::EnteredUntil` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
-	/// Storage: `TxPause::PausedCalls` (r:1 w:0)
-	/// Proof: `TxPause::PausedCalls` (`max_values`: None, `max_size`: Some(532), added: 3007, mode: `MaxEncodedLen`)
 	/// The range of component `c` is `[0, 1000]`.
 	fn force_batch(c: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `145`
-		//  Estimated: `3997`
-		// Minimum execution time: 4_982_000 picoseconds.
-		Weight::from_parts(14_474_780, 3997)
-			// Standard Error: 2_291
-			.saturating_add(Weight::from_parts(4_632_643, 0).saturating_mul(c.into()))
-			.saturating_add(RocksDbWeight::get().reads(2_u64))
+		//  Measured:  `0`
+		//  Estimated: `0`
+		// Minimum execution time: 6_840_000 picoseconds.
+		Weight::from_parts(17_748_474, 0)
+			// Standard Error: 2_059
+			.saturating_add(Weight::from_parts(4_630_079, 0).saturating_mul(c.into()))
 	}
 }
diff --git a/substrate/frame/vesting/src/weights.rs b/substrate/frame/vesting/src/weights.rs
index d91c47ae195..ddc7db8fa61 100644
--- a/substrate/frame/vesting/src/weights.rs
+++ b/substrate/frame/vesting/src/weights.rs
@@ -17,28 +17,26 @@
 
 //! Autogenerated weights for `pallet_vesting`
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-10-29, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! HOSTNAME: `runner-vmdtonbz-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
 //! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
 
 // Executed Command:
-// ./target/production/substrate-node
+// target/production/substrate-node
 // benchmark
 // pallet
-// --chain=dev
 // --steps=50
 // --repeat=20
-// --pallet=pallet_vesting
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
 // --extrinsic=*
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/vesting/src/weights.rs
+// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
+// --pallet=pallet_vesting
+// --chain=dev
 // --header=./substrate/HEADER-APACHE2
+// --output=./substrate/frame/vesting/src/weights.rs
 // --template=./substrate/.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
@@ -77,12 +75,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `381 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 31_890_000 picoseconds.
-		Weight::from_parts(31_128_476, 4764)
-			// Standard Error: 1_193
-			.saturating_add(Weight::from_parts(63_760, 0).saturating_mul(l.into()))
-			// Standard Error: 2_124
-			.saturating_add(Weight::from_parts(57_247, 0).saturating_mul(s.into()))
+		// Minimum execution time: 32_846_000 picoseconds.
+		Weight::from_parts(30_974_459, 4764)
+			// Standard Error: 1_755
+			.saturating_add(Weight::from_parts(73_138, 0).saturating_mul(l.into()))
+			// Standard Error: 3_123
+			.saturating_add(Weight::from_parts(82_417, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -98,12 +96,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `381 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 33_958_000 picoseconds.
-		Weight::from_parts(33_537_005, 4764)
-			// Standard Error: 1_354
-			.saturating_add(Weight::from_parts(60_604, 0).saturating_mul(l.into()))
-			// Standard Error: 2_410
-			.saturating_add(Weight::from_parts(51_378, 0).saturating_mul(s.into()))
+		// Minimum execution time: 34_360_000 picoseconds.
+		Weight::from_parts(34_964_080, 4764)
+			// Standard Error: 1_996
+			.saturating_add(Weight::from_parts(48_024, 0).saturating_mul(l.into()))
+			// Standard Error: 3_552
+			.saturating_add(Weight::from_parts(34_411, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
@@ -121,12 +119,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `484 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 33_243_000 picoseconds.
-		Weight::from_parts(32_552_805, 4764)
-			// Standard Error: 1_413
-			.saturating_add(Weight::from_parts(67_137, 0).saturating_mul(l.into()))
-			// Standard Error: 2_515
-			.saturating_add(Weight::from_parts(70_000, 0).saturating_mul(s.into()))
+		// Minimum execution time: 33_859_000 picoseconds.
+		Weight::from_parts(32_950_681, 4764)
+			// Standard Error: 1_745
+			.saturating_add(Weight::from_parts(69_323, 0).saturating_mul(l.into()))
+			// Standard Error: 3_105
+			.saturating_add(Weight::from_parts(86_370, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -144,12 +142,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `484 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 35_396_000 picoseconds.
-		Weight::from_parts(35_774_949, 4764)
-			// Standard Error: 1_404
-			.saturating_add(Weight::from_parts(55_349, 0).saturating_mul(l.into()))
-			// Standard Error: 2_497
-			.saturating_add(Weight::from_parts(39_228, 0).saturating_mul(s.into()))
+		// Minimum execution time: 36_239_000 picoseconds.
+		Weight::from_parts(36_459_756, 4764)
+			// Standard Error: 2_051
+			.saturating_add(Weight::from_parts(56_670, 0).saturating_mul(l.into()))
+			// Standard Error: 3_650
+			.saturating_add(Weight::from_parts(49_663, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -167,12 +165,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `555 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 68_441_000 picoseconds.
-		Weight::from_parts(68_961_970, 4764)
-			// Standard Error: 2_509
-			.saturating_add(Weight::from_parts(83_345, 0).saturating_mul(l.into()))
-			// Standard Error: 4_464
-			.saturating_add(Weight::from_parts(124_158, 0).saturating_mul(s.into()))
+		// Minimum execution time: 70_330_000 picoseconds.
+		Weight::from_parts(71_196_328, 4764)
+			// Standard Error: 2_923
+			.saturating_add(Weight::from_parts(67_238, 0).saturating_mul(l.into()))
+			// Standard Error: 5_201
+			.saturating_add(Weight::from_parts(89_102, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -190,12 +188,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `658 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `6196`
-		// Minimum execution time: 70_190_000 picoseconds.
-		Weight::from_parts(72_355_984, 6196)
-			// Standard Error: 2_295
-			.saturating_add(Weight::from_parts(59_968, 0).saturating_mul(l.into()))
-			// Standard Error: 4_084
-			.saturating_add(Weight::from_parts(87_090, 0).saturating_mul(s.into()))
+		// Minimum execution time: 70_235_000 picoseconds.
+		Weight::from_parts(71_960_020, 6196)
+			// Standard Error: 2_493
+			.saturating_add(Weight::from_parts(64_835, 0).saturating_mul(l.into()))
+			// Standard Error: 4_436
+			.saturating_add(Weight::from_parts(102_159, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(5_u64))
 			.saturating_add(T::DbWeight::get().writes(4_u64))
 	}
@@ -213,12 +211,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `482 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 33_911_000 picoseconds.
-		Weight::from_parts(33_243_006, 4764)
-			// Standard Error: 1_199
-			.saturating_add(Weight::from_parts(70_586, 0).saturating_mul(l.into()))
-			// Standard Error: 2_214
-			.saturating_add(Weight::from_parts(60_985, 0).saturating_mul(s.into()))
+		// Minimum execution time: 34_352_000 picoseconds.
+		Weight::from_parts(33_697_027, 4764)
+			// Standard Error: 2_008
+			.saturating_add(Weight::from_parts(79_270, 0).saturating_mul(l.into()))
+			// Standard Error: 3_710
+			.saturating_add(Weight::from_parts(60_691, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -236,12 +234,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `482 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 36_242_000 picoseconds.
-		Weight::from_parts(35_812_994, 4764)
-			// Standard Error: 1_351
-			.saturating_add(Weight::from_parts(68_256, 0).saturating_mul(l.into()))
-			// Standard Error: 2_496
-			.saturating_add(Weight::from_parts(66_171, 0).saturating_mul(s.into()))
+		// Minimum execution time: 37_467_000 picoseconds.
+		Weight::from_parts(36_866_847, 4764)
+			// Standard Error: 1_692
+			.saturating_add(Weight::from_parts(57_882, 0).saturating_mul(l.into()))
+			// Standard Error: 3_124
+			.saturating_add(Weight::from_parts(80_266, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -259,12 +257,12 @@ impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 		// Proof Size summary in bytes:
 		//  Measured:  `555 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 37_817_000 picoseconds.
-		Weight::from_parts(37_397_127, 4764)
-			// Standard Error: 1_665
-			.saturating_add(Weight::from_parts(72_049, 0).saturating_mul(l.into()))
-			// Standard Error: 3_075
-			.saturating_add(Weight::from_parts(60_973, 0).saturating_mul(s.into()))
+		// Minimum execution time: 41_497_000 picoseconds.
+		Weight::from_parts(38_763_834, 4764)
+			// Standard Error: 2_030
+			.saturating_add(Weight::from_parts(99_580, 0).saturating_mul(l.into()))
+			// Standard Error: 3_750
+			.saturating_add(Weight::from_parts(132_188, 0).saturating_mul(s.into()))
 			.saturating_add(T::DbWeight::get().reads(4_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 	}
@@ -284,12 +282,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `381 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 31_890_000 picoseconds.
-		Weight::from_parts(31_128_476, 4764)
-			// Standard Error: 1_193
-			.saturating_add(Weight::from_parts(63_760, 0).saturating_mul(l.into()))
-			// Standard Error: 2_124
-			.saturating_add(Weight::from_parts(57_247, 0).saturating_mul(s.into()))
+		// Minimum execution time: 32_846_000 picoseconds.
+		Weight::from_parts(30_974_459, 4764)
+			// Standard Error: 1_755
+			.saturating_add(Weight::from_parts(73_138, 0).saturating_mul(l.into()))
+			// Standard Error: 3_123
+			.saturating_add(Weight::from_parts(82_417, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
@@ -305,12 +303,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `381 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 33_958_000 picoseconds.
-		Weight::from_parts(33_537_005, 4764)
-			// Standard Error: 1_354
-			.saturating_add(Weight::from_parts(60_604, 0).saturating_mul(l.into()))
-			// Standard Error: 2_410
-			.saturating_add(Weight::from_parts(51_378, 0).saturating_mul(s.into()))
+		// Minimum execution time: 34_360_000 picoseconds.
+		Weight::from_parts(34_964_080, 4764)
+			// Standard Error: 1_996
+			.saturating_add(Weight::from_parts(48_024, 0).saturating_mul(l.into()))
+			// Standard Error: 3_552
+			.saturating_add(Weight::from_parts(34_411, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
@@ -328,12 +326,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `484 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 33_243_000 picoseconds.
-		Weight::from_parts(32_552_805, 4764)
-			// Standard Error: 1_413
-			.saturating_add(Weight::from_parts(67_137, 0).saturating_mul(l.into()))
-			// Standard Error: 2_515
-			.saturating_add(Weight::from_parts(70_000, 0).saturating_mul(s.into()))
+		// Minimum execution time: 33_859_000 picoseconds.
+		Weight::from_parts(32_950_681, 4764)
+			// Standard Error: 1_745
+			.saturating_add(Weight::from_parts(69_323, 0).saturating_mul(l.into()))
+			// Standard Error: 3_105
+			.saturating_add(Weight::from_parts(86_370, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -351,12 +349,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `484 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 35_396_000 picoseconds.
-		Weight::from_parts(35_774_949, 4764)
-			// Standard Error: 1_404
-			.saturating_add(Weight::from_parts(55_349, 0).saturating_mul(l.into()))
-			// Standard Error: 2_497
-			.saturating_add(Weight::from_parts(39_228, 0).saturating_mul(s.into()))
+		// Minimum execution time: 36_239_000 picoseconds.
+		Weight::from_parts(36_459_756, 4764)
+			// Standard Error: 2_051
+			.saturating_add(Weight::from_parts(56_670, 0).saturating_mul(l.into()))
+			// Standard Error: 3_650
+			.saturating_add(Weight::from_parts(49_663, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -374,12 +372,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `555 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 68_441_000 picoseconds.
-		Weight::from_parts(68_961_970, 4764)
-			// Standard Error: 2_509
-			.saturating_add(Weight::from_parts(83_345, 0).saturating_mul(l.into()))
-			// Standard Error: 4_464
-			.saturating_add(Weight::from_parts(124_158, 0).saturating_mul(s.into()))
+		// Minimum execution time: 70_330_000 picoseconds.
+		Weight::from_parts(71_196_328, 4764)
+			// Standard Error: 2_923
+			.saturating_add(Weight::from_parts(67_238, 0).saturating_mul(l.into()))
+			// Standard Error: 5_201
+			.saturating_add(Weight::from_parts(89_102, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -397,12 +395,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `658 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `6196`
-		// Minimum execution time: 70_190_000 picoseconds.
-		Weight::from_parts(72_355_984, 6196)
-			// Standard Error: 2_295
-			.saturating_add(Weight::from_parts(59_968, 0).saturating_mul(l.into()))
-			// Standard Error: 4_084
-			.saturating_add(Weight::from_parts(87_090, 0).saturating_mul(s.into()))
+		// Minimum execution time: 70_235_000 picoseconds.
+		Weight::from_parts(71_960_020, 6196)
+			// Standard Error: 2_493
+			.saturating_add(Weight::from_parts(64_835, 0).saturating_mul(l.into()))
+			// Standard Error: 4_436
+			.saturating_add(Weight::from_parts(102_159, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(5_u64))
 			.saturating_add(RocksDbWeight::get().writes(4_u64))
 	}
@@ -420,12 +418,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `482 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 33_911_000 picoseconds.
-		Weight::from_parts(33_243_006, 4764)
-			// Standard Error: 1_199
-			.saturating_add(Weight::from_parts(70_586, 0).saturating_mul(l.into()))
-			// Standard Error: 2_214
-			.saturating_add(Weight::from_parts(60_985, 0).saturating_mul(s.into()))
+		// Minimum execution time: 34_352_000 picoseconds.
+		Weight::from_parts(33_697_027, 4764)
+			// Standard Error: 2_008
+			.saturating_add(Weight::from_parts(79_270, 0).saturating_mul(l.into()))
+			// Standard Error: 3_710
+			.saturating_add(Weight::from_parts(60_691, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -443,12 +441,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `482 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 36_242_000 picoseconds.
-		Weight::from_parts(35_812_994, 4764)
-			// Standard Error: 1_351
-			.saturating_add(Weight::from_parts(68_256, 0).saturating_mul(l.into()))
-			// Standard Error: 2_496
-			.saturating_add(Weight::from_parts(66_171, 0).saturating_mul(s.into()))
+		// Minimum execution time: 37_467_000 picoseconds.
+		Weight::from_parts(36_866_847, 4764)
+			// Standard Error: 1_692
+			.saturating_add(Weight::from_parts(57_882, 0).saturating_mul(l.into()))
+			// Standard Error: 3_124
+			.saturating_add(Weight::from_parts(80_266, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
@@ -466,12 +464,12 @@ impl WeightInfo for () {
 		// Proof Size summary in bytes:
 		//  Measured:  `555 + l * (25 ±0) + s * (36 ±0)`
 		//  Estimated: `4764`
-		// Minimum execution time: 37_817_000 picoseconds.
-		Weight::from_parts(37_397_127, 4764)
-			// Standard Error: 1_665
-			.saturating_add(Weight::from_parts(72_049, 0).saturating_mul(l.into()))
-			// Standard Error: 3_075
-			.saturating_add(Weight::from_parts(60_973, 0).saturating_mul(s.into()))
+		// Minimum execution time: 41_497_000 picoseconds.
+		Weight::from_parts(38_763_834, 4764)
+			// Standard Error: 2_030
+			.saturating_add(Weight::from_parts(99_580, 0).saturating_mul(l.into()))
+			// Standard Error: 3_750
+			.saturating_add(Weight::from_parts(132_188, 0).saturating_mul(s.into()))
 			.saturating_add(RocksDbWeight::get().reads(4_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 	}
diff --git a/substrate/frame/whitelist/src/weights.rs b/substrate/frame/whitelist/src/weights.rs
index 13b653f6ca7..de42c5a5841 100644
--- a/substrate/frame/whitelist/src/weights.rs
+++ b/substrate/frame/whitelist/src/weights.rs
@@ -15,16 +15,16 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! Autogenerated weights for `pallet_whitelist`
+//! Autogenerated weights for pallet_whitelist
 //!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
-//! DATE: 2024-03-01, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
+//! DATE: 2023-06-16, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-bn-ce5rx-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("dev")`, DB CACHE: `1024`
+//! HOSTNAME: `runner-e8ezs4ez-project-145-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
+//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024
 
 // Executed Command:
-// ./target/production/substrate-node
+// ./target/production/substrate
 // benchmark
 // pallet
 // --chain=dev
@@ -35,11 +35,12 @@
 // --no-median-slopes
 // --no-min-squares
 // --extrinsic=*
+// --execution=wasm
 // --wasm-execution=compiled
 // --heap-pages=4096
-// --output=./substrate/frame/whitelist/src/weights.rs
-// --header=./substrate/HEADER-APACHE2
-// --template=./substrate/.maintain/frame-weight-template.hbs
+// --output=./frame/whitelist/src/weights.rs
+// --header=./HEADER-APACHE2
+// --template=./.maintain/frame-weight-template.hbs
 
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
@@ -49,7 +50,7 @@
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
 use core::marker::PhantomData;
 
-/// Weight functions needed for `pallet_whitelist`.
+/// Weight functions needed for pallet_whitelist.
 pub trait WeightInfo {
 	fn whitelist_call() -> Weight;
 	fn remove_whitelisted_call() -> Weight;
@@ -57,149 +58,133 @@ pub trait WeightInfo {
 	fn dispatch_whitelisted_call_with_preimage(n: u32, ) -> Weight;
 }
 
-/// Weights for `pallet_whitelist` using the Substrate node and recommended hardware.
+/// Weights for pallet_whitelist using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
-	/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Whitelist WhitelistedCall (r:1 w:1)
+	/// Proof: Whitelist WhitelistedCall (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	fn whitelist_call() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `317`
+		//  Measured:  `217`
 		//  Estimated: `3556`
-		// Minimum execution time: 18_503_000 picoseconds.
-		Weight::from_parts(19_497_000, 3556)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
+		// Minimum execution time: 19_914_000 picoseconds.
+		Weight::from_parts(20_892_000, 3556)
+			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
-	/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Whitelist WhitelistedCall (r:1 w:1)
+	/// Proof: Whitelist WhitelistedCall (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	fn remove_whitelisted_call() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `446`
+		//  Measured:  `346`
 		//  Estimated: `3556`
-		// Minimum execution time: 17_633_000 picoseconds.
-		Weight::from_parts(18_196_000, 3556)
-			.saturating_add(T::DbWeight::get().reads(3_u64))
+		// Minimum execution time: 18_142_000 picoseconds.
+		Weight::from_parts(18_529_000, 3556)
+			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
-	/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::PreimageFor` (r:1 w:1)
-	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `Measured`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Whitelist WhitelistedCall (r:1 w:1)
+	/// Proof: Whitelist WhitelistedCall (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
+	/// Storage: Preimage PreimageFor (r:1 w:1)
+	/// Proof: Preimage PreimageFor (max_values: None, max_size: Some(4194344), added: 4196819, mode: Measured)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 4194294]`.
 	fn dispatch_whitelisted_call(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `522 + n * (1 ±0)`
-		//  Estimated: `3986 + n * (1 ±0)`
-		// Minimum execution time: 28_020_000 picoseconds.
-		Weight::from_parts(28_991_000, 3986)
+		//  Measured:  `422 + n * (1 ±0)`
+		//  Estimated: `3886 + n * (1 ±0)`
+		// Minimum execution time: 30_671_000 picoseconds.
+		Weight::from_parts(31_197_000, 3886)
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_171, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(4_u64))
+			.saturating_add(Weight::from_parts(1_163, 0).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(3_u64))
 			.saturating_add(T::DbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
-	/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
-	/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Whitelist WhitelistedCall (r:1 w:1)
+	/// Proof: Whitelist WhitelistedCall (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 10000]`.
 	fn dispatch_whitelisted_call_with_preimage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `446`
+		//  Measured:  `346`
 		//  Estimated: `3556`
-		// Minimum execution time: 21_916_000 picoseconds.
-		Weight::from_parts(23_082_065, 3556)
-			// Standard Error: 6
-			.saturating_add(Weight::from_parts(1_388, 0).saturating_mul(n.into()))
-			.saturating_add(T::DbWeight::get().reads(3_u64))
+		// Minimum execution time: 22_099_000 picoseconds.
+		Weight::from_parts(23_145_477, 3556)
+			// Standard Error: 5
+			.saturating_add(Weight::from_parts(1_422, 0).saturating_mul(n.into()))
+			.saturating_add(T::DbWeight::get().reads(2_u64))
 			.saturating_add(T::DbWeight::get().writes(2_u64))
 	}
 }
 
-// For backwards compatibility and tests.
+// For backwards compatibility and tests
 impl WeightInfo for () {
-	/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
-	/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Whitelist WhitelistedCall (r:1 w:1)
+	/// Proof: Whitelist WhitelistedCall (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	fn whitelist_call() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `317`
+		//  Measured:  `217`
 		//  Estimated: `3556`
-		// Minimum execution time: 18_503_000 picoseconds.
-		Weight::from_parts(19_497_000, 3556)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
+		// Minimum execution time: 19_914_000 picoseconds.
+		Weight::from_parts(20_892_000, 3556)
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
-	/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Whitelist WhitelistedCall (r:1 w:1)
+	/// Proof: Whitelist WhitelistedCall (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	fn remove_whitelisted_call() -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `446`
+		//  Measured:  `346`
 		//  Estimated: `3556`
-		// Minimum execution time: 17_633_000 picoseconds.
-		Weight::from_parts(18_196_000, 3556)
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
+		// Minimum execution time: 18_142_000 picoseconds.
+		Weight::from_parts(18_529_000, 3556)
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
-	/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
-	/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::PreimageFor` (r:1 w:1)
-	/// Proof: `Preimage::PreimageFor` (`max_values`: None, `max_size`: Some(4194344), added: 4196819, mode: `Measured`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Whitelist WhitelistedCall (r:1 w:1)
+	/// Proof: Whitelist WhitelistedCall (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
+	/// Storage: Preimage PreimageFor (r:1 w:1)
+	/// Proof: Preimage PreimageFor (max_values: None, max_size: Some(4194344), added: 4196819, mode: Measured)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 4194294]`.
 	fn dispatch_whitelisted_call(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `522 + n * (1 ±0)`
-		//  Estimated: `3986 + n * (1 ±0)`
-		// Minimum execution time: 28_020_000 picoseconds.
-		Weight::from_parts(28_991_000, 3986)
+		//  Measured:  `422 + n * (1 ±0)`
+		//  Estimated: `3886 + n * (1 ±0)`
+		// Minimum execution time: 30_671_000 picoseconds.
+		Weight::from_parts(31_197_000, 3886)
 			// Standard Error: 0
-			.saturating_add(Weight::from_parts(1_171, 0).saturating_mul(n.into()))
-			.saturating_add(RocksDbWeight::get().reads(4_u64))
+			.saturating_add(Weight::from_parts(1_163, 0).saturating_mul(n.into()))
+			.saturating_add(RocksDbWeight::get().reads(3_u64))
 			.saturating_add(RocksDbWeight::get().writes(3_u64))
 			.saturating_add(Weight::from_parts(0, 1).saturating_mul(n.into()))
 	}
-	/// Storage: `Whitelist::WhitelistedCall` (r:1 w:1)
-	/// Proof: `Whitelist::WhitelistedCall` (`max_values`: None, `max_size`: Some(40), added: 2515, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::StatusFor` (r:1 w:0)
-	/// Proof: `Preimage::StatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
-	/// Storage: `Preimage::RequestStatusFor` (r:1 w:1)
-	/// Proof: `Preimage::RequestStatusFor` (`max_values`: None, `max_size`: Some(91), added: 2566, mode: `MaxEncodedLen`)
+	/// Storage: Whitelist WhitelistedCall (r:1 w:1)
+	/// Proof: Whitelist WhitelistedCall (max_values: None, max_size: Some(40), added: 2515, mode: MaxEncodedLen)
+	/// Storage: Preimage StatusFor (r:1 w:1)
+	/// Proof: Preimage StatusFor (max_values: None, max_size: Some(91), added: 2566, mode: MaxEncodedLen)
 	/// The range of component `n` is `[1, 10000]`.
 	fn dispatch_whitelisted_call_with_preimage(n: u32, ) -> Weight {
 		// Proof Size summary in bytes:
-		//  Measured:  `446`
+		//  Measured:  `346`
 		//  Estimated: `3556`
-		// Minimum execution time: 21_916_000 picoseconds.
-		Weight::from_parts(23_082_065, 3556)
-			// Standard Error: 6
-			.saturating_add(Weight::from_parts(1_388, 0).saturating_mul(n.into()))
-			.saturating_add(RocksDbWeight::get().reads(3_u64))
+		// Minimum execution time: 22_099_000 picoseconds.
+		Weight::from_parts(23_145_477, 3556)
+			// Standard Error: 5
+			.saturating_add(Weight::from_parts(1_422, 0).saturating_mul(n.into()))
+			.saturating_add(RocksDbWeight::get().reads(2_u64))
 			.saturating_add(RocksDbWeight::get().writes(2_u64))
 	}
 }
diff --git a/substrate/primitives/inherents/src/lib.rs b/substrate/primitives/inherents/src/lib.rs
index 415319a6849..dd7c294f1e2 100644
--- a/substrate/primitives/inherents/src/lib.rs
+++ b/substrate/primitives/inherents/src/lib.rs
@@ -98,10 +98,10 @@
 //! and production.
 //!
 //! ```
-//! # use sp_runtime::{generic::UncheckedExtrinsic, testing::MockCallU64};
+//! # use sp_runtime::testing::ExtrinsicWrapper;
 //! # use sp_inherents::{InherentIdentifier, InherentData};
 //! # use futures::FutureExt;
-//! # type Block = sp_runtime::testing::Block<UncheckedExtrinsic<u64, MockCallU64, (), ()>>;
+//! # type Block = sp_runtime::testing::Block<ExtrinsicWrapper<()>>;
 //! # const INHERENT_IDENTIFIER: InherentIdentifier = *b"testinh0";
 //! # struct InherentDataProvider;
 //! # #[async_trait::async_trait]
diff --git a/substrate/primitives/metadata-ir/src/lib.rs b/substrate/primitives/metadata-ir/src/lib.rs
index 66aff2c599f..edfa58f8618 100644
--- a/substrate/primitives/metadata-ir/src/lib.rs
+++ b/substrate/primitives/metadata-ir/src/lib.rs
@@ -84,7 +84,7 @@ mod test {
 				call_ty: meta_type::<()>(),
 				signature_ty: meta_type::<()>(),
 				extra_ty: meta_type::<()>(),
-				extensions: vec![],
+				signed_extensions: vec![],
 			},
 			ty: meta_type::<()>(),
 			apis: vec![],
diff --git a/substrate/primitives/metadata-ir/src/types.rs b/substrate/primitives/metadata-ir/src/types.rs
index e60881ed6b8..b107d20a8e2 100644
--- a/substrate/primitives/metadata-ir/src/types.rs
+++ b/substrate/primitives/metadata-ir/src/types.rs
@@ -166,11 +166,10 @@ pub struct ExtrinsicMetadataIR<T: Form = MetaForm> {
 	pub call_ty: T::Type,
 	/// The type of the extrinsic's signature.
 	pub signature_ty: T::Type,
-	/// The type of the outermost Extra/Extensions enum.
-	// TODO: metadata-v16: rename this to `extension_ty`.
+	/// The type of the outermost Extra enum.
 	pub extra_ty: T::Type,
-	/// The transaction extensions in the order they appear in the extrinsic.
-	pub extensions: Vec<TransactionExtensionMetadataIR<T>>,
+	/// The signed extensions in the order they appear in the extrinsic.
+	pub signed_extensions: Vec<SignedExtensionMetadataIR<T>>,
 }
 
 impl IntoPortable for ExtrinsicMetadataIR {
@@ -184,27 +183,27 @@ impl IntoPortable for ExtrinsicMetadataIR {
 			call_ty: registry.register_type(&self.call_ty),
 			signature_ty: registry.register_type(&self.signature_ty),
 			extra_ty: registry.register_type(&self.extra_ty),
-			extensions: registry.map_into_portable(self.extensions),
+			signed_extensions: registry.map_into_portable(self.signed_extensions),
 		}
 	}
 }
 
 /// Metadata of an extrinsic's signed extension.
 #[derive(Clone, PartialEq, Eq, Encode, Debug)]
-pub struct TransactionExtensionMetadataIR<T: Form = MetaForm> {
+pub struct SignedExtensionMetadataIR<T: Form = MetaForm> {
 	/// The unique signed extension identifier, which may be different from the type name.
 	pub identifier: T::String,
 	/// The type of the signed extension, with the data to be included in the extrinsic.
 	pub ty: T::Type,
-	/// The type of the additional signed data, with the data to be included in the signed payload.
+	/// The type of the additional signed data, with the data to be included in the signed payload
 	pub additional_signed: T::Type,
 }
 
-impl IntoPortable for TransactionExtensionMetadataIR {
-	type Output = TransactionExtensionMetadataIR<PortableForm>;
+impl IntoPortable for SignedExtensionMetadataIR {
+	type Output = SignedExtensionMetadataIR<PortableForm>;
 
 	fn into_portable(self, registry: &mut Registry) -> Self::Output {
-		TransactionExtensionMetadataIR {
+		SignedExtensionMetadataIR {
 			identifier: self.identifier.into_portable(registry),
 			ty: registry.register_type(&self.ty),
 			additional_signed: registry.register_type(&self.additional_signed),
diff --git a/substrate/primitives/metadata-ir/src/v14.rs b/substrate/primitives/metadata-ir/src/v14.rs
index ec08de34786..e1b7a24f765 100644
--- a/substrate/primitives/metadata-ir/src/v14.rs
+++ b/substrate/primitives/metadata-ir/src/v14.rs
@@ -20,8 +20,8 @@
 use super::types::{
 	ExtrinsicMetadataIR, MetadataIR, PalletCallMetadataIR, PalletConstantMetadataIR,
 	PalletErrorMetadataIR, PalletEventMetadataIR, PalletMetadataIR, PalletStorageMetadataIR,
-	StorageEntryMetadataIR, StorageEntryModifierIR, StorageEntryTypeIR, StorageHasherIR,
-	TransactionExtensionMetadataIR,
+	SignedExtensionMetadataIR, StorageEntryMetadataIR, StorageEntryModifierIR, StorageEntryTypeIR,
+	StorageHasherIR,
 };
 
 use frame_metadata::v14::{
@@ -137,8 +137,8 @@ impl From<PalletErrorMetadataIR> for PalletErrorMetadata {
 	}
 }
 
-impl From<TransactionExtensionMetadataIR> for SignedExtensionMetadata {
-	fn from(ir: TransactionExtensionMetadataIR) -> Self {
+impl From<SignedExtensionMetadataIR> for SignedExtensionMetadata {
+	fn from(ir: SignedExtensionMetadataIR) -> Self {
 		SignedExtensionMetadata {
 			identifier: ir.identifier,
 			ty: ir.ty,
@@ -152,7 +152,7 @@ impl From<ExtrinsicMetadataIR> for ExtrinsicMetadata {
 		ExtrinsicMetadata {
 			ty: ir.ty,
 			version: ir.version,
-			signed_extensions: ir.extensions.into_iter().map(Into::into).collect(),
+			signed_extensions: ir.signed_extensions.into_iter().map(Into::into).collect(),
 		}
 	}
 }
diff --git a/substrate/primitives/metadata-ir/src/v15.rs b/substrate/primitives/metadata-ir/src/v15.rs
index dc5ce1c88fd..a942eb73223 100644
--- a/substrate/primitives/metadata-ir/src/v15.rs
+++ b/substrate/primitives/metadata-ir/src/v15.rs
@@ -21,7 +21,7 @@ use crate::OuterEnumsIR;
 
 use super::types::{
 	ExtrinsicMetadataIR, MetadataIR, PalletMetadataIR, RuntimeApiMetadataIR,
-	RuntimeApiMethodMetadataIR, RuntimeApiMethodParamMetadataIR, TransactionExtensionMetadataIR,
+	RuntimeApiMethodMetadataIR, RuntimeApiMethodParamMetadataIR, SignedExtensionMetadataIR,
 };
 
 use frame_metadata::v15::{
@@ -87,8 +87,8 @@ impl From<PalletMetadataIR> for PalletMetadata {
 	}
 }
 
-impl From<TransactionExtensionMetadataIR> for SignedExtensionMetadata {
-	fn from(ir: TransactionExtensionMetadataIR) -> Self {
+impl From<SignedExtensionMetadataIR> for SignedExtensionMetadata {
+	fn from(ir: SignedExtensionMetadataIR) -> Self {
 		SignedExtensionMetadata {
 			identifier: ir.identifier,
 			ty: ir.ty,
@@ -105,7 +105,7 @@ impl From<ExtrinsicMetadataIR> for ExtrinsicMetadata {
 			call_ty: ir.call_ty,
 			signature_ty: ir.signature_ty,
 			extra_ty: ir.extra_ty,
-			signed_extensions: ir.extensions.into_iter().map(Into::into).collect(),
+			signed_extensions: ir.signed_extensions.into_iter().map(Into::into).collect(),
 		}
 	}
 }
diff --git a/substrate/primitives/runtime/Cargo.toml b/substrate/primitives/runtime/Cargo.toml
index 758cd8944fd..cacfc059722 100644
--- a/substrate/primitives/runtime/Cargo.toml
+++ b/substrate/primitives/runtime/Cargo.toml
@@ -17,7 +17,6 @@ workspace = true
 targets = ["x86_64-unknown-linux-gnu"]
 
 [dependencies]
-tuplex = { version = "0.1.2", default-features = false }
 codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive", "max-encoded-len"] }
 either = { version = "1.5", default-features = false }
 hash256-std-hasher = { version = "0.15.2", default-features = false }
@@ -68,7 +67,6 @@ std = [
 	"sp-std/std",
 	"sp-tracing/std",
 	"sp-weights/std",
-	"tuplex/std",
 ]
 
 # Serde support without relying on std features.
diff --git a/substrate/primitives/runtime/src/generic/checked_extrinsic.rs b/substrate/primitives/runtime/src/generic/checked_extrinsic.rs
index e28c8fe424a..44325920bee 100644
--- a/substrate/primitives/runtime/src/generic/checked_extrinsic.rs
+++ b/substrate/primitives/runtime/src/generic/checked_extrinsic.rs
@@ -18,115 +18,81 @@
 //! Generic implementation of an extrinsic that has passed the verification
 //! stage.
 
-use codec::Encode;
-
 use crate::{
 	traits::{
-		self, transaction_extension::TransactionExtension, DispatchInfoOf, DispatchTransaction,
-		Dispatchable, MaybeDisplay, Member, PostDispatchInfoOf, ValidateUnsigned,
+		self, DispatchInfoOf, Dispatchable, MaybeDisplay, Member, PostDispatchInfoOf,
+		SignedExtension, ValidateUnsigned,
 	},
 	transaction_validity::{TransactionSource, TransactionValidity},
 };
 
-/// The kind of extrinsic this is, including any fields required of that kind. This is basically
-/// the full extrinsic except the `Call`.
-#[derive(PartialEq, Eq, Clone, sp_core::RuntimeDebug)]
-pub enum ExtrinsicFormat<AccountId, Extension> {
-	/// Extrinsic is bare; it must pass either the bare forms of `TransactionExtension` or
-	/// `ValidateUnsigned`, both deprecated, or alternatively a `ProvideInherent`.
-	Bare,
-	/// Extrinsic has a default `Origin` of `Signed(AccountId)` and must pass all
-	/// `TransactionExtension`s regular checks and includes all extension data.
-	Signed(AccountId, Extension),
-	/// Extrinsic has a default `Origin` of `None` and must pass all `TransactionExtension`s.
-	/// regular checks and includes all extension data.
-	General(Extension),
-}
-
-// TODO: Rename ValidateUnsigned to ValidateInherent
-// TODO: Consider changing ValidateInherent API to avoid need for duplicating validate
-//   code into pre_dispatch (rename that to `prepare`).
-// TODO: New extrinsic type corresponding to `ExtrinsicFormat::General`, which is
-//   unsigned but includes extension data.
-// TODO: Move usage of `signed` to `format`:
-// - Inherent instead of None.
-// - Signed(id, extension) instead of Some((id, extra)).
-// - Introduce General(extension) for one without a signature.
-
 /// Definition of something that the external world might want to say; its existence implies that it
 /// has been checked and is good, particularly with regards to the signature.
 ///
 /// This is typically passed into [`traits::Applyable::apply`], which should execute
 /// [`CheckedExtrinsic::function`], alongside all other bits and bobs.
 #[derive(PartialEq, Eq, Clone, sp_core::RuntimeDebug)]
-pub struct CheckedExtrinsic<AccountId, Call, Extension> {
+pub struct CheckedExtrinsic<AccountId, Call, Extra> {
 	/// Who this purports to be from and the number of extrinsics have come before
 	/// from the same signer, if anyone (note this is not a signature).
-	pub format: ExtrinsicFormat<AccountId, Extension>,
+	pub signed: Option<(AccountId, Extra)>,
 
 	/// The function that should be called.
 	pub function: Call,
 }
 
-impl<AccountId, Call, Extension, RuntimeOrigin> traits::Applyable
-	for CheckedExtrinsic<AccountId, Call, Extension>
+impl<AccountId, Call, Extra, RuntimeOrigin> traits::Applyable
+	for CheckedExtrinsic<AccountId, Call, Extra>
 where
 	AccountId: Member + MaybeDisplay,
-	Call: Member + Dispatchable<RuntimeOrigin = RuntimeOrigin> + Encode,
-	Extension: TransactionExtension<Call, ()>,
+	Call: Member + Dispatchable<RuntimeOrigin = RuntimeOrigin>,
+	Extra: SignedExtension<AccountId = AccountId, Call = Call>,
 	RuntimeOrigin: From<Option<AccountId>>,
 {
 	type Call = Call;
 
-	fn validate<I: ValidateUnsigned<Call = Self::Call>>(
+	fn validate<U: ValidateUnsigned<Call = Self::Call>>(
 		&self,
+		// TODO [#5006;ToDr] should source be passed to `SignedExtension`s?
+		// Perhaps a change for 2.0 to avoid breaking too much APIs?
 		source: TransactionSource,
 		info: &DispatchInfoOf<Self::Call>,
 		len: usize,
 	) -> TransactionValidity {
-		match self.format {
-			ExtrinsicFormat::Bare => {
-				let inherent_validation = I::validate_unsigned(source, &self.function)?;
-				#[allow(deprecated)]
-				let legacy_validation = Extension::validate_bare_compat(&self.function, info, len)?;
-				Ok(legacy_validation.combine_with(inherent_validation))
-			},
-			ExtrinsicFormat::Signed(ref signer, ref extension) => {
-				let origin = Some(signer.clone()).into();
-				extension.validate_only(origin, &self.function, info, len).map(|x| x.0)
-			},
-			ExtrinsicFormat::General(ref extension) =>
-				extension.validate_only(None.into(), &self.function, info, len).map(|x| x.0),
+		if let Some((ref id, ref extra)) = self.signed {
+			Extra::validate(extra, id, &self.function, info, len)
+		} else {
+			let valid = Extra::validate_unsigned(&self.function, info, len)?;
+			let unsigned_validation = U::validate_unsigned(source, &self.function)?;
+			Ok(valid.combine_with(unsigned_validation))
 		}
 	}
 
-	fn apply<I: ValidateUnsigned<Call = Self::Call>>(
+	fn apply<U: ValidateUnsigned<Call = Self::Call>>(
 		self,
 		info: &DispatchInfoOf<Self::Call>,
 		len: usize,
 	) -> crate::ApplyExtrinsicResultWithInfo<PostDispatchInfoOf<Self::Call>> {
-		match self.format {
-			ExtrinsicFormat::Bare => {
-				I::pre_dispatch(&self.function)?;
-				// TODO: Remove below once `pre_dispatch_unsigned` is removed from `LegacyExtension`
-				//   or `LegacyExtension` is removed.
-				#[allow(deprecated)]
-				Extension::validate_bare_compat(&self.function, info, len)?;
-				#[allow(deprecated)]
-				Extension::pre_dispatch_bare_compat(&self.function, info, len)?;
-				let res = self.function.dispatch(None.into());
-				let post_info = res.unwrap_or_else(|err| err.post_info);
-				let pd_res = res.map(|_| ()).map_err(|e| e.error);
-				// TODO: Remove below once `pre_dispatch_unsigned` is removed from `LegacyExtension`
-				//   or `LegacyExtension` is removed.
-				#[allow(deprecated)]
-				Extension::post_dispatch_bare_compat(info, &post_info, len, &pd_res)?;
-				Ok(res)
-			},
-			ExtrinsicFormat::Signed(signer, extension) =>
-				extension.dispatch_transaction(Some(signer).into(), self.function, info, len),
-			ExtrinsicFormat::General(extension) =>
-				extension.dispatch_transaction(None.into(), self.function, info, len),
-		}
+		let (maybe_who, maybe_pre) = if let Some((id, extra)) = self.signed {
+			let pre = Extra::pre_dispatch(extra, &id, &self.function, info, len)?;
+			(Some(id), Some(pre))
+		} else {
+			Extra::pre_dispatch_unsigned(&self.function, info, len)?;
+			U::pre_dispatch(&self.function)?;
+			(None, None)
+		};
+		let res = self.function.dispatch(RuntimeOrigin::from(maybe_who));
+		let post_info = match res {
+			Ok(info) => info,
+			Err(err) => err.post_info,
+		};
+		Extra::post_dispatch(
+			maybe_pre,
+			info,
+			&post_info,
+			len,
+			&res.map(|_| ()).map_err(|e| e.error),
+		)?;
+		Ok(res)
 	}
 }
diff --git a/substrate/primitives/runtime/src/generic/mod.rs b/substrate/primitives/runtime/src/generic/mod.rs
index 5713c166b04..3687f7cdb3b 100644
--- a/substrate/primitives/runtime/src/generic/mod.rs
+++ b/substrate/primitives/runtime/src/generic/mod.rs
@@ -29,9 +29,9 @@ mod unchecked_extrinsic;
 
 pub use self::{
 	block::{Block, BlockId, SignedBlock},
-	checked_extrinsic::{CheckedExtrinsic, ExtrinsicFormat},
+	checked_extrinsic::CheckedExtrinsic,
 	digest::{Digest, DigestItem, DigestItemRef, OpaqueDigestItemId},
 	era::{Era, Phase},
 	header::Header,
-	unchecked_extrinsic::{Preamble, SignedPayload, UncheckedExtrinsic},
+	unchecked_extrinsic::{SignedPayload, UncheckedExtrinsic},
 };
diff --git a/substrate/primitives/runtime/src/generic/unchecked_extrinsic.rs b/substrate/primitives/runtime/src/generic/unchecked_extrinsic.rs
index 44dfda13d94..5b54caf597b 100644
--- a/substrate/primitives/runtime/src/generic/unchecked_extrinsic.rs
+++ b/substrate/primitives/runtime/src/generic/unchecked_extrinsic.rs
@@ -18,11 +18,10 @@
 //! Generic implementation of an unchecked (pre-verification) extrinsic.
 
 use crate::{
-	generic::{CheckedExtrinsic, ExtrinsicFormat},
+	generic::CheckedExtrinsic,
 	traits::{
-		self, transaction_extension::TransactionExtensionBase, Checkable, Dispatchable, Extrinsic,
-		ExtrinsicMetadata, IdentifyAccount, MaybeDisplay, Member, SignaturePayload,
-		TransactionExtension,
+		self, Checkable, Extrinsic, ExtrinsicMetadata, IdentifyAccount, MaybeDisplay, Member,
+		SignaturePayload, SignedExtension,
 	},
 	transaction_validity::{InvalidTransaction, TransactionValidityError},
 	OpaqueExtrinsic,
@@ -41,60 +40,8 @@ use sp_std::{fmt, prelude::*};
 /// the decoding fails.
 const EXTRINSIC_FORMAT_VERSION: u8 = 4;
 
-/// The `SignaturePayload` of `UncheckedExtrinsic`.
-type UncheckedSignaturePayload<Address, Signature, Extension> = (Address, Signature, Extension);
-
-impl<Address: TypeInfo, Signature: TypeInfo, Extension: TypeInfo> SignaturePayload
-	for UncheckedSignaturePayload<Address, Signature, Extension>
-{
-	type SignatureAddress = Address;
-	type Signature = Signature;
-	type SignatureExtra = Extension;
-}
-
-/// A "header" for extrinsics leading up to the call itself. Determines the type of extrinsic and
-/// holds any necessary specialized data.
-#[derive(Eq, PartialEq, Clone, Encode, Decode)]
-pub enum Preamble<Address, Signature, Extension> {
-	/// An extrinsic without a signature or any extension. This means it's either an inherent or
-	/// an old-school "Unsigned" (we don't use that terminology any more since it's confusable with
-	/// the general transaction which is without a signature but does have an extension).
-	///
-	/// NOTE: In the future, once we remove `ValidateUnsigned`, this will only serve Inherent
-	/// extrinsics and thus can be renamed to `Inherent`.
-	#[codec(index = 0b00000100)]
-	Bare,
-	/// An old-school transaction extrinsic which includes a signature of some hard-coded crypto.
-	#[codec(index = 0b10000100)]
-	Signed(Address, Signature, Extension),
-	/// A new-school transaction extrinsic which does not include a signature.
-	#[codec(index = 0b01000100)]
-	General(Extension),
-}
-
-impl<Address, Signature, Extension> Preamble<Address, Signature, Extension> {
-	/// Returns `Some` if this is a signed extrinsic, together with the relevant inner fields.
-	pub fn to_signed(self) -> Option<(Address, Signature, Extension)> {
-		match self {
-			Self::Signed(a, s, e) => Some((a, s, e)),
-			_ => None,
-		}
-	}
-}
-
-impl<Address, Signature, Extension> fmt::Debug for Preamble<Address, Signature, Extension>
-where
-	Address: fmt::Debug,
-	Extension: fmt::Debug,
-{
-	fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-		match self {
-			Self::Bare => write!(f, "Bare"),
-			Self::Signed(address, _, tx_ext) => write!(f, "Signed({:?}, {:?})", address, tx_ext),
-			Self::General(tx_ext) => write!(f, "General({:?})", tx_ext),
-		}
-	}
-}
+/// The `SingaturePayload` of `UncheckedExtrinsic`.
+type UncheckedSignaturePayload<Address, Signature, Extra> = (Address, Signature, Extra);
 
 /// An extrinsic right from the external world. This is unchecked and so can contain a signature.
 ///
@@ -118,28 +65,41 @@ where
 /// This can be checked using [`Checkable`], yielding a [`CheckedExtrinsic`], which is the
 /// counterpart of this type after its signature (and other non-negotiable validity checks) have
 /// passed.
-#[derive(PartialEq, Eq, Clone, Debug)]
-pub struct UncheckedExtrinsic<Address, Call, Signature, Extension> {
-	/// Information regarding the type of extrinsic this is (inherent or transaction) as well as
-	/// associated extension (`Extension`) data if it's a transaction and a possible signature.
-	pub preamble: Preamble<Address, Signature, Extension>,
+#[derive(PartialEq, Eq, Clone)]
+pub struct UncheckedExtrinsic<Address, Call, Signature, Extra>
+where
+	Extra: SignedExtension,
+{
+	/// The signature, address, number of extrinsics have come before from the same signer and an
+	/// era describing the longevity of this transaction, if this is a signed extrinsic.
+	///
+	/// `None` if it is unsigned or an inherent.
+	pub signature: Option<UncheckedSignaturePayload<Address, Signature, Extra>>,
 	/// The function that should be called.
 	pub function: Call,
 }
 
+impl<Address: TypeInfo, Signature: TypeInfo, Extra: TypeInfo> SignaturePayload
+	for UncheckedSignaturePayload<Address, Signature, Extra>
+{
+	type SignatureAddress = Address;
+	type Signature = Signature;
+	type SignatureExtra = Extra;
+}
+
 /// Manual [`TypeInfo`] implementation because of custom encoding. The data is a valid encoded
 /// `Vec<u8>`, but requires some logic to extract the signature and payload.
 ///
 /// See [`UncheckedExtrinsic::encode`] and [`UncheckedExtrinsic::decode`].
-impl<Address, Call, Signature, Extension> TypeInfo
-	for UncheckedExtrinsic<Address, Call, Signature, Extension>
+impl<Address, Call, Signature, Extra> TypeInfo
+	for UncheckedExtrinsic<Address, Call, Signature, Extra>
 where
 	Address: StaticTypeInfo,
 	Call: StaticTypeInfo,
 	Signature: StaticTypeInfo,
-	Extension: StaticTypeInfo,
+	Extra: SignedExtension + StaticTypeInfo,
 {
-	type Identity = UncheckedExtrinsic<Address, Call, Signature, Extension>;
+	type Identity = UncheckedExtrinsic<Address, Call, Signature, Extra>;
 
 	fn type_info() -> Type {
 		Type::builder()
@@ -151,7 +111,7 @@ where
 				TypeParameter::new("Address", Some(meta_type::<Address>())),
 				TypeParameter::new("Call", Some(meta_type::<Call>())),
 				TypeParameter::new("Signature", Some(meta_type::<Signature>())),
-				TypeParameter::new("Extra", Some(meta_type::<Extension>())),
+				TypeParameter::new("Extra", Some(meta_type::<Extra>())),
 			])
 			.docs(&["UncheckedExtrinsic raw bytes, requires custom decoding routine"])
 			// Because of the custom encoding, we can only accurately describe the encoding as an
@@ -161,113 +121,66 @@ where
 	}
 }
 
-impl<Address, Call, Signature, Extension> UncheckedExtrinsic<Address, Call, Signature, Extension> {
-	/// New instance of a bare (ne unsigned) extrinsic. This could be used for an inherent or an
-	/// old-school "unsigned transaction" (which are new being deprecated in favour of general
-	/// transactions).
-	#[deprecated = "Use new_bare instead"]
-	pub fn new_unsigned(function: Call) -> Self {
-		Self::new_bare(function)
-	}
-
-	/// Returns `true` if this extrinsic instance is an inherent, `false`` otherwise.
-	pub fn is_inherent(&self) -> bool {
-		matches!(self.preamble, Preamble::Bare)
-	}
-
-	/// Returns `true` if this extrinsic instance is an old-school signed transaction, `false`
-	/// otherwise.
-	pub fn is_signed(&self) -> bool {
-		matches!(self.preamble, Preamble::Signed(..))
-	}
-
-	/// Create an `UncheckedExtrinsic` from a `Preamble` and the actual `Call`.
-	pub fn from_parts(function: Call, preamble: Preamble<Address, Signature, Extension>) -> Self {
-		Self { preamble, function }
-	}
-
-	/// New instance of a bare (ne unsigned) extrinsic.
-	pub fn new_bare(function: Call) -> Self {
-		Self { preamble: Preamble::Bare, function }
-	}
-
-	/// New instance of an old-school signed transaction.
-	pub fn new_signed(
-		function: Call,
-		signed: Address,
-		signature: Signature,
-		tx_ext: Extension,
-	) -> Self {
-		Self { preamble: Preamble::Signed(signed, signature, tx_ext), function }
+impl<Address, Call, Signature, Extra: SignedExtension>
+	UncheckedExtrinsic<Address, Call, Signature, Extra>
+{
+	/// New instance of a signed extrinsic aka "transaction".
+	pub fn new_signed(function: Call, signed: Address, signature: Signature, extra: Extra) -> Self {
+		Self { signature: Some((signed, signature, extra)), function }
 	}
 
-	/// New instance of an new-school unsigned transaction.
-	pub fn new_transaction(function: Call, tx_ext: Extension) -> Self {
-		Self { preamble: Preamble::General(tx_ext), function }
+	/// New instance of an unsigned extrinsic aka "inherent".
+	pub fn new_unsigned(function: Call) -> Self {
+		Self { signature: None, function }
 	}
 }
 
-// TODO: We can get rid of this trait and just use UncheckedExtrinsic directly.
-
-impl<Address: TypeInfo, Call: TypeInfo, Signature: TypeInfo, Extension: TypeInfo> Extrinsic
-	for UncheckedExtrinsic<Address, Call, Signature, Extension>
+impl<Address: TypeInfo, Call: TypeInfo, Signature: TypeInfo, Extra: SignedExtension + TypeInfo>
+	Extrinsic for UncheckedExtrinsic<Address, Call, Signature, Extra>
 {
 	type Call = Call;
 
-	type SignaturePayload = UncheckedSignaturePayload<Address, Signature, Extension>;
-
-	fn is_bare(&self) -> bool {
-		matches!(self.preamble, Preamble::Bare)
-	}
+	type SignaturePayload = UncheckedSignaturePayload<Address, Signature, Extra>;
 
 	fn is_signed(&self) -> Option<bool> {
-		Some(matches!(self.preamble, Preamble::Signed(..)))
+		Some(self.signature.is_some())
 	}
 
 	fn new(function: Call, signed_data: Option<Self::SignaturePayload>) -> Option<Self> {
 		Some(if let Some((address, signature, extra)) = signed_data {
 			Self::new_signed(function, address, signature, extra)
 		} else {
-			Self::new_bare(function)
+			Self::new_unsigned(function)
 		})
 	}
-
-	fn new_inherent(function: Call) -> Self {
-		Self::new_bare(function)
-	}
 }
 
-impl<LookupSource, AccountId, Call, Signature, Extension, Lookup> Checkable<Lookup>
-	for UncheckedExtrinsic<LookupSource, Call, Signature, Extension>
+impl<LookupSource, AccountId, Call, Signature, Extra, Lookup> Checkable<Lookup>
+	for UncheckedExtrinsic<LookupSource, Call, Signature, Extra>
 where
 	LookupSource: Member + MaybeDisplay,
-	Call: Encode + Member + Dispatchable,
+	Call: Encode + Member,
 	Signature: Member + traits::Verify,
 	<Signature as traits::Verify>::Signer: IdentifyAccount<AccountId = AccountId>,
-	Extension: Encode + TransactionExtension<Call, ()>,
+	Extra: SignedExtension<AccountId = AccountId>,
 	AccountId: Member + MaybeDisplay,
 	Lookup: traits::Lookup<Source = LookupSource, Target = AccountId>,
 {
-	type Checked = CheckedExtrinsic<AccountId, Call, Extension>;
+	type Checked = CheckedExtrinsic<AccountId, Call, Extra>;
 
 	fn check(self, lookup: &Lookup) -> Result<Self::Checked, TransactionValidityError> {
-		Ok(match self.preamble {
-			Preamble::Signed(signed, signature, tx_ext) => {
+		Ok(match self.signature {
+			Some((signed, signature, extra)) => {
 				let signed = lookup.lookup(signed)?;
-				// CHECK! Should this not contain implicit?
-				let raw_payload = SignedPayload::new(self.function, tx_ext)?;
+				let raw_payload = SignedPayload::new(self.function, extra)?;
 				if !raw_payload.using_encoded(|payload| signature.verify(payload, &signed)) {
 					return Err(InvalidTransaction::BadProof.into())
 				}
-				let (function, tx_ext, _) = raw_payload.deconstruct();
-				CheckedExtrinsic { format: ExtrinsicFormat::Signed(signed, tx_ext), function }
-			},
-			Preamble::General(tx_ext) => CheckedExtrinsic {
-				format: ExtrinsicFormat::General(tx_ext),
-				function: self.function,
+
+				let (function, extra, _) = raw_payload.deconstruct();
+				CheckedExtrinsic { signed: Some((signed, extra)), function }
 			},
-			Preamble::Bare =>
-				CheckedExtrinsic { format: ExtrinsicFormat::Bare, function: self.function },
+			None => CheckedExtrinsic { signed: None, function: self.function },
 		})
 	}
 
@@ -276,38 +189,91 @@ where
 		self,
 		lookup: &Lookup,
 	) -> Result<Self::Checked, TransactionValidityError> {
-		Ok(match self.preamble {
-			Preamble::Signed(signed, _, extra) => {
+		Ok(match self.signature {
+			Some((signed, _, extra)) => {
 				let signed = lookup.lookup(signed)?;
-				CheckedExtrinsic {
-					format: ExtrinsicFormat::Signed(signed, extra),
-					function: self.function,
-				}
+				let raw_payload = SignedPayload::new(self.function, extra)?;
+				let (function, extra, _) = raw_payload.deconstruct();
+				CheckedExtrinsic { signed: Some((signed, extra)), function }
 			},
-			Preamble::General(extra) => CheckedExtrinsic {
-				format: ExtrinsicFormat::General(extra),
-				function: self.function,
-			},
-			Preamble::Bare =>
-				CheckedExtrinsic { format: ExtrinsicFormat::Bare, function: self.function },
+			None => CheckedExtrinsic { signed: None, function: self.function },
 		})
 	}
 }
 
-impl<Address, Call: Dispatchable, Signature, Extension: TransactionExtension<Call, ()>>
-	ExtrinsicMetadata for UncheckedExtrinsic<Address, Call, Signature, Extension>
+impl<Address, Call, Signature, Extra> ExtrinsicMetadata
+	for UncheckedExtrinsic<Address, Call, Signature, Extra>
+where
+	Extra: SignedExtension,
 {
 	const VERSION: u8 = EXTRINSIC_FORMAT_VERSION;
-	type Extra = Extension;
+	type SignedExtensions = Extra;
+}
+
+/// A payload that has been signed for an unchecked extrinsics.
+///
+/// Note that the payload that we sign to produce unchecked extrinsic signature
+/// is going to be different than the `SignaturePayload` - so the thing the extrinsic
+/// actually contains.
+pub struct SignedPayload<Call, Extra: SignedExtension>((Call, Extra, Extra::AdditionalSigned));
+
+impl<Call, Extra> SignedPayload<Call, Extra>
+where
+	Call: Encode,
+	Extra: SignedExtension,
+{
+	/// Create new `SignedPayload`.
+	///
+	/// This function may fail if `additional_signed` of `Extra` is not available.
+	pub fn new(call: Call, extra: Extra) -> Result<Self, TransactionValidityError> {
+		let additional_signed = extra.additional_signed()?;
+		let raw_payload = (call, extra, additional_signed);
+		Ok(Self(raw_payload))
+	}
+
+	/// Create new `SignedPayload` from raw components.
+	pub fn from_raw(call: Call, extra: Extra, additional_signed: Extra::AdditionalSigned) -> Self {
+		Self((call, extra, additional_signed))
+	}
+
+	/// Deconstruct the payload into it's components.
+	pub fn deconstruct(self) -> (Call, Extra, Extra::AdditionalSigned) {
+		self.0
+	}
 }
 
-impl<Address, Call, Signature, Extension> Decode
-	for UncheckedExtrinsic<Address, Call, Signature, Extension>
+impl<Call, Extra> Encode for SignedPayload<Call, Extra>
+where
+	Call: Encode,
+	Extra: SignedExtension,
+{
+	/// Get an encoded version of this payload.
+	///
+	/// Payloads longer than 256 bytes are going to be `blake2_256`-hashed.
+	fn using_encoded<R, F: FnOnce(&[u8]) -> R>(&self, f: F) -> R {
+		self.0.using_encoded(|payload| {
+			if payload.len() > 256 {
+				f(&blake2_256(payload)[..])
+			} else {
+				f(payload)
+			}
+		})
+	}
+}
+
+impl<Call, Extra> EncodeLike for SignedPayload<Call, Extra>
+where
+	Call: Encode,
+	Extra: SignedExtension,
+{
+}
+
+impl<Address, Call, Signature, Extra> Decode for UncheckedExtrinsic<Address, Call, Signature, Extra>
 where
 	Address: Decode,
 	Signature: Decode,
 	Call: Decode,
-	Extension: Decode,
+	Extra: SignedExtension,
 {
 	fn decode<I: Input>(input: &mut I) -> Result<Self, Error> {
 		// This is a little more complicated than usual since the binary format must be compatible
@@ -316,7 +282,15 @@ where
 		let expected_length: Compact<u32> = Decode::decode(input)?;
 		let before_length = input.remaining_len()?;
 
-		let preamble = Decode::decode(input)?;
+		let version = input.read_byte()?;
+
+		let is_signed = version & 0b1000_0000 != 0;
+		let version = version & 0b0111_1111;
+		if version != EXTRINSIC_FORMAT_VERSION {
+			return Err("Invalid transaction version".into())
+		}
+
+		let signature = is_signed.then(|| Decode::decode(input)).transpose()?;
 		let function = Decode::decode(input)?;
 
 		if let Some((before_length, after_length)) =
@@ -329,20 +303,31 @@ where
 			}
 		}
 
-		Ok(Self { preamble, function })
+		Ok(Self { signature, function })
 	}
 }
 
 #[docify::export(unchecked_extrinsic_encode_impl)]
-impl<Address, Call, Signature, Extension> Encode
-	for UncheckedExtrinsic<Address, Call, Signature, Extension>
+impl<Address, Call, Signature, Extra> Encode for UncheckedExtrinsic<Address, Call, Signature, Extra>
 where
-	Preamble<Address, Signature, Extension>: Encode,
+	Address: Encode,
+	Signature: Encode,
 	Call: Encode,
-	Extension: Encode,
+	Extra: SignedExtension,
 {
 	fn encode(&self) -> Vec<u8> {
-		let mut tmp = self.preamble.encode();
+		let mut tmp = Vec::with_capacity(sp_std::mem::size_of::<Self>());
+
+		// 1 byte version id.
+		match self.signature.as_ref() {
+			Some(s) => {
+				tmp.push(EXTRINSIC_FORMAT_VERSION | 0b1000_0000);
+				s.encode_to(&mut tmp);
+			},
+			None => {
+				tmp.push(EXTRINSIC_FORMAT_VERSION & 0b0111_1111);
+			},
+		}
 		self.function.encode_to(&mut tmp);
 
 		let compact_len = codec::Compact::<u32>(tmp.len() as u32);
@@ -357,19 +342,19 @@ where
 	}
 }
 
-impl<Address, Call, Signature, Extension> EncodeLike
-	for UncheckedExtrinsic<Address, Call, Signature, Extension>
+impl<Address, Call, Signature, Extra> EncodeLike
+	for UncheckedExtrinsic<Address, Call, Signature, Extra>
 where
 	Address: Encode,
 	Signature: Encode,
-	Call: Encode + Dispatchable,
-	Extension: TransactionExtension<Call, ()>,
+	Call: Encode,
+	Extra: SignedExtension,
 {
 }
 
 #[cfg(feature = "serde")]
-impl<Address: Encode, Signature: Encode, Call: Encode, Extension: Encode> serde::Serialize
-	for UncheckedExtrinsic<Address, Call, Signature, Extension>
+impl<Address: Encode, Signature: Encode, Call: Encode, Extra: SignedExtension> serde::Serialize
+	for UncheckedExtrinsic<Address, Call, Signature, Extra>
 {
 	fn serialize<S>(&self, seq: S) -> Result<S::Ok, S::Error>
 	where
@@ -380,88 +365,45 @@ impl<Address: Encode, Signature: Encode, Call: Encode, Extension: Encode> serde:
 }
 
 #[cfg(feature = "serde")]
-impl<'a, Address: Decode, Signature: Decode, Call: Decode, Extension: Decode> serde::Deserialize<'a>
-	for UncheckedExtrinsic<Address, Call, Signature, Extension>
+impl<'a, Address: Decode, Signature: Decode, Call: Decode, Extra: SignedExtension>
+	serde::Deserialize<'a> for UncheckedExtrinsic<Address, Call, Signature, Extra>
 {
 	fn deserialize<D>(de: D) -> Result<Self, D::Error>
 	where
 		D: serde::Deserializer<'a>,
 	{
 		let r = sp_core::bytes::deserialize(de)?;
-		Self::decode(&mut &r[..])
+		Decode::decode(&mut &r[..])
 			.map_err(|e| serde::de::Error::custom(format!("Decode error: {}", e)))
 	}
 }
 
-/// A payload that has been signed for an unchecked extrinsics.
-///
-/// Note that the payload that we sign to produce unchecked extrinsic signature
-/// is going to be different than the `SignaturePayload` - so the thing the extrinsic
-/// actually contains.
-pub struct SignedPayload<Call: Dispatchable, Extension: TransactionExtensionBase>(
-	(Call, Extension, Extension::Implicit),
-);
-
-impl<Call, Extension> SignedPayload<Call, Extension>
-where
-	Call: Encode + Dispatchable,
-	Extension: TransactionExtensionBase,
-{
-	/// Create new `SignedPayload`.
-	///
-	/// This function may fail if `implicit` of `Extension` is not available.
-	pub fn new(call: Call, tx_ext: Extension) -> Result<Self, TransactionValidityError> {
-		let implicit = Extension::implicit(&tx_ext)?;
-		let raw_payload = (call, tx_ext, implicit);
-		Ok(Self(raw_payload))
-	}
-
-	/// Create new `SignedPayload` from raw components.
-	pub fn from_raw(call: Call, tx_ext: Extension, implicit: Extension::Implicit) -> Self {
-		Self((call, tx_ext, implicit))
-	}
-
-	/// Deconstruct the payload into it's components.
-	pub fn deconstruct(self) -> (Call, Extension, Extension::Implicit) {
-		self.0
-	}
-}
-
-impl<Call, Extension> Encode for SignedPayload<Call, Extension>
+impl<Address, Call, Signature, Extra> fmt::Debug
+	for UncheckedExtrinsic<Address, Call, Signature, Extra>
 where
-	Call: Encode + Dispatchable,
-	Extension: TransactionExtensionBase,
+	Address: fmt::Debug,
+	Call: fmt::Debug,
+	Extra: SignedExtension,
 {
-	/// Get an encoded version of this payload.
-	///
-	/// Payloads longer than 256 bytes are going to be `blake2_256`-hashed.
-	fn using_encoded<R, F: FnOnce(&[u8]) -> R>(&self, f: F) -> R {
-		self.0.using_encoded(|payload| {
-			if payload.len() > 256 {
-				f(&blake2_256(payload)[..])
-			} else {
-				f(payload)
-			}
-		})
+	fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+		write!(
+			f,
+			"UncheckedExtrinsic({:?}, {:?})",
+			self.signature.as_ref().map(|x| (&x.0, &x.2)),
+			self.function,
+		)
 	}
 }
 
-impl<Call, Extension> EncodeLike for SignedPayload<Call, Extension>
-where
-	Call: Encode + Dispatchable,
-	Extension: TransactionExtensionBase,
-{
-}
-
-impl<Address, Call, Signature, Extension>
-	From<UncheckedExtrinsic<Address, Call, Signature, Extension>> for OpaqueExtrinsic
+impl<Address, Call, Signature, Extra> From<UncheckedExtrinsic<Address, Call, Signature, Extra>>
+	for OpaqueExtrinsic
 where
 	Address: Encode,
 	Signature: Encode,
 	Call: Encode,
-	Extension: Encode,
+	Extra: SignedExtension,
 {
-	fn from(extrinsic: UncheckedExtrinsic<Address, Call, Signature, Extension>) -> Self {
+	fn from(extrinsic: UncheckedExtrinsic<Address, Call, Signature, Extra>) -> Self {
 		Self::from_bytes(extrinsic.encode().as_slice()).expect(
 			"both OpaqueExtrinsic and UncheckedExtrinsic have encoding that is compatible with \
 				raw Vec<u8> encoding; qed",
@@ -469,198 +411,60 @@ where
 	}
 }
 
-#[cfg(test)]
-mod legacy {
-	use codec::{Compact, Decode, Encode, EncodeLike, Error, Input};
-	use scale_info::{
-		build::Fields, meta_type, Path, StaticTypeInfo, Type, TypeInfo, TypeParameter,
-	};
-
-	pub type OldUncheckedSignaturePayload<Address, Signature, Extra> = (Address, Signature, Extra);
-
-	#[derive(PartialEq, Eq, Clone, Debug)]
-	pub struct OldUncheckedExtrinsic<Address, Call, Signature, Extra> {
-		pub signature: Option<OldUncheckedSignaturePayload<Address, Signature, Extra>>,
-		pub function: Call,
-	}
-
-	impl<Address, Call, Signature, Extra> TypeInfo
-		for OldUncheckedExtrinsic<Address, Call, Signature, Extra>
-	where
-		Address: StaticTypeInfo,
-		Call: StaticTypeInfo,
-		Signature: StaticTypeInfo,
-		Extra: StaticTypeInfo,
-	{
-		type Identity = OldUncheckedExtrinsic<Address, Call, Signature, Extra>;
-
-		fn type_info() -> Type {
-			Type::builder()
-				.path(Path::new("UncheckedExtrinsic", module_path!()))
-				// Include the type parameter types, even though they are not used directly in any
-				// of the described fields. These type definitions can be used by downstream
-				// consumers to help construct the custom decoding from the opaque bytes (see
-				// below).
-				.type_params(vec![
-					TypeParameter::new("Address", Some(meta_type::<Address>())),
-					TypeParameter::new("Call", Some(meta_type::<Call>())),
-					TypeParameter::new("Signature", Some(meta_type::<Signature>())),
-					TypeParameter::new("Extra", Some(meta_type::<Extra>())),
-				])
-				.docs(&["OldUncheckedExtrinsic raw bytes, requires custom decoding routine"])
-				// Because of the custom encoding, we can only accurately describe the encoding as
-				// an opaque `Vec<u8>`. Downstream consumers will need to manually implement the
-				// codec to encode/decode the `signature` and `function` fields.
-				.composite(Fields::unnamed().field(|f| f.ty::<Vec<u8>>()))
-		}
-	}
-
-	impl<Address, Call, Signature, Extra> OldUncheckedExtrinsic<Address, Call, Signature, Extra> {
-		pub fn new_signed(
-			function: Call,
-			signed: Address,
-			signature: Signature,
-			extra: Extra,
-		) -> Self {
-			Self { signature: Some((signed, signature, extra)), function }
-		}
-
-		pub fn new_unsigned(function: Call) -> Self {
-			Self { signature: None, function }
-		}
-	}
-
-	impl<Address, Call, Signature, Extra> Decode
-		for OldUncheckedExtrinsic<Address, Call, Signature, Extra>
-	where
-		Address: Decode,
-		Signature: Decode,
-		Call: Decode,
-		Extra: Decode,
-	{
-		fn decode<I: Input>(input: &mut I) -> Result<Self, Error> {
-			// This is a little more complicated than usual since the binary format must be
-			// compatible with SCALE's generic `Vec<u8>` type. Basically this just means accepting
-			// that there will be a prefix of vector length.
-			let expected_length: Compact<u32> = Decode::decode(input)?;
-			let before_length = input.remaining_len()?;
-
-			let version = input.read_byte()?;
-
-			let is_signed = version & 0b1000_0000 != 0;
-			let version = version & 0b0111_1111;
-			if version != 4u8 {
-				return Err("Invalid transaction version".into())
-			}
-
-			let signature = is_signed.then(|| Decode::decode(input)).transpose()?;
-			let function = Decode::decode(input)?;
-
-			if let Some((before_length, after_length)) =
-				input.remaining_len()?.and_then(|a| before_length.map(|b| (b, a)))
-			{
-				let length = before_length.saturating_sub(after_length);
-
-				if length != expected_length.0 as usize {
-					return Err("Invalid length prefix".into())
-				}
-			}
-
-			Ok(Self { signature, function })
-		}
-	}
-
-	#[docify::export(unchecked_extrinsic_encode_impl)]
-	impl<Address, Call, Signature, Extra> Encode
-		for OldUncheckedExtrinsic<Address, Call, Signature, Extra>
-	where
-		Address: Encode,
-		Signature: Encode,
-		Call: Encode,
-		Extra: Encode,
-	{
-		fn encode(&self) -> Vec<u8> {
-			let mut tmp = Vec::with_capacity(sp_std::mem::size_of::<Self>());
-
-			// 1 byte version id.
-			match self.signature.as_ref() {
-				Some(s) => {
-					tmp.push(4u8 | 0b1000_0000);
-					s.encode_to(&mut tmp);
-				},
-				None => {
-					tmp.push(4u8 & 0b0111_1111);
-				},
-			}
-			self.function.encode_to(&mut tmp);
-
-			let compact_len = codec::Compact::<u32>(tmp.len() as u32);
-
-			// Allocate the output buffer with the correct length
-			let mut output = Vec::with_capacity(compact_len.size_hint() + tmp.len());
-
-			compact_len.encode_to(&mut output);
-			output.extend(tmp);
-
-			output
-		}
-	}
-
-	impl<Address, Call, Signature, Extra> EncodeLike
-		for OldUncheckedExtrinsic<Address, Call, Signature, Extra>
-	where
-		Address: Encode,
-		Signature: Encode,
-		Call: Encode,
-		Extra: Encode,
-	{
-	}
-}
-
 #[cfg(test)]
 mod tests {
-	use super::{legacy::OldUncheckedExtrinsic, *};
+	use super::*;
 	use crate::{
 		codec::{Decode, Encode},
-		impl_tx_ext_default,
 		testing::TestSignature as TestSig,
-		traits::{FakeDispatchable, IdentityLookup, TransactionExtension},
+		traits::{DispatchInfoOf, IdentityLookup, SignedExtension},
 	};
 	use sp_io::hashing::blake2_256;
 
 	type TestContext = IdentityLookup<u64>;
 	type TestAccountId = u64;
-	type TestCall = FakeDispatchable<Vec<u8>>;
+	type TestCall = Vec<u8>;
 
 	const TEST_ACCOUNT: TestAccountId = 0;
 
 	// NOTE: this is demonstration. One can simply use `()` for testing.
 	#[derive(Debug, Encode, Decode, Clone, Eq, PartialEq, Ord, PartialOrd, TypeInfo)]
-	struct DummyExtension;
-	impl TransactionExtensionBase for DummyExtension {
-		const IDENTIFIER: &'static str = "DummyExtension";
-		type Implicit = ();
-	}
-	impl<Context> TransactionExtension<TestCall, Context> for DummyExtension {
-		type Val = ();
+	struct TestExtra;
+	impl SignedExtension for TestExtra {
+		const IDENTIFIER: &'static str = "TestExtra";
+		type AccountId = u64;
+		type Call = ();
+		type AdditionalSigned = ();
 		type Pre = ();
-		impl_tx_ext_default!(TestCall; Context; validate prepare);
+
+		fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> {
+			Ok(())
+		}
+
+		fn pre_dispatch(
+			self,
+			who: &Self::AccountId,
+			call: &Self::Call,
+			info: &DispatchInfoOf<Self::Call>,
+			len: usize,
+		) -> Result<Self::Pre, TransactionValidityError> {
+			self.validate(who, call, info, len).map(|_| ())
+		}
 	}
 
-	type Ex = UncheckedExtrinsic<TestAccountId, TestCall, TestSig, DummyExtension>;
-	type CEx = CheckedExtrinsic<TestAccountId, TestCall, DummyExtension>;
+	type Ex = UncheckedExtrinsic<TestAccountId, TestCall, TestSig, TestExtra>;
+	type CEx = CheckedExtrinsic<TestAccountId, TestCall, TestExtra>;
 
 	#[test]
 	fn unsigned_codec_should_work() {
-		let call: TestCall = vec![0u8; 0].into();
-		let ux = Ex::new_inherent(call);
+		let ux = Ex::new_unsigned(vec![0u8; 0]);
 		let encoded = ux.encode();
 		assert_eq!(Ex::decode(&mut &encoded[..]), Ok(ux));
 	}
 
 	#[test]
 	fn invalid_length_prefix_is_detected() {
-		let ux = Ex::new_inherent(vec![0u8; 0].into());
+		let ux = Ex::new_unsigned(vec![0u8; 0]);
 		let mut encoded = ux.encode();
 
 		let length = Compact::<u32>::decode(&mut &encoded[..]).unwrap();
@@ -669,20 +473,13 @@ mod tests {
 		assert_eq!(Ex::decode(&mut &encoded[..]), Err("Invalid length prefix".into()));
 	}
 
-	#[test]
-	fn transaction_codec_should_work() {
-		let ux = Ex::new_transaction(vec![0u8; 0].into(), DummyExtension);
-		let encoded = ux.encode();
-		assert_eq!(Ex::decode(&mut &encoded[..]), Ok(ux));
-	}
-
 	#[test]
 	fn signed_codec_should_work() {
 		let ux = Ex::new_signed(
-			vec![0u8; 0].into(),
+			vec![0u8; 0],
 			TEST_ACCOUNT,
-			TestSig(TEST_ACCOUNT, (vec![0u8; 0], DummyExtension).encode()),
-			DummyExtension,
+			TestSig(TEST_ACCOUNT, (vec![0u8; 0], TestExtra).encode()),
+			TestExtra,
 		);
 		let encoded = ux.encode();
 		assert_eq!(Ex::decode(&mut &encoded[..]), Ok(ux));
@@ -691,13 +488,13 @@ mod tests {
 	#[test]
 	fn large_signed_codec_should_work() {
 		let ux = Ex::new_signed(
-			vec![0u8; 0].into(),
+			vec![0u8; 0],
 			TEST_ACCOUNT,
 			TestSig(
 				TEST_ACCOUNT,
-				(vec![0u8; 257], DummyExtension).using_encoded(blake2_256)[..].to_owned(),
+				(vec![0u8; 257], TestExtra).using_encoded(blake2_256)[..].to_owned(),
 			),
-			DummyExtension,
+			TestExtra,
 		);
 		let encoded = ux.encode();
 		assert_eq!(Ex::decode(&mut &encoded[..]), Ok(ux));
@@ -705,63 +502,44 @@ mod tests {
 
 	#[test]
 	fn unsigned_check_should_work() {
-		let ux = Ex::new_inherent(vec![0u8; 0].into());
-		assert!(ux.is_inherent());
-		assert_eq!(
-			<Ex as Checkable<TestContext>>::check(ux, &Default::default()),
-			Ok(CEx { format: ExtrinsicFormat::Bare, function: vec![0u8; 0].into() }),
-		);
+		let ux = Ex::new_unsigned(vec![0u8; 0]);
+		assert!(!ux.is_signed().unwrap_or(false));
+		assert!(<Ex as Checkable<TestContext>>::check(ux, &Default::default()).is_ok());
 	}
 
 	#[test]
 	fn badly_signed_check_should_fail() {
 		let ux = Ex::new_signed(
-			vec![0u8; 0].into(),
+			vec![0u8; 0],
 			TEST_ACCOUNT,
-			TestSig(TEST_ACCOUNT, vec![0u8; 0].into()),
-			DummyExtension,
+			TestSig(TEST_ACCOUNT, vec![0u8; 0]),
+			TestExtra,
 		);
-		assert!(!ux.is_inherent());
+		assert!(ux.is_signed().unwrap_or(false));
 		assert_eq!(
 			<Ex as Checkable<TestContext>>::check(ux, &Default::default()),
 			Err(InvalidTransaction::BadProof.into()),
 		);
 	}
 
-	#[test]
-	fn transaction_check_should_work() {
-		let ux = Ex::new_transaction(vec![0u8; 0].into(), DummyExtension);
-		assert!(!ux.is_inherent());
-		assert_eq!(
-			<Ex as Checkable<TestContext>>::check(ux, &Default::default()),
-			Ok(CEx {
-				format: ExtrinsicFormat::General(DummyExtension),
-				function: vec![0u8; 0].into()
-			}),
-		);
-	}
-
 	#[test]
 	fn signed_check_should_work() {
 		let ux = Ex::new_signed(
-			vec![0u8; 0].into(),
+			vec![0u8; 0],
 			TEST_ACCOUNT,
-			TestSig(TEST_ACCOUNT, (vec![0u8; 0], DummyExtension).encode()),
-			DummyExtension,
+			TestSig(TEST_ACCOUNT, (vec![0u8; 0], TestExtra).encode()),
+			TestExtra,
 		);
-		assert!(!ux.is_inherent());
+		assert!(ux.is_signed().unwrap_or(false));
 		assert_eq!(
 			<Ex as Checkable<TestContext>>::check(ux, &Default::default()),
-			Ok(CEx {
-				format: ExtrinsicFormat::Signed(TEST_ACCOUNT, DummyExtension),
-				function: vec![0u8; 0].into()
-			}),
+			Ok(CEx { signed: Some((TEST_ACCOUNT, TestExtra)), function: vec![0u8; 0] }),
 		);
 	}
 
 	#[test]
 	fn encoding_matches_vec() {
-		let ex = Ex::new_inherent(vec![0u8; 0].into());
+		let ex = Ex::new_unsigned(vec![0u8; 0]);
 		let encoded = ex.encode();
 		let decoded = Ex::decode(&mut encoded.as_slice()).unwrap();
 		assert_eq!(decoded, ex);
@@ -771,7 +549,7 @@ mod tests {
 
 	#[test]
 	fn conversion_to_opaque() {
-		let ux = Ex::new_inherent(vec![0u8; 0].into());
+		let ux = Ex::new_unsigned(vec![0u8; 0]);
 		let encoded = ux.encode();
 		let opaque: OpaqueExtrinsic = ux.into();
 		let opaque_encoded = opaque.encode();
@@ -780,62 +558,10 @@ mod tests {
 
 	#[test]
 	fn large_bad_prefix_should_work() {
-		let encoded = (Compact::<u32>::from(u32::MAX), Preamble::<(), (), ()>::Bare).encode();
-		assert!(Ex::decode(&mut &encoded[..]).is_err());
-	}
-
-	#[test]
-	fn legacy_signed_encode_decode() {
-		let call: TestCall = vec![0u8; 0].into();
-		let signed = TEST_ACCOUNT;
-		let signature = TestSig(TEST_ACCOUNT, (vec![0u8; 0], DummyExtension).encode());
-		let extension = DummyExtension;
-
-		let new_ux = Ex::new_signed(call.clone(), signed, signature.clone(), extension.clone());
-		let old_ux =
-			OldUncheckedExtrinsic::<TestAccountId, TestCall, TestSig, DummyExtension>::new_signed(
-				call, signed, signature, extension,
-			);
-
-		let encoded_new_ux = new_ux.encode();
-		let encoded_old_ux = old_ux.encode();
-
-		assert_eq!(encoded_new_ux, encoded_old_ux);
-
-		let decoded_new_ux = Ex::decode(&mut &encoded_new_ux[..]).unwrap();
-		let decoded_old_ux =
-			OldUncheckedExtrinsic::<TestAccountId, TestCall, TestSig, DummyExtension>::decode(
-				&mut &encoded_old_ux[..],
-			)
-			.unwrap();
-
-		assert_eq!(new_ux, decoded_new_ux);
-		assert_eq!(old_ux, decoded_old_ux);
-	}
-
-	#[test]
-	fn legacy_unsigned_encode_decode() {
-		let call: TestCall = vec![0u8; 0].into();
-
-		let new_ux = Ex::new_bare(call.clone());
-		let old_ux =
-			OldUncheckedExtrinsic::<TestAccountId, TestCall, TestSig, DummyExtension>::new_unsigned(
-				call,
-			);
-
-		let encoded_new_ux = new_ux.encode();
-		let encoded_old_ux = old_ux.encode();
-
-		assert_eq!(encoded_new_ux, encoded_old_ux);
-
-		let decoded_new_ux = Ex::decode(&mut &encoded_new_ux[..]).unwrap();
-		let decoded_old_ux =
-			OldUncheckedExtrinsic::<TestAccountId, TestCall, TestSig, DummyExtension>::decode(
-				&mut &encoded_old_ux[..],
-			)
-			.unwrap();
-
-		assert_eq!(new_ux, decoded_new_ux);
-		assert_eq!(old_ux, decoded_old_ux);
+		let encoded = Compact::<u32>::from(u32::MAX).encode();
+		assert_eq!(
+			Ex::decode(&mut &encoded[..]),
+			Err(Error::from("Not enough data to fill buffer"))
+		);
 	}
 }
diff --git a/substrate/primitives/runtime/src/lib.rs b/substrate/primitives/runtime/src/lib.rs
index 70605970b4e..44bf3c969e5 100644
--- a/substrate/primitives/runtime/src/lib.rs
+++ b/substrate/primitives/runtime/src/lib.rs
@@ -125,11 +125,6 @@ pub use sp_arithmetic::{
 	Perquintill, Rational128, Rounding, UpperOf,
 };
 
-pub use transaction_validity::{
-	InvalidTransaction, TransactionSource, TransactionValidityError, UnknownTransaction,
-	ValidTransaction,
-};
-
 pub use either::Either;
 
 /// The number of bytes of the module-specific `error` field defined in [`ModuleError`].
@@ -448,21 +443,21 @@ impl std::fmt::Display for MultiSigner {
 impl Verify for MultiSignature {
 	type Signer = MultiSigner;
 	fn verify<L: Lazy<[u8]>>(&self, mut msg: L, signer: &AccountId32) -> bool {
-		match self {
-			Self::Ed25519(ref sig) => match ed25519::Public::from_slice(signer.as_ref()) {
+		match (self, signer) {
+			(Self::Ed25519(ref sig), who) => match ed25519::Public::from_slice(who.as_ref()) {
 				Ok(signer) => sig.verify(msg, &signer),
 				Err(()) => false,
 			},
-			Self::Sr25519(ref sig) => match sr25519::Public::from_slice(signer.as_ref()) {
+			(Self::Sr25519(ref sig), who) => match sr25519::Public::from_slice(who.as_ref()) {
 				Ok(signer) => sig.verify(msg, &signer),
 				Err(()) => false,
 			},
-			Self::Ecdsa(ref sig) => {
+			(Self::Ecdsa(ref sig), who) => {
 				let m = sp_io::hashing::blake2_256(msg.get());
 				match sp_io::crypto::secp256k1_ecdsa_recover_compressed(sig.as_ref(), &m) {
 					Ok(pubkey) =>
 						&sp_io::hashing::blake2_256(pubkey.as_ref()) ==
-							<dyn AsRef<[u8; 32]>>::as_ref(signer),
+							<dyn AsRef<[u8; 32]>>::as_ref(who),
 					_ => false,
 				}
 			},
@@ -949,13 +944,9 @@ impl<'a> ::serde::Deserialize<'a> for OpaqueExtrinsic {
 	}
 }
 
-// TODO: OpaqueExtrinsics cannot act like regular extrinsics, right?!
 impl traits::Extrinsic for OpaqueExtrinsic {
 	type Call = ();
 	type SignaturePayload = ();
-	fn is_bare(&self) -> bool {
-		false
-	}
 }
 
 /// Print something that implements `Printable` from the runtime.
diff --git a/substrate/primitives/runtime/src/testing.rs b/substrate/primitives/runtime/src/testing.rs
index 3d6e0b5ab8b..5f94c834a8f 100644
--- a/substrate/primitives/runtime/src/testing.rs
+++ b/substrate/primitives/runtime/src/testing.rs
@@ -21,16 +21,24 @@ use crate::{
 	codec::{Codec, Decode, Encode, MaxEncodedLen},
 	generic,
 	scale_info::TypeInfo,
-	traits::{self, BlakeTwo256, Dispatchable, OpaqueKeys},
-	DispatchResultWithInfo, KeyTypeId,
+	traits::{
+		self, Applyable, BlakeTwo256, Checkable, DispatchInfoOf, Dispatchable, OpaqueKeys,
+		PostDispatchInfoOf, SignaturePayload, SignedExtension, ValidateUnsigned,
+	},
+	transaction_validity::{TransactionSource, TransactionValidity, TransactionValidityError},
+	ApplyExtrinsicResultWithInfo, KeyTypeId,
 };
-use serde::{de::Error as DeError, Deserialize, Deserializer, Serialize};
+use serde::{de::Error as DeError, Deserialize, Deserializer, Serialize, Serializer};
 use sp_core::{
 	crypto::{key_types, ByteArray, CryptoType, Dummy},
 	U256,
 };
 pub use sp_core::{sr25519, H256};
-use std::{cell::RefCell, fmt::Debug};
+use std::{
+	cell::RefCell,
+	fmt::{self, Debug},
+	ops::Deref,
+};
 
 /// A dummy type which can be used instead of regular cryptographic primitives.
 ///
@@ -190,6 +198,42 @@ impl Header {
 	}
 }
 
+/// An opaque extrinsic wrapper type.
+#[derive(PartialEq, Eq, Clone, Debug, Encode, Decode)]
+pub struct ExtrinsicWrapper<Xt>(Xt);
+
+impl<Xt> traits::Extrinsic for ExtrinsicWrapper<Xt> {
+	type Call = ();
+	type SignaturePayload = ();
+
+	fn is_signed(&self) -> Option<bool> {
+		None
+	}
+}
+
+impl<Xt: Encode> serde::Serialize for ExtrinsicWrapper<Xt> {
+	fn serialize<S>(&self, seq: S) -> Result<S::Ok, S::Error>
+	where
+		S: ::serde::Serializer,
+	{
+		self.using_encoded(|bytes| seq.serialize_bytes(bytes))
+	}
+}
+
+impl<Xt> From<Xt> for ExtrinsicWrapper<Xt> {
+	fn from(xt: Xt) -> Self {
+		ExtrinsicWrapper(xt)
+	}
+}
+
+impl<Xt> Deref for ExtrinsicWrapper<Xt> {
+	type Target = Xt;
+
+	fn deref(&self) -> &Self::Target {
+		&self.0
+	}
+}
+
 /// Testing block
 #[derive(PartialEq, Eq, Clone, Serialize, Debug, Encode, Decode, TypeInfo)]
 pub struct Block<Xt> {
@@ -239,22 +283,139 @@ where
 	}
 }
 
-/// Wrapper over a `u64` that can be used as a `RuntimeCall`.
-#[derive(PartialEq, Eq, Debug, Clone, Encode, Decode, TypeInfo)]
-pub struct MockCallU64(pub u64);
+/// The signature payload of a `TestXt`.
+type TxSingaturePayload<Extra> = (u64, Extra);
+
+impl<Extra: TypeInfo> SignaturePayload for TxSingaturePayload<Extra> {
+	type SignatureAddress = u64;
+	type Signature = ();
+	type SignatureExtra = Extra;
+}
+
+/// Test transaction, tuple of (sender, call, signed_extra)
+/// with index only used if sender is some.
+///
+/// If sender is some then the transaction is signed otherwise it is unsigned.
+#[derive(PartialEq, Eq, Clone, Encode, Decode, TypeInfo)]
+pub struct TestXt<Call, Extra> {
+	/// Signature of the extrinsic.
+	pub signature: Option<TxSingaturePayload<Extra>>,
+	/// Call of the extrinsic.
+	pub call: Call,
+}
+
+impl<Call, Extra> TestXt<Call, Extra> {
+	/// Create a new `TextXt`.
+	pub fn new(call: Call, signature: Option<(u64, Extra)>) -> Self {
+		Self { call, signature }
+	}
+}
+
+impl<Call, Extra> Serialize for TestXt<Call, Extra>
+where
+	TestXt<Call, Extra>: Encode,
+{
+	fn serialize<S>(&self, seq: S) -> Result<S::Ok, S::Error>
+	where
+		S: Serializer,
+	{
+		self.using_encoded(|bytes| seq.serialize_bytes(bytes))
+	}
+}
 
-impl Dispatchable for MockCallU64 {
-	type RuntimeOrigin = u64;
-	type Config = ();
-	type Info = ();
-	type PostInfo = ();
-	fn dispatch(self, _origin: Self::RuntimeOrigin) -> DispatchResultWithInfo<Self::PostInfo> {
-		Ok(())
+impl<Call, Extra> Debug for TestXt<Call, Extra> {
+	fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+		write!(f, "TestXt({:?}, ...)", self.signature.as_ref().map(|x| &x.0))
 	}
 }
 
-impl From<u64> for MockCallU64 {
-	fn from(value: u64) -> Self {
-		Self(value)
+impl<Call: Codec + Sync + Send, Context, Extra> Checkable<Context> for TestXt<Call, Extra> {
+	type Checked = Self;
+	fn check(self, _: &Context) -> Result<Self::Checked, TransactionValidityError> {
+		Ok(self)
+	}
+
+	#[cfg(feature = "try-runtime")]
+	fn unchecked_into_checked_i_know_what_i_am_doing(
+		self,
+		_: &Context,
+	) -> Result<Self::Checked, TransactionValidityError> {
+		unreachable!()
+	}
+}
+
+impl<Call: Codec + Sync + Send + TypeInfo, Extra: TypeInfo> traits::Extrinsic
+	for TestXt<Call, Extra>
+{
+	type Call = Call;
+	type SignaturePayload = TxSingaturePayload<Extra>;
+
+	fn is_signed(&self) -> Option<bool> {
+		Some(self.signature.is_some())
+	}
+
+	fn new(c: Call, sig: Option<Self::SignaturePayload>) -> Option<Self> {
+		Some(TestXt { signature: sig, call: c })
+	}
+}
+
+impl<Call, Extra> traits::ExtrinsicMetadata for TestXt<Call, Extra>
+where
+	Call: Codec + Sync + Send,
+	Extra: SignedExtension<AccountId = u64, Call = Call>,
+{
+	type SignedExtensions = Extra;
+	const VERSION: u8 = 0u8;
+}
+
+impl<Origin, Call, Extra> Applyable for TestXt<Call, Extra>
+where
+	Call: 'static
+		+ Sized
+		+ Send
+		+ Sync
+		+ Clone
+		+ Eq
+		+ Codec
+		+ Debug
+		+ Dispatchable<RuntimeOrigin = Origin>,
+	Extra: SignedExtension<AccountId = u64, Call = Call>,
+	Origin: From<Option<u64>>,
+{
+	type Call = Call;
+
+	/// Checks to see if this is a valid *transaction*. It returns information on it if so.
+	fn validate<U: ValidateUnsigned<Call = Self::Call>>(
+		&self,
+		source: TransactionSource,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> TransactionValidity {
+		if let Some((ref id, ref extra)) = self.signature {
+			Extra::validate(extra, id, &self.call, info, len)
+		} else {
+			let valid = Extra::validate_unsigned(&self.call, info, len)?;
+			let unsigned_validation = U::validate_unsigned(source, &self.call)?;
+			Ok(valid.combine_with(unsigned_validation))
+		}
+	}
+
+	/// Executes all necessary logic needed prior to dispatch and deconstructs into function call,
+	/// index and sender.
+	fn apply<U: ValidateUnsigned<Call = Self::Call>>(
+		self,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> ApplyExtrinsicResultWithInfo<PostDispatchInfoOf<Self::Call>> {
+		let maybe_who = if let Some((who, extra)) = self.signature {
+			Extra::pre_dispatch(extra, &who, &self.call, info, len)?;
+			Some(who)
+		} else {
+			Extra::pre_dispatch_unsigned(&self.call, info, len)?;
+			U::pre_dispatch(&self.call)?;
+			None
+		};
+
+		Ok(self.call.dispatch(maybe_who.into()))
 	}
 }
diff --git a/substrate/primitives/runtime/src/traits/mod.rs b/substrate/primitives/runtime/src/traits.rs
similarity index 94%
rename from substrate/primitives/runtime/src/traits/mod.rs
rename to substrate/primitives/runtime/src/traits.rs
index b217166d8de..caede5e2b59 100644
--- a/substrate/primitives/runtime/src/traits/mod.rs
+++ b/substrate/primitives/runtime/src/traits.rs
@@ -19,7 +19,7 @@
 
 use crate::{
 	generic::Digest,
-	scale_info::{StaticTypeInfo, TypeInfo},
+	scale_info::{MetaType, StaticTypeInfo, TypeInfo},
 	transaction_validity::{
 		TransactionSource, TransactionValidity, TransactionValidityError, UnknownTransaction,
 		ValidTransaction,
@@ -52,12 +52,6 @@ use std::fmt::Display;
 #[cfg(feature = "std")]
 use std::str::FromStr;
 
-pub mod transaction_extension;
-pub use transaction_extension::{
-	DispatchTransaction, TransactionExtension, TransactionExtensionBase,
-	TransactionExtensionInterior, TransactionExtensionMetadata, ValidateResult,
-};
-
 /// A lazy value.
 pub trait Lazy<T: ?Sized> {
 	/// Get a reference to the underlying value.
@@ -1259,7 +1253,7 @@ pub trait Header:
 // that is then used to define `UncheckedExtrinsic`.
 // ```ignore
 // pub type UncheckedExtrinsic =
-// 	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+// 	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 // ```
 // This `UncheckedExtrinsic` is supplied to the `Block`.
 // ```ignore
@@ -1329,31 +1323,19 @@ pub trait Extrinsic: Sized {
 
 	/// Is this `Extrinsic` signed?
 	/// If no information are available about signed/unsigned, `None` should be returned.
-	#[deprecated = "Use and implement `!is_bare()` instead"]
 	fn is_signed(&self) -> Option<bool> {
 		None
 	}
 
-	/// Returns `true` if this `Extrinsic` is bare.
-	fn is_bare(&self) -> bool {
-		#[allow(deprecated)]
-		!self
-			.is_signed()
-			.expect("`is_signed` must return `Some` on production extrinsics; qed")
-	}
-
-	/// Create a new old-school extrinsic, either a bare extrinsic if `_signed_data` is `None` or
-	/// a signed transaction is it is `Some`.
-	#[deprecated = "Use `new_inherent` or the `CreateTransaction` trait instead"]
+	/// Create new instance of the extrinsic.
+	///
+	/// Extrinsics can be split into:
+	/// 1. Inherents (no signature; created by validators during block production)
+	/// 2. Unsigned Transactions (no signature; represent "system calls" or other special kinds of
+	/// calls) 3. Signed Transactions (with signature; a regular transactions with known origin)
 	fn new(_call: Self::Call, _signed_data: Option<Self::SignaturePayload>) -> Option<Self> {
 		None
 	}
-
-	/// Create a new inherent extrinsic.
-	fn new_inherent(function: Self::Call) -> Self {
-		#[allow(deprecated)]
-		Self::new(function, None).expect("Extrinsic must provide inherents; qed")
-	}
 }
 
 /// Something that acts like a [`SignaturePayload`](Extrinsic::SignaturePayload) of an
@@ -1389,8 +1371,7 @@ pub trait ExtrinsicMetadata {
 	const VERSION: u8;
 
 	/// Signed extensions attached to this `Extrinsic`.
-	// TODO: metadata-v16: rename to `Extension`.
-	type Extra;
+	type SignedExtensions: SignedExtension;
 }
 
 /// Extract the hashing type for a block.
@@ -1475,8 +1456,6 @@ pub trait Dispatchable {
 		-> crate::DispatchResultWithInfo<Self::PostInfo>;
 }
 
-/// Shortcut to reference the `Origin` type of a `Dispatchable`.
-pub type OriginOf<T> = <T as Dispatchable>::RuntimeOrigin;
 /// Shortcut to reference the `Info` type of a `Dispatchable`.
 pub type DispatchInfoOf<T> = <T as Dispatchable>::Info;
 /// Shortcut to reference the `PostInfo` type of a `Dispatchable`.
@@ -1495,49 +1474,8 @@ impl Dispatchable for () {
 	}
 }
 
-/// Dispatchable impl containing an arbitrary value which panics if it actually is dispatched.
-#[derive(Clone, Eq, PartialEq, Encode, Decode, RuntimeDebug, TypeInfo)]
-pub struct FakeDispatchable<Inner>(pub Inner);
-impl<Inner> From<Inner> for FakeDispatchable<Inner> {
-	fn from(inner: Inner) -> Self {
-		Self(inner)
-	}
-}
-impl<Inner> FakeDispatchable<Inner> {
-	/// Take `self` and return the underlying inner value.
-	pub fn deconstruct(self) -> Inner {
-		self.0
-	}
-}
-impl<Inner> AsRef<Inner> for FakeDispatchable<Inner> {
-	fn as_ref(&self) -> &Inner {
-		&self.0
-	}
-}
-
-impl<Inner> Dispatchable for FakeDispatchable<Inner> {
-	type RuntimeOrigin = ();
-	type Config = ();
-	type Info = ();
-	type PostInfo = ();
-	fn dispatch(
-		self,
-		_origin: Self::RuntimeOrigin,
-	) -> crate::DispatchResultWithInfo<Self::PostInfo> {
-		panic!("This implementation should not be used for actual dispatch.");
-	}
-}
-
-/// Runtime Origin which includes a System Origin variant whose `AccountId` is the parameter.
-pub trait AsSystemOriginSigner<AccountId> {
-	/// Extract a reference of the inner value of the System `Origin::Signed` variant, if self has
-	/// that variant.
-	fn as_system_origin_signer(&self) -> Option<&AccountId>;
-}
-
 /// Means by which a transaction may be extended. This type embodies both the data and the logic
 /// that should be additionally associated with the transaction. It should be plain old data.
-#[deprecated = "Use `TransactionExtension` instead."]
 pub trait SignedExtension:
 	Codec + Debug + Sync + Send + Clone + Eq + PartialEq + StaticTypeInfo
 {
@@ -1555,7 +1493,7 @@ pub trait SignedExtension:
 
 	/// Any additional data that will go into the signed payload. This may be created dynamically
 	/// from the transaction using the `additional_signed` function.
-	type AdditionalSigned: Codec + TypeInfo;
+	type AdditionalSigned: Encode + TypeInfo;
 
 	/// The type that encodes information that can be passed from pre_dispatch to post-dispatch.
 	type Pre;
@@ -1594,6 +1532,38 @@ pub trait SignedExtension:
 		len: usize,
 	) -> Result<Self::Pre, TransactionValidityError>;
 
+	/// Validate an unsigned transaction for the transaction queue.
+	///
+	/// This function can be called frequently by the transaction queue
+	/// to obtain transaction validity against current state.
+	/// It should perform all checks that determine a valid unsigned transaction,
+	/// and quickly eliminate ones that are stale or incorrect.
+	///
+	/// Make sure to perform the same checks in `pre_dispatch_unsigned` function.
+	fn validate_unsigned(
+		_call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
+		_len: usize,
+	) -> TransactionValidity {
+		Ok(ValidTransaction::default())
+	}
+
+	/// Do any pre-flight stuff for a unsigned transaction.
+	///
+	/// Note this function by default delegates to `validate_unsigned`, so that
+	/// all checks performed for the transaction queue are also performed during
+	/// the dispatch phase (applying the extrinsic).
+	///
+	/// If you ever override this function, you need to make sure to always
+	/// perform the same validation as in `validate_unsigned`.
+	fn pre_dispatch_unsigned(
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<(), TransactionValidityError> {
+		Self::validate_unsigned(call, info, len).map(|_| ()).map_err(Into::into)
+	}
+
 	/// Do any post-flight stuff for an extrinsic.
 	///
 	/// If the transaction is signed, then `_pre` will contain the output of `pre_dispatch`,
@@ -1624,47 +1594,126 @@ pub trait SignedExtension:
 	///
 	/// As a [`SignedExtension`] can be a tuple of [`SignedExtension`]s we need to return a `Vec`
 	/// that holds the metadata of each one. Each individual `SignedExtension` must return
-	/// *exactly* one [`TransactionExtensionMetadata`].
+	/// *exactly* one [`SignedExtensionMetadata`].
 	///
 	/// This method provides a default implementation that returns a vec containing a single
-	/// [`TransactionExtensionMetadata`].
-	fn metadata() -> Vec<TransactionExtensionMetadata> {
-		sp_std::vec![TransactionExtensionMetadata {
+	/// [`SignedExtensionMetadata`].
+	fn metadata() -> Vec<SignedExtensionMetadata> {
+		sp_std::vec![SignedExtensionMetadata {
 			identifier: Self::IDENTIFIER,
 			ty: scale_info::meta_type::<Self>(),
 			additional_signed: scale_info::meta_type::<Self::AdditionalSigned>()
 		}]
 	}
+}
+
+/// Information about a [`SignedExtension`] for the runtime metadata.
+pub struct SignedExtensionMetadata {
+	/// The unique identifier of the [`SignedExtension`].
+	pub identifier: &'static str,
+	/// The type of the [`SignedExtension`].
+	pub ty: MetaType,
+	/// The type of the [`SignedExtension`] additional signed data for the payload.
+	pub additional_signed: MetaType,
+}
+
+#[impl_for_tuples(1, 12)]
+impl<AccountId, Call: Dispatchable> SignedExtension for Tuple {
+	for_tuples!( where #( Tuple: SignedExtension<AccountId=AccountId, Call=Call,> )* );
+	type AccountId = AccountId;
+	type Call = Call;
+	const IDENTIFIER: &'static str = "You should call `identifier()`!";
+	for_tuples!( type AdditionalSigned = ( #( Tuple::AdditionalSigned ),* ); );
+	for_tuples!( type Pre = ( #( Tuple::Pre ),* ); );
+
+	fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
+		Ok(for_tuples!( ( #( Tuple.additional_signed()? ),* ) ))
+	}
+
+	fn validate(
+		&self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> TransactionValidity {
+		let valid = ValidTransaction::default();
+		for_tuples!( #( let valid = valid.combine_with(Tuple.validate(who, call, info, len)?); )* );
+		Ok(valid)
+	}
+
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		Ok(for_tuples!( ( #( Tuple.pre_dispatch(who, call, info, len)? ),* ) ))
+	}
 
-	/// Validate an unsigned transaction for the transaction queue.
-	///
-	/// This function can be called frequently by the transaction queue
-	/// to obtain transaction validity against current state.
-	/// It should perform all checks that determine a valid unsigned transaction,
-	/// and quickly eliminate ones that are stale or incorrect.
 	fn validate_unsigned(
-		_call: &Self::Call,
-		_info: &DispatchInfoOf<Self::Call>,
-		_len: usize,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
 	) -> TransactionValidity {
-		Ok(ValidTransaction::default())
+		let valid = ValidTransaction::default();
+		for_tuples!( #( let valid = valid.combine_with(Tuple::validate_unsigned(call, info, len)?); )* );
+		Ok(valid)
 	}
 
-	/// Do any pre-flight stuff for an unsigned transaction.
-	///
-	/// Note this function by default delegates to `validate_unsigned`, so that
-	/// all checks performed for the transaction queue are also performed during
-	/// the dispatch phase (applying the extrinsic).
-	///
-	/// If you ever override this function, you need not perform the same validation as in
-	/// `validate_unsigned`.
 	fn pre_dispatch_unsigned(
-		_call: &Self::Call,
-		_info: &DispatchInfoOf<Self::Call>,
-		_len: usize,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
 	) -> Result<(), TransactionValidityError> {
+		for_tuples!( #( Tuple::pre_dispatch_unsigned(call, info, len)?; )* );
 		Ok(())
 	}
+
+	fn post_dispatch(
+		pre: Option<Self::Pre>,
+		info: &DispatchInfoOf<Self::Call>,
+		post_info: &PostDispatchInfoOf<Self::Call>,
+		len: usize,
+		result: &DispatchResult,
+	) -> Result<(), TransactionValidityError> {
+		match pre {
+			Some(x) => {
+				for_tuples!( #( Tuple::post_dispatch(Some(x.Tuple), info, post_info, len, result)?; )* );
+			},
+			None => {
+				for_tuples!( #( Tuple::post_dispatch(None, info, post_info, len, result)?; )* );
+			},
+		}
+		Ok(())
+	}
+
+	fn metadata() -> Vec<SignedExtensionMetadata> {
+		let mut ids = Vec::new();
+		for_tuples!( #( ids.extend(Tuple::metadata()); )* );
+		ids
+	}
+}
+
+impl SignedExtension for () {
+	type AccountId = u64;
+	type AdditionalSigned = ();
+	type Call = ();
+	type Pre = ();
+	const IDENTIFIER: &'static str = "UnitSignedExtension";
+	fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> {
+		Ok(())
+	}
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		self.validate(who, call, info, len).map(|_| ())
+	}
 }
 
 /// An "executable" piece of information, used by the standard Substrate Executive in order to
@@ -1713,7 +1762,6 @@ pub trait GetNodeBlockType {
 /// function is called right before dispatching the call wrapped by an unsigned extrinsic. The
 /// [`validate_unsigned`](Self::validate_unsigned) function is mainly being used in the context of
 /// the transaction pool to check the validity of the call wrapped by an unsigned extrinsic.
-// TODO: Rename to ValidateBareTransaction (or just remove).
 pub trait ValidateUnsigned {
 	/// The call to validate
 	type Call;
diff --git a/substrate/primitives/runtime/src/traits/transaction_extension/as_transaction_extension.rs b/substrate/primitives/runtime/src/traits/transaction_extension/as_transaction_extension.rs
deleted file mode 100644
index a834e88c0b4..00000000000
--- a/substrate/primitives/runtime/src/traits/transaction_extension/as_transaction_extension.rs
+++ /dev/null
@@ -1,133 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! The [AsTransactionExtension] adapter struct for adapting [SignedExtension]s to
-//! [TransactionExtension]s.
-
-#![allow(deprecated)]
-
-use scale_info::TypeInfo;
-use sp_core::RuntimeDebug;
-
-use crate::{
-	traits::{AsSystemOriginSigner, SignedExtension, ValidateResult},
-	InvalidTransaction,
-};
-
-use super::*;
-
-/// Adapter to use a `SignedExtension` in the place of a `TransactionExtension`.
-#[derive(TypeInfo, Encode, Decode, Clone, PartialEq, Eq, RuntimeDebug)]
-#[deprecated = "Convert your SignedExtension to a TransactionExtension."]
-pub struct AsTransactionExtension<SE: SignedExtension>(pub SE);
-
-impl<SE: SignedExtension + Default> Default for AsTransactionExtension<SE> {
-	fn default() -> Self {
-		Self(SE::default())
-	}
-}
-
-impl<SE: SignedExtension> From<SE> for AsTransactionExtension<SE> {
-	fn from(value: SE) -> Self {
-		Self(value)
-	}
-}
-
-impl<SE: SignedExtension> TransactionExtensionBase for AsTransactionExtension<SE> {
-	const IDENTIFIER: &'static str = SE::IDENTIFIER;
-	type Implicit = SE::AdditionalSigned;
-
-	fn implicit(&self) -> Result<Self::Implicit, TransactionValidityError> {
-		self.0.additional_signed()
-	}
-	fn metadata() -> Vec<TransactionExtensionMetadata> {
-		SE::metadata()
-	}
-}
-
-impl<SE: SignedExtension, Context> TransactionExtension<SE::Call, Context>
-	for AsTransactionExtension<SE>
-where
-	<SE::Call as Dispatchable>::RuntimeOrigin: AsSystemOriginSigner<SE::AccountId> + Clone,
-{
-	type Val = ();
-	type Pre = SE::Pre;
-
-	fn validate(
-		&self,
-		origin: <SE::Call as Dispatchable>::RuntimeOrigin,
-		call: &SE::Call,
-		info: &DispatchInfoOf<SE::Call>,
-		len: usize,
-		_context: &mut Context,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> ValidateResult<Self::Val, SE::Call> {
-		let who = origin.as_system_origin_signer().ok_or(InvalidTransaction::BadSigner)?;
-		let r = self.0.validate(who, call, info, len)?;
-		Ok((r, (), origin))
-	}
-
-	fn prepare(
-		self,
-		_: (),
-		origin: &<SE::Call as Dispatchable>::RuntimeOrigin,
-		call: &SE::Call,
-		info: &DispatchInfoOf<SE::Call>,
-		len: usize,
-		_context: &Context,
-	) -> Result<Self::Pre, TransactionValidityError> {
-		let who = origin.as_system_origin_signer().ok_or(InvalidTransaction::BadSigner)?;
-		self.0.pre_dispatch(who, call, info, len)
-	}
-
-	fn post_dispatch(
-		pre: Self::Pre,
-		info: &DispatchInfoOf<SE::Call>,
-		post_info: &PostDispatchInfoOf<SE::Call>,
-		len: usize,
-		result: &DispatchResult,
-		_context: &Context,
-	) -> Result<(), TransactionValidityError> {
-		SE::post_dispatch(Some(pre), info, post_info, len, result)
-	}
-
-	fn validate_bare_compat(
-		call: &SE::Call,
-		info: &DispatchInfoOf<SE::Call>,
-		len: usize,
-	) -> TransactionValidity {
-		SE::validate_unsigned(call, info, len)
-	}
-
-	fn pre_dispatch_bare_compat(
-		call: &SE::Call,
-		info: &DispatchInfoOf<SE::Call>,
-		len: usize,
-	) -> Result<(), TransactionValidityError> {
-		SE::pre_dispatch_unsigned(call, info, len)
-	}
-
-	fn post_dispatch_bare_compat(
-		info: &DispatchInfoOf<SE::Call>,
-		post_info: &PostDispatchInfoOf<SE::Call>,
-		len: usize,
-		result: &DispatchResult,
-	) -> Result<(), TransactionValidityError> {
-		SE::post_dispatch(None, info, post_info, len, result)
-	}
-}
diff --git a/substrate/primitives/runtime/src/traits/transaction_extension/dispatch_transaction.rs b/substrate/primitives/runtime/src/traits/transaction_extension/dispatch_transaction.rs
deleted file mode 100644
index 8efa586aa0e..00000000000
--- a/substrate/primitives/runtime/src/traits/transaction_extension/dispatch_transaction.rs
+++ /dev/null
@@ -1,141 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! The [DispatchTransaction] trait.
-
-use super::*;
-
-/// Single-function utility trait with a blanket impl over [TransactionExtension] in order to
-/// provide transaction dispatching functionality. We avoid implementing this directly on the trait
-/// since we never want it to be overriden by the trait implementation.
-pub trait DispatchTransaction<Call: Dispatchable> {
-	/// The origin type of the transaction.
-	type Origin;
-	/// The info type.
-	type Info;
-	/// The resultant type.
-	type Result;
-	/// The `Val` of the extension.
-	type Val;
-	/// The `Pre` of the extension.
-	type Pre;
-	/// Just validate a transaction.
-	///
-	/// The is basically the same as [validate](TransactionExtension::validate), except that there
-	/// is no need to supply the bond data.
-	fn validate_only(
-		&self,
-		origin: Self::Origin,
-		call: &Call,
-		info: &Self::Info,
-		len: usize,
-	) -> Result<(ValidTransaction, Self::Val, Self::Origin), TransactionValidityError>;
-	/// Prepare and validate a transaction, ready for dispatch.
-	fn validate_and_prepare(
-		self,
-		origin: Self::Origin,
-		call: &Call,
-		info: &Self::Info,
-		len: usize,
-	) -> Result<(Self::Pre, Self::Origin), TransactionValidityError>;
-	/// Dispatch a transaction with the given base origin and call.
-	fn dispatch_transaction(
-		self,
-		origin: Self::Origin,
-		call: Call,
-		info: &Self::Info,
-		len: usize,
-	) -> Self::Result;
-	/// Do everything which would be done in a [dispatch_transaction](Self::dispatch_transaction),
-	/// but instead of executing the call, execute `substitute` instead. Since this doesn't actually
-	/// dispatch the call, it doesn't need to consume it and so `call` can be passed as a reference.
-	fn test_run(
-		self,
-		origin: Self::Origin,
-		call: &Call,
-		info: &Self::Info,
-		len: usize,
-		substitute: impl FnOnce(
-			Self::Origin,
-		) -> crate::DispatchResultWithInfo<<Call as Dispatchable>::PostInfo>,
-	) -> Self::Result;
-}
-
-impl<T: TransactionExtension<Call, ()>, Call: Dispatchable + Encode> DispatchTransaction<Call>
-	for T
-{
-	type Origin = <Call as Dispatchable>::RuntimeOrigin;
-	type Info = DispatchInfoOf<Call>;
-	type Result = crate::ApplyExtrinsicResultWithInfo<PostDispatchInfoOf<Call>>;
-	type Val = T::Val;
-	type Pre = T::Pre;
-
-	fn validate_only(
-		&self,
-		origin: Self::Origin,
-		call: &Call,
-		info: &DispatchInfoOf<Call>,
-		len: usize,
-	) -> Result<(ValidTransaction, T::Val, Self::Origin), TransactionValidityError> {
-		self.validate(origin, call, info, len, &mut (), self.implicit()?, call)
-	}
-	fn validate_and_prepare(
-		self,
-		origin: Self::Origin,
-		call: &Call,
-		info: &DispatchInfoOf<Call>,
-		len: usize,
-	) -> Result<(T::Pre, Self::Origin), TransactionValidityError> {
-		let (_, val, origin) = self.validate_only(origin, call, info, len)?;
-		let pre = self.prepare(val, &origin, &call, info, len, &())?;
-		Ok((pre, origin))
-	}
-	fn dispatch_transaction(
-		self,
-		origin: <Call as Dispatchable>::RuntimeOrigin,
-		call: Call,
-		info: &DispatchInfoOf<Call>,
-		len: usize,
-	) -> Self::Result {
-		let (pre, origin) = self.validate_and_prepare(origin, &call, info, len)?;
-		let res = call.dispatch(origin);
-		let post_info = res.unwrap_or_else(|err| err.post_info);
-		let pd_res = res.map(|_| ()).map_err(|e| e.error);
-		T::post_dispatch(pre, info, &post_info, len, &pd_res, &())?;
-		Ok(res)
-	}
-	fn test_run(
-		self,
-		origin: Self::Origin,
-		call: &Call,
-		info: &Self::Info,
-		len: usize,
-		substitute: impl FnOnce(
-			Self::Origin,
-		) -> crate::DispatchResultWithInfo<<Call as Dispatchable>::PostInfo>,
-	) -> Self::Result {
-		let (pre, origin) = self.validate_and_prepare(origin, &call, info, len)?;
-		let res = substitute(origin);
-		let post_info = match res {
-			Ok(info) => info,
-			Err(err) => err.post_info,
-		};
-		let pd_res = res.map(|_| ()).map_err(|e| e.error);
-		T::post_dispatch(pre, info, &post_info, len, &pd_res, &())?;
-		Ok(res)
-	}
-}
diff --git a/substrate/primitives/runtime/src/traits/transaction_extension/mod.rs b/substrate/primitives/runtime/src/traits/transaction_extension/mod.rs
deleted file mode 100644
index 69a0ba18adb..00000000000
--- a/substrate/primitives/runtime/src/traits/transaction_extension/mod.rs
+++ /dev/null
@@ -1,526 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// 	http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! The transaction extension trait.
-
-use crate::{
-	scale_info::{MetaType, StaticTypeInfo},
-	transaction_validity::{TransactionValidity, TransactionValidityError, ValidTransaction},
-	DispatchResult,
-};
-use codec::{Codec, Decode, Encode};
-use impl_trait_for_tuples::impl_for_tuples;
-#[doc(hidden)]
-pub use sp_std::marker::PhantomData;
-use sp_std::{self, fmt::Debug, prelude::*};
-use sp_weights::Weight;
-use tuplex::{PopFront, PushBack};
-
-use super::{DispatchInfoOf, Dispatchable, OriginOf, PostDispatchInfoOf};
-
-mod as_transaction_extension;
-mod dispatch_transaction;
-#[allow(deprecated)]
-pub use as_transaction_extension::AsTransactionExtension;
-pub use dispatch_transaction::DispatchTransaction;
-
-/// Shortcut for the result value of the `validate` function.
-pub type ValidateResult<Val, Call> =
-	Result<(ValidTransaction, Val, OriginOf<Call>), TransactionValidityError>;
-
-/// Simple blanket implementation trait to denote the bounds of a type which can be contained within
-/// a [`TransactionExtension`].
-pub trait TransactionExtensionInterior:
-	Codec + Debug + Sync + Send + Clone + Eq + PartialEq + StaticTypeInfo
-{
-}
-impl<T: Codec + Debug + Sync + Send + Clone + Eq + PartialEq + StaticTypeInfo>
-	TransactionExtensionInterior for T
-{
-}
-
-/// Base for [TransactionExtension]s; this contains the associated types and does not require any
-/// generic parameterization.
-pub trait TransactionExtensionBase: TransactionExtensionInterior {
-	/// Unique identifier of this signed extension.
-	///
-	/// This will be exposed in the metadata to identify the signed extension used in an extrinsic.
-	const IDENTIFIER: &'static str;
-
-	/// Any additional data which was known at the time of transaction construction and can be
-	/// useful in authenticating the transaction. This is determined dynamically in part from the
-	/// on-chain environment using the `implicit` function and not directly contained in the
-	/// transaction itself and therefore is considered "implicit".
-	type Implicit: Codec + StaticTypeInfo;
-
-	/// Determine any additional data which was known at the time of transaction construction and
-	/// can be useful in authenticating the transaction. The expected usage of this is to include in
-	/// any data which is signed and verified as part of transactiob validation. Also perform any
-	/// pre-signature-verification checks and return an error if needed.
-	fn implicit(&self) -> Result<Self::Implicit, TransactionValidityError> {
-		use crate::InvalidTransaction::IndeterminateImplicit;
-		Ok(Self::Implicit::decode(&mut &[][..]).map_err(|_| IndeterminateImplicit)?)
-	}
-
-	/// The weight consumed by executing this extension instance fully during transaction dispatch.
-	fn weight(&self) -> Weight {
-		Weight::zero()
-	}
-
-	/// Returns the metadata for this extension.
-	///
-	/// As a [`TransactionExtension`] can be a tuple of [`TransactionExtension`]s we need to return
-	/// a `Vec` that holds the metadata of each one. Each individual `TransactionExtension` must
-	/// return *exactly* one [`TransactionExtensionMetadata`].
-	///
-	/// This method provides a default implementation that returns a vec containing a single
-	/// [`TransactionExtensionMetadata`].
-	fn metadata() -> Vec<TransactionExtensionMetadata> {
-		sp_std::vec![TransactionExtensionMetadata {
-			identifier: Self::IDENTIFIER,
-			ty: scale_info::meta_type::<Self>(),
-			// TODO: Metadata-v16: Rename to "implicit"
-			additional_signed: scale_info::meta_type::<Self::Implicit>()
-		}]
-	}
-}
-
-/// Means by which a transaction may be extended. This type embodies both the data and the logic
-/// that should be additionally associated with the transaction. It should be plain old data.
-///
-/// The simplest transaction extension would be the Unit type (and empty pipeline) `()`. This
-/// executes no additional logic and implies a dispatch of the transaction's call using the
-/// inherited origin (either `None` or `Signed`, depending on whether this is a signed or general
-/// transaction).
-///
-/// Transaction extensions are capable of altering certain associated semantics:
-///
-/// - They may define the origin with which the transaction's call should be dispatched.
-/// - They may define various parameters used by the transction queue to determine under what
-///   conditions the transaction should be retained and introduced on-chain.
-/// - They may define whether this transaction is acceptable for introduction on-chain at all.
-///
-/// Each of these semantics are defined by the `validate` function.
-///
-/// **NOTE: Transaction extensions cannot under any circumctances alter the call itself.**
-///
-/// Transaction extensions are capable of defining logic which is executed additionally to the
-/// dispatch of the call:
-///
-/// - They may define logic which must be executed prior to the dispatch of the call.
-/// - They may also define logic which must be executed after the dispatch of the call.
-///
-/// Each of these semantics are defined by the `prepare` and `post_dispatch` functions respectively.
-///
-/// Finally, transaction extensions may define additional data to help define the implications of
-/// the logic they introduce. This additional data may be explicitly defined by the transaction
-/// author (in which case it is included as part of the transaction body), or it may be implicitly
-/// defined by the transaction extension based around the on-chain state (which the transaction
-/// author is assumed to know). This data may be utilized by the above logic to alter how a node's
-/// transaction queue treats this transaction.
-///
-/// ## Default implementations
-///
-/// Of the 5 functions in this trait, 3 of them must return a value of an associated type on
-/// success, and none of these types implement [Default] or anything like it. This means that
-/// default implementations cannot be provided for these functions. However, a macro is provided
-/// [impl_tx_ext_default](crate::impl_tx_ext_default) which is capable of generating default
-/// implementations for each of these 3 functions. If you do not wish to introduce additional logic
-/// into the transaction pipeline, then it is recommended that you use this macro to implement these
-/// functions.
-///
-/// ## Pipelines, Inherited Implications, and Authorized Origins
-///
-/// Requiring a single transaction extension to define all of the above semantics would be
-/// cumbersome and would lead to a lot of boilerplate. Instead, transaction extensions are
-/// aggregated into pipelines, which are tuples of transaction extensions. Each extension in the
-/// pipeline is executed in order, and the output of each extension is aggregated and/or relayed as
-/// the input to the next extension in the pipeline.
-///
-/// This ordered composition happens with all datatypes ([Val](TransactionExtension::Val),
-/// [Pre](TransactionExtension::Pre) and [Implicit](TransactionExtensionBase::Implicit)) as well as
-/// all functions. There are important consequences stemming from how the composition affects the
-/// meaning of the `origin` and `implication` parameters as well as the results. Whereas the
-/// [prepare](TransactionExtension::prepare) and
-/// [post_dispatch](TransactionExtension::post_dispatch) functions are clear in their meaning, the
-/// [validate](TransactionExtension::validate) function is fairly sophisticated and warrants
-/// further explanation.
-///
-/// Firstly, the `origin` parameter. The `origin` passed into the first item in a pipeline is simply
-/// that passed into the tuple itself. It represents an authority who has authorized the implication
-/// of the transaction, as of the extension it has been passed into *and any further extensions it
-/// may pass though, all the way to, and including, the transaction's dispatch call itself. Each
-/// following item in the pipeline is passed the origin which the previous item returned. The origin
-/// returned from the final item in the pipeline is the origin which is returned by the tuple
-/// itself.
-///
-/// This means that if a constituent extension returns a different origin to the one it was called
-/// with, then (assuming no other extension changes it further) *this new origin will be used for
-/// all extensions following it in the pipeline, and will be returned from the pipeline to be used
-/// as the origin for the call's dispatch*. The call itself as well as all these extensions
-/// following may each imply consequence for this origin. We call this the *inherited implication*.
-///
-/// The *inherited implication* is the cumulated on-chain effects born by whatever origin is
-/// returned. It is expressed to the [validate](TransactionExtension::validate) function only as the
-/// `implication` argument which implements the [Encode] trait. A transaction extension may define
-/// its own implications through its own fields and the
-/// [implicit](TransactionExtensionBase::implicit) function. This is only utilized by extensions
-/// which preceed it in a pipeline or, if the transaction is an old-school signed trasnaction, the
-/// underlying transaction verification logic.
-///
-/// **The inherited implication passed as the `implication` parameter to
-/// [validate](TransactionExtension::validate) does not include the extension's inner data itself
-/// nor does it include the result of the extension's `implicit` function.** If you both provide an
-/// implication and rely on the implication, then you need to manually aggregate your extensions
-/// implication with the aggregated implication passed in.
-pub trait TransactionExtension<Call: Dispatchable, Context>: TransactionExtensionBase {
-	/// The type that encodes information that can be passed from validate to prepare.
-	type Val;
-
-	/// The type that encodes information that can be passed from prepare to post-dispatch.
-	type Pre;
-
-	/// Validate a transaction for the transaction queue.
-	///
-	/// This function can be called frequently by the transaction queue to obtain transaction
-	/// validity against current state. It should perform all checks that determine a valid
-	/// transaction, that can pay for its execution and quickly eliminate ones that are stale or
-	/// incorrect.
-	///
-	/// Parameters:
-	/// - `origin`: The origin of the transaction which this extension inherited; coming from an
-	///   "old-school" *signed transaction*, this will be a system `RawOrigin::Signed` value. If the
-	///   transaction is a "new-school" *General Transaction*, then this will be a system
-	///   `RawOrigin::None` value. If this extension is an item in a composite, then it could be
-	///   anything which was previously returned as an `origin` value in the result of a `validate`
-	///   call.
-	/// - `call`: The `Call` wrapped by this extension.
-	/// - `info`: Information concerning, and inherent to, the transaction's call.
-	/// - `len`: The total length of the encoded transaction.
-	/// - `inherited_implication`: The *implication* which this extension inherits. This is a tuple
-	///   of the transaction's call and some additional opaque-but-encodable data. Coming directly
-	///   from a transaction, the latter is [()]. However, if this extension is expressed as part of
-	///   a composite type, then the latter component is equal to any further implications to which
-	///   the returned `origin` could potentially apply. See Pipelines, Inherited Implications, and
-	///   Authorized Origins for more information.
-	/// - `context`: Some opaque mutable context, as yet unused.
-	///
-	/// Returns a [ValidateResult], which is a [Result] whose success type is a tuple of
-	/// [ValidTransaction] (defining useful metadata for the transaction queue), the [Self::Val]
-	/// token of this transaction, which gets passed into [prepare](TransactionExtension::prepare),
-	/// and the origin of the transaction, which gets passed into
-	/// [prepare](TransactionExtension::prepare) and is ultimately used for dispatch.
-	fn validate(
-		&self,
-		origin: OriginOf<Call>,
-		call: &Call,
-		info: &DispatchInfoOf<Call>,
-		len: usize,
-		context: &mut Context,
-		self_implicit: Self::Implicit,
-		inherited_implication: &impl Encode,
-	) -> ValidateResult<Self::Val, Call>;
-
-	/// Do any pre-flight stuff for a transaction after validation.
-	///
-	/// This is for actions which do not happen in the transaction queue but only immediately prior
-	/// to the point of dispatch on-chain. This should not return an error, since errors should
-	/// already have been identified during the [validate](TransactionExtension::validate) call. If
-	/// an error is returned, the transaction will be considered invalid but no state changes will
-	/// happen and therefore work done in [validate](TransactionExtension::validate) will not be
-	/// paid for.
-	///
-	/// Unlike `validate`, this function may consume `self`.
-	///
-	/// Parameters:
-	/// - `val`: `Self::Val` returned by the result of the `validate` call.
-	/// - `origin`: The origin returned by the result of the `validate` call.
-	/// - `call`: The `Call` wrapped by this extension.
-	/// - `info`: Information concerning, and inherent to, the transaction's call.
-	/// - `len`: The total length of the encoded transaction.
-	/// - `context`: Some opaque mutable context, as yet unused.
-	///
-	/// Returns a [Self::Pre] value on success, which gets passed into
-	/// [post_dispatch](TransactionExtension::post_dispatch) and after the call is dispatched.
-	///
-	/// IMPORTANT: **Checks made in validation need not be repeated here.**
-	fn prepare(
-		self,
-		val: Self::Val,
-		origin: &OriginOf<Call>,
-		call: &Call,
-		info: &DispatchInfoOf<Call>,
-		len: usize,
-		context: &Context,
-	) -> Result<Self::Pre, TransactionValidityError>;
-
-	/// Do any post-flight stuff for an extrinsic.
-	///
-	/// `_pre` contains the output of `prepare`.
-	///
-	/// This gets given the `DispatchResult` `_result` from the extrinsic and can, if desired,
-	/// introduce a `TransactionValidityError`, causing the block to become invalid for including
-	/// it.
-	///
-	/// Parameters:
-	/// - `pre`: `Self::Pre` returned by the result of the `prepare` call prior to dispatch.
-	/// - `info`: Information concerning, and inherent to, the transaction's call.
-	/// - `post_info`: Information concerning the dispatch of the transaction's call.
-	/// - `len`: The total length of the encoded transaction.
-	/// - `result`: The result of the dispatch.
-	/// - `context`: Some opaque mutable context, as yet unused.
-	///
-	/// WARNING: It is dangerous to return an error here. To do so will fundamentally invalidate the
-	/// transaction and any block that it is included in, causing the block author to not be
-	/// compensated for their work in validating the transaction or producing the block so far. It
-	/// can only be used safely when you *know* that the transaction is one that would only be
-	/// introduced by the current block author.
-	fn post_dispatch(
-		_pre: Self::Pre,
-		_info: &DispatchInfoOf<Call>,
-		_post_info: &PostDispatchInfoOf<Call>,
-		_len: usize,
-		_result: &DispatchResult,
-		_context: &Context,
-	) -> Result<(), TransactionValidityError> {
-		Ok(())
-	}
-
-	/// Compatibility function for supporting the `SignedExtension::validate_unsigned` function.
-	///
-	/// DO NOT USE! THIS MAY BE REMOVED AT ANY TIME!
-	#[deprecated = "Only for compatibility. DO NOT USE."]
-	fn validate_bare_compat(
-		_call: &Call,
-		_info: &DispatchInfoOf<Call>,
-		_len: usize,
-	) -> TransactionValidity {
-		Ok(ValidTransaction::default())
-	}
-
-	/// Compatibility function for supporting the `SignedExtension::pre_dispatch_unsigned` function.
-	///
-	/// DO NOT USE! THIS MAY BE REMOVED AT ANY TIME!
-	#[deprecated = "Only for compatibility. DO NOT USE."]
-	fn pre_dispatch_bare_compat(
-		_call: &Call,
-		_info: &DispatchInfoOf<Call>,
-		_len: usize,
-	) -> Result<(), TransactionValidityError> {
-		Ok(())
-	}
-
-	/// Compatibility function for supporting the `SignedExtension::post_dispatch` function where
-	/// `pre` is `None`.
-	///
-	/// DO NOT USE! THIS MAY BE REMOVED AT ANY TIME!
-	#[deprecated = "Only for compatibility. DO NOT USE."]
-	fn post_dispatch_bare_compat(
-		_info: &DispatchInfoOf<Call>,
-		_post_info: &PostDispatchInfoOf<Call>,
-		_len: usize,
-		_result: &DispatchResult,
-	) -> Result<(), TransactionValidityError> {
-		Ok(())
-	}
-}
-
-/// Implict
-#[macro_export]
-macro_rules! impl_tx_ext_default {
-	($call:ty ; $context:ty ; , $( $rest:tt )*) => {
-		impl_tx_ext_default!{$call ; $context ; $( $rest )*}
-	};
-	($call:ty ; $context:ty ; validate $( $rest:tt )*) => {
-		fn validate(
-			&self,
-			origin: $crate::traits::OriginOf<$call>,
-			_call: &$call,
-			_info: &$crate::traits::DispatchInfoOf<$call>,
-			_len: usize,
-			_context: &mut $context,
-			_self_implicit: Self::Implicit,
-			_inherited_implication: &impl $crate::codec::Encode,
-		) -> $crate::traits::ValidateResult<Self::Val, $call> {
-			Ok((Default::default(), Default::default(), origin))
-		}
-		impl_tx_ext_default!{$call ; $context ; $( $rest )*}
-	};
-	($call:ty ; $context:ty ; prepare $( $rest:tt )*) => {
-		fn prepare(
-			self,
-			_val: Self::Val,
-			_origin: &$crate::traits::OriginOf<$call>,
-			_call: &$call,
-			_info: &$crate::traits::DispatchInfoOf<$call>,
-			_len: usize,
-			_context: & $context,
-		) -> Result<Self::Pre, $crate::TransactionValidityError> {
-			Ok(Default::default())
-		}
-		impl_tx_ext_default!{$call ; $context ; $( $rest )*}
-	};
-	($call:ty ; $context:ty ;) => {};
-}
-
-/// Information about a [`TransactionExtension`] for the runtime metadata.
-pub struct TransactionExtensionMetadata {
-	/// The unique identifier of the [`TransactionExtension`].
-	pub identifier: &'static str,
-	/// The type of the [`TransactionExtension`].
-	pub ty: MetaType,
-	/// The type of the [`TransactionExtension`] additional signed data for the payload.
-	// TODO: Rename "implicit"
-	pub additional_signed: MetaType,
-}
-
-#[impl_for_tuples(1, 12)]
-impl TransactionExtensionBase for Tuple {
-	for_tuples!( where #( Tuple: TransactionExtensionBase )* );
-	const IDENTIFIER: &'static str = "Use `metadata()`!";
-	for_tuples!( type Implicit = ( #( Tuple::Implicit ),* ); );
-	fn implicit(&self) -> Result<Self::Implicit, TransactionValidityError> {
-		Ok(for_tuples!( ( #( Tuple.implicit()? ),* ) ))
-	}
-	fn weight(&self) -> Weight {
-		let mut weight = Weight::zero();
-		for_tuples!( #( weight += Tuple.weight(); )* );
-		weight
-	}
-	fn metadata() -> Vec<TransactionExtensionMetadata> {
-		let mut ids = Vec::new();
-		for_tuples!( #( ids.extend(Tuple::metadata()); )* );
-		ids
-	}
-}
-
-#[impl_for_tuples(1, 12)]
-impl<Call: Dispatchable, Context> TransactionExtension<Call, Context> for Tuple {
-	for_tuples!( where #( Tuple: TransactionExtension<Call, Context> )* );
-	for_tuples!( type Val = ( #( Tuple::Val ),* ); );
-	for_tuples!( type Pre = ( #( Tuple::Pre ),* ); );
-
-	fn validate(
-		&self,
-		origin: <Call as Dispatchable>::RuntimeOrigin,
-		call: &Call,
-		info: &DispatchInfoOf<Call>,
-		len: usize,
-		context: &mut Context,
-		self_implicit: Self::Implicit,
-		inherited_implication: &impl Encode,
-	) -> Result<
-		(ValidTransaction, Self::Val, <Call as Dispatchable>::RuntimeOrigin),
-		TransactionValidityError,
-	> {
-		let valid = ValidTransaction::default();
-		let val = ();
-		let following_explicit_implications = for_tuples!( ( #( &self.Tuple ),* ) );
-		let following_implicit_implications = self_implicit;
-
-		for_tuples!(#(
-			// Implication of this pipeline element not relevant for later items, so we pop it.
-			let (_item, following_explicit_implications) = following_explicit_implications.pop_front();
-			let (item_implicit, following_implicit_implications) = following_implicit_implications.pop_front();
-			let (item_valid, item_val, origin) = {
-				let implications = (
-					// The first is the implications born of the fact we return the mutated
-					// origin.
-					inherited_implication,
-					// This is the explicitly made implication born of the fact the new origin is
-					// passed into the next items in this pipeline-tuple.
-					&following_explicit_implications,
-					// This is the implicitly made implication born of the fact the new origin is
-					// passed into the next items in this pipeline-tuple.
-					&following_implicit_implications,
-				);
-				Tuple.validate(origin, call, info, len, context, item_implicit, &implications)?
-			};
-			let valid = valid.combine_with(item_valid);
-			let val = val.push_back(item_val);
-		)* );
-		Ok((valid, val, origin))
-	}
-
-	fn prepare(
-		self,
-		val: Self::Val,
-		origin: &<Call as Dispatchable>::RuntimeOrigin,
-		call: &Call,
-		info: &DispatchInfoOf<Call>,
-		len: usize,
-		context: &Context,
-	) -> Result<Self::Pre, TransactionValidityError> {
-		Ok(for_tuples!( ( #(
-			Tuple::prepare(self.Tuple, val.Tuple, origin, call, info, len, context)?
-		),* ) ))
-	}
-
-	fn post_dispatch(
-		pre: Self::Pre,
-		info: &DispatchInfoOf<Call>,
-		post_info: &PostDispatchInfoOf<Call>,
-		len: usize,
-		result: &DispatchResult,
-		context: &Context,
-	) -> Result<(), TransactionValidityError> {
-		for_tuples!( #( Tuple::post_dispatch(pre.Tuple, info, post_info, len, result, context)?; )* );
-		Ok(())
-	}
-}
-
-impl TransactionExtensionBase for () {
-	const IDENTIFIER: &'static str = "UnitTransactionExtension";
-	type Implicit = ();
-	fn implicit(&self) -> sp_std::result::Result<Self::Implicit, TransactionValidityError> {
-		Ok(())
-	}
-	fn weight(&self) -> Weight {
-		Weight::zero()
-	}
-}
-
-impl<Call: Dispatchable, Context> TransactionExtension<Call, Context> for () {
-	type Val = ();
-	type Pre = ();
-	fn validate(
-		&self,
-		origin: <Call as Dispatchable>::RuntimeOrigin,
-		_call: &Call,
-		_info: &DispatchInfoOf<Call>,
-		_len: usize,
-		_context: &mut Context,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> Result<
-		(ValidTransaction, (), <Call as Dispatchable>::RuntimeOrigin),
-		TransactionValidityError,
-	> {
-		Ok((ValidTransaction::default(), (), origin))
-	}
-	fn prepare(
-		self,
-		_val: (),
-		_origin: &<Call as Dispatchable>::RuntimeOrigin,
-		_call: &Call,
-		_info: &DispatchInfoOf<Call>,
-		_len: usize,
-		_context: &Context,
-	) -> Result<(), TransactionValidityError> {
-		Ok(())
-	}
-}
diff --git a/substrate/primitives/runtime/src/transaction_validity.rs b/substrate/primitives/runtime/src/transaction_validity.rs
index 24124128083..83694849382 100644
--- a/substrate/primitives/runtime/src/transaction_validity.rs
+++ b/substrate/primitives/runtime/src/transaction_validity.rs
@@ -82,8 +82,6 @@ pub enum InvalidTransaction {
 	MandatoryValidation,
 	/// The sending address is disabled or known to be invalid.
 	BadSigner,
-	/// The implicit data was unable to be calculated.
-	IndeterminateImplicit,
 }
 
 impl InvalidTransaction {
@@ -115,8 +113,6 @@ impl From<InvalidTransaction> for &'static str {
 				"Transaction dispatch is mandatory; transactions must not be validated.",
 			InvalidTransaction::Custom(_) => "InvalidTransaction custom error",
 			InvalidTransaction::BadSigner => "Invalid signing address",
-			InvalidTransaction::IndeterminateImplicit =>
-				"The implicit data was unable to be calculated",
 		}
 	}
 }
@@ -342,7 +338,7 @@ pub struct ValidTransactionBuilder {
 impl ValidTransactionBuilder {
 	/// Set the priority of a transaction.
 	///
-	/// Note that the final priority for `FRAME` is combined from all `TransactionExtension`s.
+	/// Note that the final priority for `FRAME` is combined from all `SignedExtension`s.
 	/// Most likely for unsigned transactions you want the priority to be higher
 	/// than for regular transactions. We recommend exposing a base priority for unsigned
 	/// transactions as a runtime module parameter, so that the runtime can tune inter-module
diff --git a/substrate/scripts/run_all_benchmarks.sh b/substrate/scripts/run_all_benchmarks.sh
index fe5f89a5b56..6dd7cede319 100755
--- a/substrate/scripts/run_all_benchmarks.sh
+++ b/substrate/scripts/run_all_benchmarks.sh
@@ -107,19 +107,6 @@ for PALLET in "${PALLETS[@]}"; do
 
   FOLDER="$(echo "${PALLET#*_}" | tr '_' '-')";
   WEIGHT_FILE="./frame/${FOLDER}/src/weights.rs"
-
-  # Special handling of custom weight paths.
-  if [ "$PALLET" == "frame_system_extensions" ] || [ "$PALLET" == "frame-system-extensions" ]
-  then
-    WEIGHT_FILE="./frame/system/src/extensions/weights.rs"
-  elif [ "$PALLET" == "pallet_asset_conversion_tx_payment" ] || [ "$PALLET" == "pallet-asset-conversion-tx-payment" ]
-  then
-    WEIGHT_FILE="./frame/transaction-payment/asset-conversion-tx-payment/src/weights.rs"
-  elif [ "$PALLET" == "pallet_asset_tx_payment" ] || [ "$PALLET" == "pallet-asset-tx-payment" ]
-  then
-    WEIGHT_FILE="./frame/transaction-payment/asset-tx-payment/src/weights.rs"
-  fi
-
   echo "[+] Benchmarking $PALLET with weight file $WEIGHT_FILE";
 
   OUTPUT=$(
diff --git a/substrate/test-utils/runtime/src/extrinsic.rs b/substrate/test-utils/runtime/src/extrinsic.rs
index 7eb1839e97b..05ffb7db5d5 100644
--- a/substrate/test-utils/runtime/src/extrinsic.rs
+++ b/substrate/test-utils/runtime/src/extrinsic.rs
@@ -25,7 +25,7 @@ use codec::Encode;
 use frame_system::{CheckNonce, CheckWeight};
 use sp_core::crypto::Pair as TraitPair;
 use sp_keyring::AccountKeyring;
-use sp_runtime::{generic::Preamble, transaction_validity::TransactionPriority, Perbill};
+use sp_runtime::{transaction_validity::TransactionPriority, Perbill};
 use sp_std::prelude::*;
 
 /// Transfer used in test substrate pallet. Extrinsic is created and signed using this data.
@@ -66,11 +66,11 @@ impl TryFrom<&Extrinsic> for TransferData {
 		match uxt {
 			Extrinsic {
 				function: RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest, value }),
-				preamble: Preamble::Signed(from, _, ((CheckNonce(nonce), ..), ..)),
+				signature: Some((from, _, (CheckNonce(nonce), ..))),
 			} => Ok(TransferData { from: *from, to: *dest, amount: *value, nonce: *nonce }),
 			Extrinsic {
 				function: RuntimeCall::SubstrateTest(PalletCall::bench_call { transfer }),
-				preamble: Preamble::Bare,
+				signature: None,
 			} => Ok(transfer.clone()),
 			_ => Err(()),
 		}
@@ -190,17 +190,18 @@ impl ExtrinsicBuilder {
 	/// Build `Extrinsic` using embedded parameters
 	pub fn build(self) -> Extrinsic {
 		if let Some(signer) = self.signer {
-			let tx_ext = (
-				(CheckNonce::from(self.nonce.unwrap_or(0)), CheckWeight::new()),
+			let extra = (
+				CheckNonce::from(self.nonce.unwrap_or(0)),
+				CheckWeight::new(),
 				CheckSubstrateCall {},
 			);
 			let raw_payload =
-				SignedPayload::from_raw(self.function.clone(), tx_ext.clone(), (((), ()), ()));
+				SignedPayload::from_raw(self.function.clone(), extra.clone(), ((), (), ()));
 			let signature = raw_payload.using_encoded(|e| signer.sign(e));
 
-			Extrinsic::new_signed(self.function, signer.public(), signature, tx_ext)
+			Extrinsic::new_signed(self.function, signer.public(), signature, extra)
 		} else {
-			Extrinsic::new_bare(self.function)
+			Extrinsic::new_unsigned(self.function)
 		}
 	}
 }
diff --git a/substrate/test-utils/runtime/src/lib.rs b/substrate/test-utils/runtime/src/lib.rs
index 7ec5f6722c4..63e0aa6e137 100644
--- a/substrate/test-utils/runtime/src/lib.rs
+++ b/substrate/test-utils/runtime/src/lib.rs
@@ -58,11 +58,9 @@ use sp_api::{decl_runtime_apis, impl_runtime_apis};
 pub use sp_core::hash::H256;
 use sp_inherents::{CheckInherentsResult, InherentData};
 use sp_runtime::{
-	create_runtime_str, impl_opaque_keys, impl_tx_ext_default,
-	traits::{BlakeTwo256, Block as BlockT, DispatchInfoOf, Dispatchable, NumberFor, Verify},
-	transaction_validity::{
-		TransactionSource, TransactionValidity, TransactionValidityError, ValidTransaction,
-	},
+	create_runtime_str, impl_opaque_keys,
+	traits::{BlakeTwo256, Block as BlockT, DispatchInfoOf, NumberFor, Verify},
+	transaction_validity::{TransactionSource, TransactionValidity, TransactionValidityError},
 	ApplyExtrinsicResult, ExtrinsicInclusionMode, Perbill,
 };
 #[cfg(any(feature = "std", test))]
@@ -144,14 +142,13 @@ pub type Signature = sr25519::Signature;
 #[cfg(feature = "std")]
 pub type Pair = sp_core::sr25519::Pair;
 
-// TODO: Remove after the Checks are migrated to TxExtension.
-/// The extension to the basic transaction logic.
-pub type TxExtension = ((CheckNonce<Runtime>, CheckWeight<Runtime>), CheckSubstrateCall);
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (CheckNonce<Runtime>, CheckWeight<Runtime>, CheckSubstrateCall);
 /// The payload being signed in transactions.
-pub type SignedPayload = sp_runtime::generic::SignedPayload<RuntimeCall, TxExtension>;
+pub type SignedPayload = sp_runtime::generic::SignedPayload<RuntimeCall, SignedExtra>;
 /// Unchecked extrinsic type as expected by this runtime.
 pub type Extrinsic =
-	sp_runtime::generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	sp_runtime::generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 /// An identifier for an account on this system.
 pub type AccountId = <Signature as Verify>::Signer;
@@ -246,7 +243,7 @@ impl sp_runtime::traits::Printable for CheckSubstrateCall {
 }
 
 impl sp_runtime::traits::Dispatchable for CheckSubstrateCall {
-	type RuntimeOrigin = RuntimeOrigin;
+	type RuntimeOrigin = CheckSubstrateCall;
 	type Config = CheckSubstrateCall;
 	type Info = CheckSubstrateCall;
 	type PostInfo = CheckSubstrateCall;
@@ -259,37 +256,42 @@ impl sp_runtime::traits::Dispatchable for CheckSubstrateCall {
 	}
 }
 
-impl sp_runtime::traits::TransactionExtensionBase for CheckSubstrateCall {
-	const IDENTIFIER: &'static str = "CheckSubstrateCall";
-	type Implicit = ();
-}
-impl<Context> sp_runtime::traits::TransactionExtension<RuntimeCall, Context>
-	for CheckSubstrateCall
-{
+impl sp_runtime::traits::SignedExtension for CheckSubstrateCall {
+	type AccountId = AccountId;
+	type Call = RuntimeCall;
+	type AdditionalSigned = ();
 	type Pre = ();
-	type Val = ();
-	impl_tx_ext_default!(RuntimeCall; Context; prepare);
+	const IDENTIFIER: &'static str = "CheckSubstrateCall";
+
+	fn additional_signed(
+		&self,
+	) -> sp_std::result::Result<Self::AdditionalSigned, TransactionValidityError> {
+		Ok(())
+	}
 
 	fn validate(
 		&self,
-		origin: <RuntimeCall as Dispatchable>::RuntimeOrigin,
-		call: &RuntimeCall,
-		_info: &DispatchInfoOf<RuntimeCall>,
+		_who: &Self::AccountId,
+		call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
 		_len: usize,
-		_context: &mut Context,
-		_self_implicit: Self::Implicit,
-		_inherited_implication: &impl Encode,
-	) -> Result<
-		(ValidTransaction, Self::Val, <RuntimeCall as Dispatchable>::RuntimeOrigin),
-		TransactionValidityError,
-	> {
+	) -> TransactionValidity {
 		log::trace!(target: LOG_TARGET, "validate");
-		let v = match call {
+		match call {
 			RuntimeCall::SubstrateTest(ref substrate_test_call) =>
-				substrate_test_pallet::validate_runtime_call(substrate_test_call)?,
-			_ => Default::default(),
-		};
-		Ok((v, (), origin))
+				substrate_test_pallet::validate_runtime_call(substrate_test_call),
+			_ => Ok(Default::default()),
+		}
+	}
+
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &sp_runtime::traits::DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		self.validate(who, call, info, len).map(drop)
 	}
 }
 
@@ -362,7 +364,6 @@ impl frame_system::pallet::Config for Runtime {
 	type OnNewAccount = ();
 	type OnKilledAccount = ();
 	type SystemWeightInfo = ();
-	type ExtensionsWeightInfo = ();
 	type SS58Prefix = ();
 	type OnSetCode = ();
 	type MaxConsumers = ConstU32<16>;
@@ -671,7 +672,7 @@ impl_runtime_apis! {
 
 	impl sp_offchain::OffchainWorkerApi<Block> for Runtime {
 		fn offchain_worker(header: &<Block as BlockT>::Header) {
-			let ext = Extrinsic::new_bare(
+			let ext = Extrinsic::new_unsigned(
 				substrate_test_pallet::pallet::Call::storage_change{
 					key:b"some_key".encode(),
 					value:Some(header.number.encode())
@@ -1024,7 +1025,7 @@ mod tests {
 	use sp_core::{storage::well_known_keys::HEAP_PAGES, traits::CallContext};
 	use sp_keyring::AccountKeyring;
 	use sp_runtime::{
-		traits::{DispatchTransaction, Hash as _},
+		traits::{Hash as _, SignedExtension},
 		transaction_validity::{InvalidTransaction, ValidTransaction},
 	};
 	use substrate_test_runtime_client::{
@@ -1173,33 +1174,31 @@ mod tests {
 	fn check_substrate_check_signed_extension_works() {
 		sp_tracing::try_init_simple();
 		new_test_ext().execute_with(|| {
-			let x: AccountId = sp_keyring::AccountKeyring::Alice.into();
+			let x = sp_keyring::AccountKeyring::Alice.into();
 			let info = DispatchInfo::default();
 			let len = 0_usize;
 			assert_eq!(
 				CheckSubstrateCall {}
-					.validate_only(
-						Some(x).into(),
+					.validate(
+						&x,
 						&ExtrinsicBuilder::new_call_with_priority(16).build().function,
 						&info,
-						len,
+						len
 					)
 					.unwrap()
-					.0
 					.priority,
 				16
 			);
 
 			assert_eq!(
 				CheckSubstrateCall {}
-					.validate_only(
-						Some(x).into(),
+					.validate(
+						&x,
 						&ExtrinsicBuilder::new_call_do_not_propagate().build().function,
 						&info,
-						len,
+						len
 					)
 					.unwrap()
-					.0
 					.propagate,
 				false
 			);
diff --git a/substrate/utils/frame/benchmarking-cli/src/pallet/template.hbs b/substrate/utils/frame/benchmarking-cli/src/pallet/template.hbs
index a044049a0d6..1e5e294acba 100644
--- a/substrate/utils/frame/benchmarking-cli/src/pallet/template.hbs
+++ b/substrate/utils/frame/benchmarking-cli/src/pallet/template.hbs
@@ -22,11 +22,7 @@ use core::marker::PhantomData;
 
 /// Weight functions for `{{pallet}}`.
 pub struct WeightInfo<T>(PhantomData<T>);
-{{#if (eq pallet "frame_system_extensions")}}
-impl<T: frame_system::Config> frame_system::ExtensionsWeightInfo for WeightInfo<T> {
-{{else}}
 impl<T: frame_system::Config> {{pallet}}::WeightInfo for WeightInfo<T> {
-{{/if}}
 	{{#each benchmarks as |benchmark|}}
 	{{#each benchmark.comments as |comment|}}
 	/// {{comment}}
diff --git a/substrate/utils/frame/remote-externalities/src/lib.rs b/substrate/utils/frame/remote-externalities/src/lib.rs
index d49479d9cda..c7399468da9 100644
--- a/substrate/utils/frame/remote-externalities/src/lib.rs
+++ b/substrate/utils/frame/remote-externalities/src/lib.rs
@@ -1204,9 +1204,8 @@ where
 #[cfg(test)]
 mod test_prelude {
 	pub(crate) use super::*;
-	pub(crate) use sp_runtime::testing::{Block as RawBlock, MockCallU64};
-	pub(crate) type UncheckedXt = sp_runtime::generic::UncheckedExtrinsic<u64, MockCallU64, (), ()>;
-	pub(crate) type Block = RawBlock<UncheckedXt>;
+	pub(crate) use sp_runtime::testing::{Block as RawBlock, ExtrinsicWrapper, H256 as Hash};
+	pub(crate) type Block = RawBlock<ExtrinsicWrapper<Hash>>;
 
 	pub(crate) fn init_logger() {
 		sp_tracing::try_init_simple();
diff --git a/substrate/utils/frame/rpc/client/src/lib.rs b/substrate/utils/frame/rpc/client/src/lib.rs
index 4f4f4bbef56..221f260b156 100644
--- a/substrate/utils/frame/rpc/client/src/lib.rs
+++ b/substrate/utils/frame/rpc/client/src/lib.rs
@@ -199,15 +199,11 @@ where
 #[cfg(test)]
 mod tests {
 	use super::*;
-	use sp_runtime::{
-		generic::UncheckedExtrinsic,
-		testing::{Block as TBlock, Header, MockCallU64, H256},
-	};
+	use sp_runtime::testing::{Block as TBlock, ExtrinsicWrapper, Header, H256};
 	use std::sync::Arc;
 	use tokio::sync::Mutex;
 
-	type UncheckedXt = UncheckedExtrinsic<u64, MockCallU64, (), ()>;
-	type Block = TBlock<UncheckedXt>;
+	type Block = TBlock<ExtrinsicWrapper<()>>;
 	type BlockNumber = u64;
 	type Hash = H256;
 
diff --git a/templates/minimal/runtime/src/lib.rs b/templates/minimal/runtime/src/lib.rs
index 6920511e276..91859cf4a2f 100644
--- a/templates/minimal/runtime/src/lib.rs
+++ b/templates/minimal/runtime/src/lib.rs
@@ -54,7 +54,7 @@ pub fn native_version() -> NativeVersion {
 	NativeVersion { runtime_version: VERSION, can_author_with: Default::default() }
 }
 
-type TxExtension = (
+type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -111,7 +111,7 @@ impl pallet_transaction_payment::Config for Runtime {
 
 impl pallet_minimal_template::Config for Runtime {}
 
-type Block = frame::runtime::types_common::BlockOf<Runtime, TxExtension>;
+type Block = frame::runtime::types_common::BlockOf<Runtime, SignedExtra>;
 type Header = HeaderFor<Runtime>;
 
 type RuntimeExecutive =
diff --git a/templates/parachain/runtime/Cargo.toml b/templates/parachain/runtime/Cargo.toml
index 44e9341b568..9d9da2b4b97 100644
--- a/templates/parachain/runtime/Cargo.toml
+++ b/templates/parachain/runtime/Cargo.toml
@@ -149,7 +149,6 @@ runtime-benchmarks = [
 	"cumulus-pallet-session-benchmarking/runtime-benchmarks",
 	"cumulus-pallet-xcmp-queue/runtime-benchmarks",
 	"cumulus-primitives-core/runtime-benchmarks",
-	"cumulus-primitives-storage-weight-reclaim/runtime-benchmarks",
 	"cumulus-primitives-utility/runtime-benchmarks",
 	"frame-benchmarking/runtime-benchmarks",
 	"frame-support/runtime-benchmarks",
@@ -162,7 +161,6 @@ runtime-benchmarks = [
 	"pallet-parachain-template/runtime-benchmarks",
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"pallet-xcm/runtime-benchmarks",
 	"parachains-common/runtime-benchmarks",
 	"polkadot-parachain-primitives/runtime-benchmarks",
diff --git a/templates/parachain/runtime/src/lib.rs b/templates/parachain/runtime/src/lib.rs
index 74ecd751f67..89899d286bb 100644
--- a/templates/parachain/runtime/src/lib.rs
+++ b/templates/parachain/runtime/src/lib.rs
@@ -97,8 +97,8 @@ pub type SignedBlock = generic::SignedBlock<Block>;
 /// BlockId type as expected by this runtime.
 pub type BlockId = generic::BlockId<Block>;
 
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -112,7 +112,7 @@ pub type TxExtension = (
 
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 
 /// Executive: handles dispatch to the various modules.
 pub type Executive = frame_executive::Executive<
@@ -353,7 +353,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type LengthToFee = ConstantMultiplier<Balance, TransactionByteFee>;
 	type FeeMultiplierUpdate = SlowAdjustingFeeUpdate<Self>;
 	type OperationalFeeMultiplier = ConstU8<5>;
-	type WeightInfo = ();
 }
 
 impl pallet_sudo::Config for Runtime {
@@ -531,7 +530,6 @@ construct_runtime!(
 mod benches {
 	frame_benchmarking::define_benchmarks!(
 		[frame_system, SystemBench::<Runtime>]
-		[frame_system_extensions, SystemExtensionsBench::<Runtime>]
 		[pallet_balances, Balances]
 		[pallet_session, SessionBench::<Runtime>]
 		[pallet_timestamp, Timestamp]
@@ -715,7 +713,6 @@ impl_runtime_apis! {
 			use frame_benchmarking::{Benchmarking, BenchmarkList};
 			use frame_support::traits::StorageInfoTrait;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use cumulus_pallet_session_benchmarking::Pallet as SessionBench;
 
 			let mut list = Vec::<BenchmarkList>::new();
@@ -731,7 +728,6 @@ impl_runtime_apis! {
 			use frame_benchmarking::{BenchmarkError, Benchmarking, BenchmarkBatch};
 
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			impl frame_system_benchmarking::Config for Runtime {
 				fn setup_set_code_requirements(code: &sp_std::vec::Vec<u8>) -> Result<(), BenchmarkError> {
 					ParachainSystem::initialize_for_set_code_benchmark(code.len() as u32);
diff --git a/templates/solochain/node/Cargo.toml b/templates/solochain/node/Cargo.toml
index 5e50e6106c1..48bb511bfd1 100644
--- a/templates/solochain/node/Cargo.toml
+++ b/templates/solochain/node/Cargo.toml
@@ -76,7 +76,6 @@ default = []
 runtime-benchmarks = [
 	"frame-benchmarking-cli/runtime-benchmarks",
 	"frame-system/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"sc-service/runtime-benchmarks",
 	"solochain-template-runtime/runtime-benchmarks",
 	"sp-runtime/runtime-benchmarks",
diff --git a/templates/solochain/node/src/benchmarking.rs b/templates/solochain/node/src/benchmarking.rs
index 8710f303e1f..d1d8c2ccaba 100644
--- a/templates/solochain/node/src/benchmarking.rs
+++ b/templates/solochain/node/src/benchmarking.rs
@@ -109,7 +109,7 @@ pub fn create_benchmark_extrinsic(
 		.checked_next_power_of_two()
 		.map(|c| c / 2)
 		.unwrap_or(2) as u64;
-	let tx_ext: runtime::TxExtension = (
+	let extra: runtime::SignedExtra = (
 		frame_system::CheckNonZeroSender::<runtime::Runtime>::new(),
 		frame_system::CheckSpecVersion::<runtime::Runtime>::new(),
 		frame_system::CheckTxVersion::<runtime::Runtime>::new(),
@@ -121,12 +121,11 @@ pub fn create_benchmark_extrinsic(
 		frame_system::CheckNonce::<runtime::Runtime>::from(nonce),
 		frame_system::CheckWeight::<runtime::Runtime>::new(),
 		pallet_transaction_payment::ChargeTransactionPayment::<runtime::Runtime>::from(0),
-	)
-		.into();
+	);
 
 	let raw_payload = runtime::SignedPayload::from_raw(
 		call.clone(),
-		tx_ext.clone(),
+		extra.clone(),
 		(
 			(),
 			runtime::VERSION.spec_version,
@@ -144,7 +143,7 @@ pub fn create_benchmark_extrinsic(
 		call,
 		sp_runtime::AccountId32::from(sender.public()).into(),
 		runtime::Signature::Sr25519(signature),
-		tx_ext,
+		extra,
 	)
 }
 
diff --git a/templates/solochain/runtime/Cargo.toml b/templates/solochain/runtime/Cargo.toml
index 706ea863d0f..a7fc0519ba2 100644
--- a/templates/solochain/runtime/Cargo.toml
+++ b/templates/solochain/runtime/Cargo.toml
@@ -130,7 +130,6 @@ runtime-benchmarks = [
 	"pallet-sudo/runtime-benchmarks",
 	"pallet-template/runtime-benchmarks",
 	"pallet-timestamp/runtime-benchmarks",
-	"pallet-transaction-payment/runtime-benchmarks",
 	"sp-runtime/runtime-benchmarks",
 ]
 
diff --git a/templates/solochain/runtime/src/lib.rs b/templates/solochain/runtime/src/lib.rs
index 303122da564..a8a5b7857e1 100644
--- a/templates/solochain/runtime/src/lib.rs
+++ b/templates/solochain/runtime/src/lib.rs
@@ -237,7 +237,6 @@ impl pallet_transaction_payment::Config for Runtime {
 	type WeightToFee = IdentityFee<Balance>;
 	type LengthToFee = IdentityFee<Balance>;
 	type FeeMultiplierUpdate = ConstFeeMultiplier<FeeMultiplier>;
-	type WeightInfo = pallet_transaction_payment::weights::SubstrateWeight<Runtime>;
 }
 
 impl pallet_sudo::Config for Runtime {
@@ -301,8 +300,8 @@ pub type Address = sp_runtime::MultiAddress<AccountId, ()>;
 pub type Header = generic::Header<BlockNumber, BlakeTwo256>;
 /// Block type as expected by this runtime.
 pub type Block = generic::Block<Header, UncheckedExtrinsic>;
-/// The extension to the basic transaction logic.
-pub type TxExtension = (
+/// The SignedExtension to the basic transaction logic.
+pub type SignedExtra = (
 	frame_system::CheckNonZeroSender<Runtime>,
 	frame_system::CheckSpecVersion<Runtime>,
 	frame_system::CheckTxVersion<Runtime>,
@@ -321,9 +320,9 @@ type Migrations = ();
 
 /// Unchecked extrinsic type as expected by this runtime.
 pub type UncheckedExtrinsic =
-	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
+	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
 /// The payload being signed in transactions.
-pub type SignedPayload = generic::SignedPayload<RuntimeCall, TxExtension>;
+pub type SignedPayload = generic::SignedPayload<RuntimeCall, SignedExtra>;
 /// Executive: handles dispatch to the various modules.
 pub type Executive = frame_executive::Executive<
 	Runtime,
@@ -339,7 +338,6 @@ mod benches {
 	frame_benchmarking::define_benchmarks!(
 		[frame_benchmarking, BaselineBench::<Runtime>]
 		[frame_system, SystemBench::<Runtime>]
-		[frame_system_extensions, SystemExtensionsBench::<Runtime>]
 		[pallet_balances, Balances]
 		[pallet_timestamp, Timestamp]
 		[pallet_sudo, Sudo]
@@ -524,7 +522,6 @@ impl_runtime_apis! {
 			use frame_benchmarking::{baseline, Benchmarking, BenchmarkList};
 			use frame_support::traits::StorageInfoTrait;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use baseline::Pallet as BaselineBench;
 
 			let mut list = Vec::<BenchmarkList>::new();
@@ -541,7 +538,6 @@ impl_runtime_apis! {
 			use frame_benchmarking::{baseline, Benchmarking, BenchmarkBatch};
 			use sp_storage::TrackedStorageKey;
 			use frame_system_benchmarking::Pallet as SystemBench;
-			use frame_system_benchmarking::extensions::Pallet as SystemExtensionsBench;
 			use baseline::Pallet as BaselineBench;
 
 			impl frame_system_benchmarking::Config for Runtime {}
-- 
GitLab