Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
5966a01
Include immutable deposit in base deposit
athei Jan 7, 2025
ba7d704
Update from athei running command 'prdoc --audience runtime_dev'
Jan 18, 2025
1a6feb7
Remove left over debug logging
athei Jan 18, 2025
2f1a825
Correct prdoc bumps
athei Jan 18, 2025
131e622
Add ResetPallet
athei Jan 22, 2025
0d0ec0d
Merge branch 'master' into at/deposit
athei Jan 23, 2025
09b80be
Refine ResetRuntime
athei Jan 23, 2025
76bc3a3
Merge branch 'master' into at/deposit
athei Jan 23, 2025
d0f5327
Merge branch 'master' into at/deposit
athei Jan 23, 2025
1f2f51e
Update from athei running command 'bench-omni --runtime asset-hub-wes…
github-actions[bot] Jan 23, 2025
73d42f8
Update from athei running command 'bench-omni --dev --pallet pallet_r…
github-actions[bot] Jan 23, 2025
716c494
Merge branch 'master' into at/deposit
athei Jan 24, 2025
e833c2f
Make refcounting fallible
athei Jan 24, 2025
b8e4b31
No need to reference into the frame
athei Jan 24, 2025
0073daf
Update substrate/frame/revive/src/wasm/mod.rs
athei Jan 24, 2025
7f5ab96
Merge branch 'master' into at/deposit
athei Jan 24, 2025
7b492cb
Remove unused weight file
athei Jan 24, 2025
0b8c8a6
Merge branch 'master' into at/deposit
athei Jan 24, 2025
1dcc86d
Move ResetPallet to pallet_migration
athei Jan 24, 2025
8b49073
Add benchmark
athei Jan 24, 2025
e5ec326
Merge branch 'master' into at/deposit
athei Jan 25, 2025
e775901
Update from athei running command 'bench-omni --runtime asset-hub-wes…
github-actions[bot] Jan 25, 2025
52c4d34
Remove no longer needed 64bit check on call
athei Jan 25, 2025
abbbb7f
Manually add new weights to the substrate weight file
athei Jan 25, 2025
c998988
Manually add new benchmark to all runtimes
athei Jan 25, 2025
c137bd7
clippy: Simplify boolean expression
athei Jan 26, 2025
d273bbe
Use benchmarked weight in migration
athei Jan 26, 2025
99abd13
Use value size of 32bytes
athei Jan 27, 2025
a259955
Clippy
athei Jan 27, 2025
fee7935
Update docs
athei Jan 27, 2025
283d802
Merge branch 'master' into at/deposit
athei Jan 27, 2025
dba9a1f
Update from mordamax running command 'bench-omni --runtime dev asset-…
github-actions[bot] Jan 27, 2025
7585e2d
Merge branch 'master' into at/deposit
athei Jan 27, 2025
3091457
Import `frame` is necessary for benchmark template
athei Jan 27, 2025
bb2dfc7
Update from athei running command 'fmt'
github-actions[bot] Jan 27, 2025
d5a7b0b
Merge branch 'master' into at/deposit
athei Jan 28, 2025
551bb9b
Return correct amount of weight when erroring out early
athei Jan 28, 2025
9abc232
Remove not needed GenesisBuild functionality
athei Jan 28, 2025
e13c470
Add stricter check in try-runtime
athei Jan 28, 2025
52537b4
Apply suggestions from code review
athei Jan 28, 2025
e507e92
Fixes after applying suggestions
athei Jan 28, 2025
740876f
Merge branch 'master' into at/deposit
athei Feb 3, 2025
9017422
Use try_consume
athei Feb 3, 2025
2ebf592
Update substrate/frame/migrations/src/migrations.rs
athei Feb 3, 2025
bf284d4
Fix benchmarking assertions
athei Feb 3, 2025
a0123d2
Don't use OnGenesis
athei Feb 3, 2025
c8febcf
Add checks back to benchmarks
athei Feb 4, 2025
3d5b9b5
Merge branch 'master' into at/deposit
athei Feb 4, 2025
1efd67d
Update from athei running command 'fmt'
github-actions[bot] Feb 4, 2025
a5c6d27
Remove commit because the benchmarking infra does this
athei Feb 4, 2025
9d00085
Fix warning
athei Feb 4, 2025
3726ddf
Don't add new trait
athei Feb 4, 2025
cfbfdfd
Merge branch 'master' into at/deposit
athei Feb 4, 2025
ff02ca0
Update from athei running command 'bench --runtime dev --pallet palle…
github-actions[bot] Feb 4, 2025
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
2 changes: 2 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 @@ -36,6 +36,7 @@ pallet-assets-freezer = { workspace = true }
pallet-aura = { workspace = true }
pallet-authorship = { workspace = true }
pallet-balances = { workspace = true }
pallet-migrations = { workspace = true }
pallet-multisig = { workspace = true }
pallet-nft-fractionalization = { workspace = true }
pallet-nfts = { workspace = true }
Expand Down Expand Up @@ -133,6 +134,7 @@ runtime-benchmarks = [
"pallet-balances/runtime-benchmarks",
"pallet-collator-selection/runtime-benchmarks",
"pallet-message-queue/runtime-benchmarks",
"pallet-migrations/runtime-benchmarks",
"pallet-multisig/runtime-benchmarks",
"pallet-nft-fractionalization/runtime-benchmarks",
"pallet-nfts/runtime-benchmarks",
Expand Down Expand Up @@ -177,6 +179,7 @@ try-runtime = [
"pallet-balances/try-runtime",
"pallet-collator-selection/try-runtime",
"pallet-message-queue/try-runtime",
"pallet-migrations/try-runtime",
"pallet-multisig/try-runtime",
"pallet-nft-fractionalization/try-runtime",
"pallet-nfts/try-runtime",
Expand Down Expand Up @@ -230,6 +233,7 @@ std = [
"pallet-balances/std",
"pallet-collator-selection/std",
"pallet-message-queue/std",
"pallet-migrations/std",
"pallet-multisig/std",
"pallet-nft-fractionalization/std",
"pallet-nfts-runtime-api/std",
Expand Down
22 changes: 22 additions & 0 deletions cumulus/parachains/runtimes/assets/asset-hub-westend/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ impl frame_system::Config for Runtime {
type SS58Prefix = SS58Prefix;
type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode<Self>;
type MaxConsumers = frame_support::traits::ConstU32<16>;
type MultiBlockMigrator = MultiBlockMigrations;
}

impl cumulus_pallet_weight_reclaim::Config for Runtime {
Expand Down Expand Up @@ -1095,6 +1096,25 @@ impl TryFrom<RuntimeCall> for pallet_revive::Call<Runtime> {
}
}

parameter_types! {
pub MbmServiceWeight: Weight = Perbill::from_percent(80) * RuntimeBlockWeights::get().max_block;
}

impl pallet_migrations::Config for Runtime {
type RuntimeEvent = RuntimeEvent;
#[cfg(not(feature = "runtime-benchmarks"))]
type Migrations = pallet_migrations::migrations::ResetPallet<Runtime, Revive>;
// Benchmarks need mocked migrations to guarantee that they succeed.
#[cfg(feature = "runtime-benchmarks")]
type Migrations = pallet_migrations::mock_helpers::MockedMigrations;
type CursorMaxLen = ConstU32<65_536>;
type IdentifierMaxLen = ConstU32<256>;
type MigrationStatusHandler = ();
type FailedMigrationHandler = frame_support::migrations::FreezeChainOnFailedMigration;
type MaxServiceWeight = MbmServiceWeight;
type WeightInfo = weights::pallet_migrations::WeightInfo<Runtime>;
}

// Create the runtime by composing the FRAME pallets that were previously configured.
construct_runtime!(
pub enum Runtime
Expand All @@ -1106,6 +1126,7 @@ construct_runtime!(
Timestamp: pallet_timestamp = 3,
ParachainInfo: parachain_info = 4,
WeightReclaim: cumulus_pallet_weight_reclaim = 5,
MultiBlockMigrations: pallet_migrations = 6,

// Monetary stuff.
Balances: pallet_balances = 10,
Expand Down Expand Up @@ -1430,6 +1451,7 @@ mod benches {
[pallet_asset_conversion_tx_payment, AssetTxPayment]
[pallet_balances, Balances]
[pallet_message_queue, MessageQueue]
[pallet_migrations, MultiBlockMigrations]
[pallet_multisig, Multisig]
[pallet_nft_fractionalization, NftFractionalization]
[pallet_nfts, Nfts]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ pub mod pallet_assets_pool;
pub mod pallet_balances;
pub mod pallet_collator_selection;
pub mod pallet_message_queue;
pub mod pallet_migrations;
pub mod pallet_multisig;
pub mod pallet_nft_fractionalization;
pub mod pallet_nfts;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
// 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_migrations`
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0
//! DATE: 2025-01-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! WORST CASE MAP SIZE: `1000000`
//! HOSTNAME: `17938671047b`, 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_migrations
// --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_migrations`.
pub struct WeightInfo<T>(PhantomData<T>);
impl<T: frame_system::Config> pallet_migrations::WeightInfo for WeightInfo<T> {
/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:1)
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
fn onboard_new_mbms() -> Weight {
// Proof Size summary in bytes:
// Measured: `171`
// Estimated: `67035`
// Minimum execution time: 8_697_000 picoseconds.
Weight::from_parts(8_998_000, 0)
.saturating_add(Weight::from_parts(0, 67035))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0)
/// 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: `42`
// Estimated: `67035`
// Minimum execution time: 2_737_000 picoseconds.
Weight::from_parts(2_813_000, 0)
.saturating_add(Weight::from_parts(0, 67035))
.saturating_add(T::DbWeight::get().reads(1))
}
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
/// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1)
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
fn exec_migration_completed() -> Weight {
// Proof Size summary in bytes:
// Measured: `129`
// Estimated: `3594`
// Minimum execution time: 6_181_000 picoseconds.
Weight::from_parts(6_458_000, 0)
.saturating_add(Weight::from_parts(0, 3594))
.saturating_add(T::DbWeight::get().reads(1))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
/// Storage: `MultiBlockMigrations::Historic` (r:1 w:0)
/// 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: `225`
// Estimated: `3731`
// Minimum execution time: 11_932_000 picoseconds.
Weight::from_parts(12_539_000, 0)
.saturating_add(Weight::from_parts(0, 3731))
.saturating_add(T::DbWeight::get().reads(2))
}
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
/// Storage: `MultiBlockMigrations::Historic` (r:1 w:0)
/// 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: `171`
// Estimated: `3731`
// Minimum execution time: 11_127_000 picoseconds.
Weight::from_parts(11_584_000, 0)
.saturating_add(Weight::from_parts(0, 3731))
.saturating_add(T::DbWeight::get().reads(2))
}
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
/// Storage: `MultiBlockMigrations::Historic` (r:1 w:1)
/// 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: `171`
// Estimated: `3731`
// Minimum execution time: 12_930_000 picoseconds.
Weight::from_parts(13_272_000, 0)
.saturating_add(Weight::from_parts(0, 3731))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
/// Storage: `MultiBlockMigrations::Historic` (r:1 w:0)
/// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`)
/// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1)
/// 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: `171`
// Estimated: `3731`
// Minimum execution time: 13_709_000 picoseconds.
Weight::from_parts(14_123_000, 0)
.saturating_add(Weight::from_parts(0, 3731))
.saturating_add(T::DbWeight::get().reads(2))
.saturating_add(T::DbWeight::get().writes(1))
}
fn on_init_loop() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 162_000 picoseconds.
Weight::from_parts(188_000, 0)
.saturating_add(Weight::from_parts(0, 0))
}
/// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1)
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
fn force_set_cursor() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 2_737_000 picoseconds.
Weight::from_parts(2_919_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `MultiBlockMigrations::Cursor` (r:0 w:1)
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
fn force_set_active_cursor() -> Weight {
// Proof Size summary in bytes:
// Measured: `0`
// Estimated: `0`
// Minimum execution time: 3_087_000 picoseconds.
Weight::from_parts(3_320_000, 0)
.saturating_add(Weight::from_parts(0, 0))
.saturating_add(T::DbWeight::get().writes(1))
}
/// Storage: `MultiBlockMigrations::Cursor` (r:1 w:0)
/// Proof: `MultiBlockMigrations::Cursor` (`max_values`: Some(1), `max_size`: Some(65550), added: 66045, mode: `MaxEncodedLen`)
/// Storage: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
/// Proof: UNKNOWN KEY `0x583359fe0e84d953a9dd84e8addb08a5` (r:1 w:0)
fn force_onboard_mbms() -> Weight {
// Proof Size summary in bytes:
// Measured: `147`
// Estimated: `67035`
// Minimum execution time: 6_470_000 picoseconds.
Weight::from_parts(6_760_000, 0)
.saturating_add(Weight::from_parts(0, 67035))
.saturating_add(T::DbWeight::get().reads(2))
}
/// Storage: `MultiBlockMigrations::Historic` (r:256 w:256)
/// Proof: `MultiBlockMigrations::Historic` (`max_values`: None, `max_size`: Some(266), added: 2741, mode: `MaxEncodedLen`)
/// The range of component `n` is `[0, 256]`.
fn clear_historic(n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `1022 + n * (271 ±0)`
// Estimated: `3834 + n * (2740 ±0)`
// Minimum execution time: 15_864_000 picoseconds.
Weight::from_parts(24_535_162, 0)
.saturating_add(Weight::from_parts(0, 3834))
// Standard Error: 8_688
.saturating_add(Weight::from_parts(1_530_542, 0).saturating_mul(n.into()))
.saturating_add(T::DbWeight::get().reads(1))
.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, 2740).saturating_mul(n.into()))
}
/// Storage: `Skipped::Metadata` (r:0 w:0)
/// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
/// The range of component `n` is `[0, 2048]`.
fn reset_pallet_migration(n: u32, ) -> Weight {
// Proof Size summary in bytes:
// Measured: `1680 + n * (38 ±0)`
// Estimated: `758 + n * (39 ±0)`
// Minimum execution time: 2_168_000 picoseconds.
Weight::from_parts(2_226_000, 0)
.saturating_add(Weight::from_parts(0, 758))
// Standard Error: 2_841
.saturating_add(Weight::from_parts(935_438, 0).saturating_mul(n.into()))
.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, 39).saturating_mul(n.into()))
}
}
Loading
Loading