Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
e4d7192
add pallet meta tx to multiple runtimes
cirko33 Mar 23, 2026
bd728bb
Merge branch 'master' into cirko33-meta-tx-runtimes
cirko33 Mar 23, 2026
52aebdc
Update from github-actions[bot] running command 'prdoc --audience run…
github-actions[bot] Mar 23, 2026
329fe8c
Update from github-actions[bot] running command 'bench --pallet palle…
github-actions[bot] Mar 23, 2026
f2ae862
Update from github-actions[bot] running command 'bench --pallet palle…
github-actions[bot] Mar 23, 2026
dd16b02
Update from github-actions[bot] running command 'bench --pallet palle…
github-actions[bot] Mar 23, 2026
b33a77d
Merge branch 'master' into cirko33-meta-tx-runtimes
cirko33 Mar 23, 2026
86d08b9
Update from github-actions[bot] running command 'bench --pallet palle…
github-actions[bot] Mar 23, 2026
f5b153f
Update from github-actions[bot] running command 'bench --pallet palle…
github-actions[bot] Mar 23, 2026
16bd356
Update from github-actions[bot] running command 'bench --pallet palle…
github-actions[bot] Mar 23, 2026
3f494c9
Update from github-actions[bot] running command 'bench --pallet palle…
github-actions[bot] Mar 23, 2026
6bbd8b0
move pallets to handy utility indexes and put correct weights on config
cirko33 Mar 25, 2026
47d6dd4
Update from github-actions[bot] running command 'prdoc --audience run…
github-actions[bot] Mar 25, 2026
eeb5fb2
fix prdoc
cirko33 Mar 25, 2026
01e2c06
Merge branch 'master' into cirko33-meta-tx-runtimes
cirko33 Mar 25, 2026
220345d
push cargo lock
cirko33 Mar 25, 2026
c470653
Merge branch 'master' into cirko33-meta-tx-runtimes
cirko33 Mar 25, 2026
32a6d39
fmt
cirko33 Mar 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ pallet-delegated-staking = { workspace = true }
pallet-election-provider-multi-block = { workspace = true }
pallet-fast-unstake = { workspace = true }
pallet-indices = { workspace = true }
pallet-meta-tx = { workspace = true }
pallet-migrations = { workspace = true }
pallet-multi-asset-bounties = { workspace = true }
pallet-multisig = { workspace = true }
Expand All @@ -73,6 +74,7 @@ pallet-transaction-payment-rpc-runtime-api = { workspace = true }
pallet-treasury = { workspace = true }
pallet-uniques = { workspace = true }
pallet-utility = { workspace = true }
pallet-verify-signature = { workspace = true }
pallet-vesting = { workspace = true }
pallet-whitelist = { workspace = true }
sp-api = { workspace = true }
Expand Down Expand Up @@ -191,6 +193,7 @@ runtime-benchmarks = [
"pallet-fast-unstake/runtime-benchmarks",
"pallet-indices/runtime-benchmarks",
"pallet-message-queue/runtime-benchmarks",
"pallet-meta-tx/runtime-benchmarks",
"pallet-migrations/runtime-benchmarks",
"pallet-multi-asset-bounties/runtime-benchmarks",
"pallet-multisig/runtime-benchmarks",
Expand All @@ -213,6 +216,7 @@ runtime-benchmarks = [
"pallet-treasury/runtime-benchmarks",
"pallet-uniques/runtime-benchmarks",
"pallet-utility/runtime-benchmarks",
"pallet-verify-signature/runtime-benchmarks",
"pallet-vesting/runtime-benchmarks",
"pallet-whitelist/runtime-benchmarks",
"pallet-xcm-benchmarks/runtime-benchmarks",
Expand Down Expand Up @@ -268,6 +272,7 @@ try-runtime = [
"pallet-fast-unstake/try-runtime",
"pallet-indices/try-runtime",
"pallet-message-queue/try-runtime",
"pallet-meta-tx/try-runtime",
"pallet-migrations/try-runtime",
"pallet-multi-asset-bounties/try-runtime",
"pallet-multisig/try-runtime",
Expand All @@ -290,6 +295,7 @@ try-runtime = [
"pallet-treasury/try-runtime",
"pallet-uniques/try-runtime",
"pallet-utility/try-runtime",
"pallet-verify-signature/try-runtime",
"pallet-vesting/try-runtime",
"pallet-whitelist/try-runtime",
"pallet-xcm-bridge-hub-router/try-runtime",
Expand Down Expand Up @@ -351,6 +357,7 @@ std = [
"pallet-fast-unstake/std",
"pallet-indices/std",
"pallet-message-queue/std",
"pallet-meta-tx/std",
"pallet-migrations/std",
"pallet-multi-asset-bounties/std",
"pallet-multisig/std",
Expand All @@ -377,6 +384,7 @@ std = [
"pallet-treasury/std",
"pallet-uniques/std",
"pallet-utility/std",
"pallet-verify-signature/std",
"pallet-vesting/std",
"pallet-whitelist/std",
"pallet-xcm-benchmarks?/std",
Expand Down
36 changes: 35 additions & 1 deletion cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ use sp_runtime::{
generic, impl_opaque_keys,
traits::{AccountIdConversion, BlakeTwo256, Block as BlockT, ConvertInto, Saturating, Verify},
transaction_validity::{TransactionSource, TransactionValidity},
ApplyExtrinsicResult, Debug, FixedU128, Perbill, Permill,
ApplyExtrinsicResult, Debug, FixedU128, MultiSignature, MultiSigner, Perbill, Permill,
};
#[cfg(feature = "std")]
use sp_version::NativeVersion;
Expand Down Expand Up @@ -1380,6 +1380,35 @@ impl pallet_sudo::Config for Runtime {
type WeightInfo = weights::pallet_sudo::WeightInfo<Runtime>;
}

pub type MetaTxExtension = (
pallet_verify_signature::VerifySignature<Runtime>,
pallet_meta_tx::MetaTxMarker<Runtime>,
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_metadata_hash_extension::CheckMetadataHash<Runtime>,
);

impl pallet_meta_tx::Config for Runtime {
type WeightInfo = weights::pallet_meta_tx::WeightInfo<Runtime>;
type RuntimeEvent = RuntimeEvent;
#[cfg(not(feature = "runtime-benchmarks"))]
type Extension = MetaTxExtension;
#[cfg(feature = "runtime-benchmarks")]
type Extension = weights::pallet_meta_tx::WeightlessExtension<Runtime>;
}

impl pallet_verify_signature::Config for Runtime {
type Signature = MultiSignature;
type AccountIdentifier = MultiSigner;
type WeightInfo = weights::pallet_verify_signature::WeightInfo<Runtime>;
#[cfg(feature = "runtime-benchmarks")]
type BenchmarkHelper = ();
}

// Create the runtime by composing the FRAME pallets that were previously configured.
construct_runtime!(
pub enum Runtime
Expand Down Expand Up @@ -1425,6 +1454,8 @@ construct_runtime!(
Multisig: pallet_multisig = 41,
Proxy: pallet_proxy = 42,
Indices: pallet_indices = 43,
MetaTx: pallet_meta_tx = 44,
VerifySignature: pallet_verify_signature = 45,

// The main stage.
Assets: pallet_assets::<Instance1> = 50,
Expand Down Expand Up @@ -1480,6 +1511,7 @@ construct_runtime!(
AssetConversionMigration: pallet_asset_conversion_ops = 200,

AhOps: pallet_ah_ops = 254,

}
);

Expand Down Expand Up @@ -1806,6 +1838,8 @@ mod benches {
[pallet_staking_async_rc_client, StakingRcClientBench::<Runtime>]
[pallet_uniques, Uniques]
[pallet_utility, Utility]
[pallet_meta_tx, MetaTx]
[pallet_verify_signature, VerifySignature]
[pallet_timestamp, Timestamp]
[pallet_transaction_payment, TransactionPayment]
[pallet_collator_selection, CollatorSelection]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ pub mod pallet_election_provider_multi_block_unsigned;
pub mod pallet_election_provider_multi_block_verifier;
pub mod pallet_indices;
pub mod pallet_message_queue;
pub mod pallet_meta_tx;
pub mod pallet_migrations;
pub mod pallet_multisig;
pub mod pallet_nft_fractionalization;
Expand All @@ -58,6 +59,7 @@ pub mod pallet_transaction_payment;
pub mod pallet_treasury;
pub mod pallet_uniques;
pub mod pallet_utility;
pub mod pallet_verify_signature;
pub mod pallet_vesting;
pub mod pallet_whitelist;
pub mod pallet_xcm;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
// 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_meta_tx`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2026-03-23, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `507b76bae137`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024

// Executed Command:
// frame-omni-bencher
// v1
// benchmark
// pallet
// --extrinsic=*
// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm
// --pallet=pallet_meta_tx
// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt
// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights
// --wasm-execution=compiled
// --steps=50
// --repeat=20
// --heap-pages=4096
// --no-storage-info
// --no-min-squares
// --no-median-slopes

#![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_meta_tx`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_meta_tx::WeightInfo for WeightInfo<T> {
/// The range of component `n` is `[8, 100]`.
fn bare_dispatch(n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 7_909_000 picoseconds.
Weight::from_parts(8_635_922, 0)
.saturating_add(Weight::from_parts(0, 0))
// Standard Error: 32
.saturating_add(Weight::from_parts(4_392, 0).saturating_mul(n.into()))
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
// 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_verify_signature`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2026-03-23, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `9c015ccade1b`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
//! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024

// Executed Command:
// frame-omni-bencher
// v1
// benchmark
// pallet
// --extrinsic=*
// --runtime=target/production/wbuild/asset-hub-westend-runtime/asset_hub_westend_runtime.wasm
// --pallet=pallet_verify_signature
// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt
// --output=./cumulus/parachains/runtimes/assets/asset-hub-westend/src/weights
// --wasm-execution=compiled
// --steps=50
// --repeat=20
// --heap-pages=4096
// --no-storage-info
// --no-min-squares
// --no-median-slopes

#![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_verify_signature`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_verify_signature::WeightInfo for WeightInfo<T> {
fn verify_signature() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 42_154_000 picoseconds.
Weight::from_parts(43_685_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
}
Loading
Loading