From beb76a1472f43299b06e1473efe9eb99d4688bd5 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Sat, 31 Jan 2026 10:17:03 +0200 Subject: [PATCH 1/4] fix claim rewards to --- .../bridge-hubs/bridge-hub-rococo/src/lib.rs | 6 +- .../weights/pallet_bridge_relayers_legacy.rs | 119 +++++++----------- ...et_bridge_relayers_permissionless_lanes.rs | 109 +++++++--------- .../bridge-hubs/bridge-hub-westend/src/lib.rs | 5 +- .../src/weights/pallet_bridge_relayers.rs | 109 +++++++--------- 5 files changed, 139 insertions(+), 209 deletions(-) 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 57fbdc1b0453b..4fda632d8e175 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 @@ -1506,7 +1506,8 @@ impl_runtime_apis! { >::rewards_account(reward_kind); >::deposit_account(rewards_account, reward); - None + // Return a valid beneficiary for the benchmark + Some(AccountId::from([2u8; 32])) } fn deposit_account(account: AccountId, balance: Balance) { @@ -1536,7 +1537,8 @@ impl_runtime_apis! { >::rewards_account(reward_kind); >::deposit_account(rewards_account, reward); - None + // Return a valid beneficiary for the benchmark + Some(AccountId::from([2u8; 32])) } fn deposit_account(account: AccountId, balance: Balance) { diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_legacy.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_legacy.rs index d94454896e53e..0fc62b237a524 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_legacy.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_legacy.rs @@ -16,25 +16,32 @@ //! Autogenerated weights for `pallet_bridge_relayers` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2026-01-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `814af52b0d43`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `MacBook-Pro-4.local`, CPU: `` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: -// frame-omni-bencher +// ./target/release/frame-omni-bencher // v1 // benchmark // pallet -// --extrinsic=* -// --runtime=target/production/wbuild/bridge-hub-rococo-runtime/bridge_hub_rococo_runtime.wasm -// --pallet=pallet_bridge_relayers -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 +// --runtime +// target/release/wbuild/bridge-hub-rococo-runtime/bridge_hub_rococo_runtime.wasm +// -p +// pallet_bridge_relayers +// -e +// * +// --output +// ./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_legacy.rs +// --header +// ./cumulus/file_header.txt +// -s +// 50 +// -r +// 20 +// --heap-pages +// 4096 // --no-storage-info // --no-min-squares // --no-median-slopes @@ -50,84 +57,52 @@ use core::marker::PhantomData; /// Weight functions for `pallet_bridge_relayers`. pub struct WeightInfo(PhantomData); impl pallet_bridge_relayers::WeightInfo for WeightInfo { - /// Storage: `BridgeRelayers::RelayerRewards` (r:1 w:1) - /// Proof: `BridgeRelayers::RelayerRewards` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn claim_rewards() -> Weight { // Proof Size summary in bytes: - // Measured: `278` - // Estimated: `3593` - // Minimum execution time: 51_960_000 picoseconds. - Weight::from_parts(53_358_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) + // Measured: `270` + // Estimated: `0` + // Minimum execution time: 37_000_000 picoseconds. + Weight::from_parts(39_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `Benchmark::Override` (r:0 w:0) - /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) fn claim_rewards_to() -> Weight { // Proof Size summary in bytes: - // Measured: `0` + // Measured: `322` // Estimated: `0` - // Minimum execution time: 18_446_744_073_709_551_000 picoseconds. - Weight::from_parts(18_446_744_073_709_551_000, 0) + // Minimum execution time: 40_000_000 picoseconds. + Weight::from_parts(42_000_000, 0) .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `BridgeRelayers::RegisteredRelayers` (r:1 w:1) - /// Proof: `BridgeRelayers::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - /// Storage: UNKNOWN KEY `0x1e8445dc201eeb8560e5579a5dd54655` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x1e8445dc201eeb8560e5579a5dd54655` (r:1 w:0) - /// Storage: `Balances::Reserves` (r:1 w:1) - /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn register() -> Weight { // Proof Size summary in bytes: - // Measured: `131` - // Estimated: `4714` - // Minimum execution time: 28_388_000 picoseconds. - Weight::from_parts(29_250_000, 0) - .saturating_add(Weight::from_parts(0, 4714)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) + // Measured: `58` + // Estimated: `0` + // Minimum execution time: 18_000_000 picoseconds. + Weight::from_parts(19_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `BridgeRelayers::RegisteredRelayers` (r:1 w:1) - /// Proof: `BridgeRelayers::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - /// Storage: `Balances::Reserves` (r:1 w:1) - /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn deregister() -> Weight { // Proof Size summary in bytes: - // Measured: `231` - // Estimated: `4714` - // Minimum execution time: 33_079_000 picoseconds. - Weight::from_parts(33_896_000, 0) - .saturating_add(Weight::from_parts(0, 4714)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) + // Measured: `158` + // Estimated: `0` + // Minimum execution time: 17_000_000 picoseconds. + Weight::from_parts(20_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `BridgeRelayers::RegisteredRelayers` (r:1 w:1) - /// Proof: `BridgeRelayers::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - /// Storage: `Balances::Reserves` (r:1 w:1) - /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn slash_and_deregister() -> Weight { // Proof Size summary in bytes: - // Measured: `231` - // Estimated: `4714` - // Minimum execution time: 27_488_000 picoseconds. - Weight::from_parts(28_278_000, 0) - .saturating_add(Weight::from_parts(0, 4714)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) + // Measured: `158` + // Estimated: `0` + // Minimum execution time: 16_000_000 picoseconds. + Weight::from_parts(17_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `BridgeRelayers::RelayerRewards` (r:1 w:1) - /// Proof: `BridgeRelayers::RelayerRewards` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn register_relayer_reward() -> Weight { // Proof Size summary in bytes: - // Measured: `76` - // Estimated: `3538` - // Minimum execution time: 7_318_000 picoseconds. - Weight::from_parts(7_707_000, 0) - .saturating_add(Weight::from_parts(0, 3538)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + // Measured: `3` + // Estimated: `0` + // Minimum execution time: 4_000_000 picoseconds. + Weight::from_parts(5_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } } diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_permissionless_lanes.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_permissionless_lanes.rs index 97aa67fab1d5b..0fc62b237a524 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_permissionless_lanes.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_permissionless_lanes.rs @@ -16,25 +16,32 @@ //! Autogenerated weights for `pallet_bridge_relayers` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2026-01-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `814af52b0d43`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `MacBook-Pro-4.local`, CPU: `` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: -// frame-omni-bencher +// ./target/release/frame-omni-bencher // v1 // benchmark // pallet -// --extrinsic=* -// --runtime=target/production/wbuild/bridge-hub-rococo-runtime/bridge_hub_rococo_runtime.wasm -// --pallet=pallet_bridge_relayers -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 +// --runtime +// target/release/wbuild/bridge-hub-rococo-runtime/bridge_hub_rococo_runtime.wasm +// -p +// pallet_bridge_relayers +// -e +// * +// --output +// ./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_legacy.rs +// --header +// ./cumulus/file_header.txt +// -s +// 50 +// -r +// 20 +// --heap-pages +// 4096 // --no-storage-info // --no-min-squares // --no-median-slopes @@ -50,84 +57,52 @@ use core::marker::PhantomData; /// Weight functions for `pallet_bridge_relayers`. pub struct WeightInfo(PhantomData); impl pallet_bridge_relayers::WeightInfo for WeightInfo { - /// Storage: `BridgeRelayersForPermissionlessLanes::RelayerRewards` (r:1 w:1) - /// Proof: `BridgeRelayersForPermissionlessLanes::RelayerRewards` (`max_values`: None, `max_size`: Some(101), added: 2576, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn claim_rewards() -> Weight { // Proof Size summary in bytes: // Measured: `270` - // Estimated: `3593` - // Minimum execution time: 53_722_000 picoseconds. - Weight::from_parts(55_266_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) + // Estimated: `0` + // Minimum execution time: 37_000_000 picoseconds. + Weight::from_parts(39_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `Benchmark::Override` (r:0 w:0) - /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) fn claim_rewards_to() -> Weight { // Proof Size summary in bytes: - // Measured: `0` + // Measured: `322` // Estimated: `0` - // Minimum execution time: 18_446_744_073_709_551_000 picoseconds. - Weight::from_parts(18_446_744_073_709_551_000, 0) + // Minimum execution time: 40_000_000 picoseconds. + Weight::from_parts(42_000_000, 0) .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `BridgeRelayersForPermissionlessLanes::RegisteredRelayers` (r:1 w:1) - /// Proof: `BridgeRelayersForPermissionlessLanes::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - /// Storage: UNKNOWN KEY `0x1e8445dc201eeb8560e5579a5dd54655` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x1e8445dc201eeb8560e5579a5dd54655` (r:1 w:0) - /// Storage: `Balances::Reserves` (r:1 w:1) - /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn register() -> Weight { // Proof Size summary in bytes: // Measured: `58` - // Estimated: `4714` - // Minimum execution time: 28_000_000 picoseconds. - Weight::from_parts(28_702_000, 0) - .saturating_add(Weight::from_parts(0, 4714)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) + // Estimated: `0` + // Minimum execution time: 18_000_000 picoseconds. + Weight::from_parts(19_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `BridgeRelayersForPermissionlessLanes::RegisteredRelayers` (r:1 w:1) - /// Proof: `BridgeRelayersForPermissionlessLanes::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - /// Storage: `Balances::Reserves` (r:1 w:1) - /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn deregister() -> Weight { // Proof Size summary in bytes: // Measured: `158` - // Estimated: `4714` - // Minimum execution time: 28_300_000 picoseconds. - Weight::from_parts(29_460_000, 0) - .saturating_add(Weight::from_parts(0, 4714)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) + // Estimated: `0` + // Minimum execution time: 17_000_000 picoseconds. + Weight::from_parts(20_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `BridgeRelayersForPermissionlessLanes::RegisteredRelayers` (r:1 w:1) - /// Proof: `BridgeRelayersForPermissionlessLanes::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - /// Storage: `Balances::Reserves` (r:1 w:1) - /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn slash_and_deregister() -> Weight { // Proof Size summary in bytes: // Measured: `158` - // Estimated: `4714` - // Minimum execution time: 23_121_000 picoseconds. - Weight::from_parts(23_631_000, 0) - .saturating_add(Weight::from_parts(0, 4714)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) + // Estimated: `0` + // Minimum execution time: 16_000_000 picoseconds. + Weight::from_parts(17_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `BridgeRelayersForPermissionlessLanes::RelayerRewards` (r:1 w:1) - /// Proof: `BridgeRelayersForPermissionlessLanes::RelayerRewards` (`max_values`: None, `max_size`: Some(101), added: 2576, mode: `MaxEncodedLen`) fn register_relayer_reward() -> Weight { // Proof Size summary in bytes: // Measured: `3` - // Estimated: `3566` - // Minimum execution time: 6_982_000 picoseconds. - Weight::from_parts(7_354_000, 0) - .saturating_add(Weight::from_parts(0, 3566)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + // Estimated: `0` + // Minimum execution time: 4_000_000 picoseconds. + Weight::from_parts(5_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } } 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 3b9f440c1e5d1..08c1d89f3aae5 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 @@ -1409,7 +1409,10 @@ impl_runtime_apis! { >::rewards_account(reward_kind); Self::deposit_account(rewards_account, reward); - None + // Return a valid beneficiary for the benchmark + Some(bridge_common_config::BridgeRewardBeneficiaries::LocalAccount( + AccountId::from([2u8; 32]), + )) } fn deposit_account(account: AccountId, balance: Balance) { diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/pallet_bridge_relayers.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/pallet_bridge_relayers.rs index 4600700cef7af..330e72ee48d73 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/pallet_bridge_relayers.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/pallet_bridge_relayers.rs @@ -16,25 +16,32 @@ //! Autogenerated weights for `pallet_bridge_relayers` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2026-01-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `d3b41be4aae8`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` +//! HOSTNAME: `MacBook-Pro-4.local`, CPU: `` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: -// frame-omni-bencher +// ./target/release/frame-omni-bencher // v1 // benchmark // pallet -// --extrinsic=* -// --runtime=target/production/wbuild/bridge-hub-westend-runtime/bridge_hub_westend_runtime.wasm -// --pallet=pallet_bridge_relayers -// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt -// --output=./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights -// --wasm-execution=compiled -// --steps=50 -// --repeat=20 -// --heap-pages=4096 +// --runtime +// target/release/wbuild/bridge-hub-westend-runtime/bridge_hub_westend_runtime.wasm +// -p +// pallet_bridge_relayers +// -e +// * +// --output +// ./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/pallet_bridge_relayers.rs +// --header +// ./cumulus/file_header.txt +// -s +// 50 +// -r +// 20 +// --heap-pages +// 4096 // --no-storage-info // --no-min-squares // --no-median-slopes @@ -50,84 +57,52 @@ use core::marker::PhantomData; /// Weight functions for `pallet_bridge_relayers`. pub struct WeightInfo(PhantomData); impl pallet_bridge_relayers::WeightInfo for WeightInfo { - /// Storage: `BridgeRelayers::RelayerRewards` (r:1 w:1) - /// Proof: `BridgeRelayers::RelayerRewards` (`max_values`: None, `max_size`: Some(74), added: 2549, mode: `MaxEncodedLen`) - /// Storage: `System::Account` (r:1 w:1) - /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn claim_rewards() -> Weight { // Proof Size summary in bytes: // Measured: `245` - // Estimated: `3593` - // Minimum execution time: 53_074_000 picoseconds. - Weight::from_parts(54_759_000, 0) - .saturating_add(Weight::from_parts(0, 3593)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) + // Estimated: `0` + // Minimum execution time: 38_000_000 picoseconds. + Weight::from_parts(39_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `Benchmark::Override` (r:0 w:0) - /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) fn claim_rewards_to() -> Weight { // Proof Size summary in bytes: - // Measured: `0` + // Measured: `297` // Estimated: `0` - // Minimum execution time: 18_446_744_073_709_551_000 picoseconds. - Weight::from_parts(18_446_744_073_709_551_000, 0) + // Minimum execution time: 39_000_000 picoseconds. + Weight::from_parts(40_000_000, 0) .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `BridgeRelayers::RegisteredRelayers` (r:1 w:1) - /// Proof: `BridgeRelayers::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - /// Storage: UNKNOWN KEY `0x1e8445dc201eeb8560e5579a5dd54655` (r:1 w:0) - /// Proof: UNKNOWN KEY `0x1e8445dc201eeb8560e5579a5dd54655` (r:1 w:0) - /// Storage: `Balances::Reserves` (r:1 w:1) - /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn register() -> Weight { // Proof Size summary in bytes: // Measured: `97` - // Estimated: `4714` - // Minimum execution time: 28_995_000 picoseconds. - Weight::from_parts(29_546_000, 0) - .saturating_add(Weight::from_parts(0, 4714)) - .saturating_add(T::DbWeight::get().reads(3)) - .saturating_add(T::DbWeight::get().writes(2)) + // Estimated: `0` + // Minimum execution time: 19_000_000 picoseconds. + Weight::from_parts(20_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `BridgeRelayers::RegisteredRelayers` (r:1 w:1) - /// Proof: `BridgeRelayers::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - /// Storage: `Balances::Reserves` (r:1 w:1) - /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn deregister() -> Weight { // Proof Size summary in bytes: // Measured: `197` - // Estimated: `4714` - // Minimum execution time: 29_628_000 picoseconds. - Weight::from_parts(30_523_000, 0) - .saturating_add(Weight::from_parts(0, 4714)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) + // Estimated: `0` + // Minimum execution time: 19_000_000 picoseconds. + Weight::from_parts(20_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `BridgeRelayers::RegisteredRelayers` (r:1 w:1) - /// Proof: `BridgeRelayers::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) - /// Storage: `Balances::Reserves` (r:1 w:1) - /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn slash_and_deregister() -> Weight { // Proof Size summary in bytes: // Measured: `197` - // Estimated: `4714` - // Minimum execution time: 23_510_000 picoseconds. - Weight::from_parts(24_095_000, 0) - .saturating_add(Weight::from_parts(0, 4714)) - .saturating_add(T::DbWeight::get().reads(2)) - .saturating_add(T::DbWeight::get().writes(2)) + // Estimated: `0` + // Minimum execution time: 17_000_000 picoseconds. + Weight::from_parts(18_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } - /// Storage: `BridgeRelayers::RelayerRewards` (r:1 w:1) - /// Proof: `BridgeRelayers::RelayerRewards` (`max_values`: None, `max_size`: Some(74), added: 2549, mode: `MaxEncodedLen`) fn register_relayer_reward() -> Weight { // Proof Size summary in bytes: // Measured: `42` - // Estimated: `3539` - // Minimum execution time: 7_212_000 picoseconds. - Weight::from_parts(7_552_000, 0) - .saturating_add(Weight::from_parts(0, 3539)) - .saturating_add(T::DbWeight::get().reads(1)) - .saturating_add(T::DbWeight::get().writes(1)) + // Estimated: `0` + // Minimum execution time: 4_000_000 picoseconds. + Weight::from_parts(5_000_000, 0) + .saturating_add(Weight::from_parts(0, 0)) } } From ccf900d8e18f9c0ad0569c3b3ce1f56ed1975d4d Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Sat, 31 Jan 2026 10:25:46 +0200 Subject: [PATCH 2/4] revert rococo --- .../bridge-hubs/bridge-hub-rococo/src/lib.rs | 6 +- .../weights/pallet_bridge_relayers_legacy.rs | 119 +++++++++++------- ...et_bridge_relayers_permissionless_lanes.rs | 109 +++++++++------- 3 files changed, 141 insertions(+), 93 deletions(-) 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 4fda632d8e175..57fbdc1b0453b 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 @@ -1506,8 +1506,7 @@ impl_runtime_apis! { >::rewards_account(reward_kind); >::deposit_account(rewards_account, reward); - // Return a valid beneficiary for the benchmark - Some(AccountId::from([2u8; 32])) + None } fn deposit_account(account: AccountId, balance: Balance) { @@ -1537,8 +1536,7 @@ impl_runtime_apis! { >::rewards_account(reward_kind); >::deposit_account(rewards_account, reward); - // Return a valid beneficiary for the benchmark - Some(AccountId::from([2u8; 32])) + None } fn deposit_account(account: AccountId, balance: Balance) { diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_legacy.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_legacy.rs index 0fc62b237a524..d94454896e53e 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_legacy.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_legacy.rs @@ -16,32 +16,25 @@ //! Autogenerated weights for `pallet_bridge_relayers` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2026-01-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `MacBook-Pro-4.local`, CPU: `` +//! HOSTNAME: `814af52b0d43`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: -// ./target/release/frame-omni-bencher +// frame-omni-bencher // v1 // benchmark // pallet -// --runtime -// target/release/wbuild/bridge-hub-rococo-runtime/bridge_hub_rococo_runtime.wasm -// -p -// pallet_bridge_relayers -// -e -// * -// --output -// ./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_legacy.rs -// --header -// ./cumulus/file_header.txt -// -s -// 50 -// -r -// 20 -// --heap-pages -// 4096 +// --extrinsic=* +// --runtime=target/production/wbuild/bridge-hub-rococo-runtime/bridge_hub_rococo_runtime.wasm +// --pallet=pallet_bridge_relayers +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights +// --wasm-execution=compiled +// --steps=50 +// --repeat=20 +// --heap-pages=4096 // --no-storage-info // --no-min-squares // --no-median-slopes @@ -57,52 +50,84 @@ use core::marker::PhantomData; /// Weight functions for `pallet_bridge_relayers`. pub struct WeightInfo(PhantomData); impl pallet_bridge_relayers::WeightInfo for WeightInfo { + /// Storage: `BridgeRelayers::RelayerRewards` (r:1 w:1) + /// Proof: `BridgeRelayers::RelayerRewards` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn claim_rewards() -> Weight { // Proof Size summary in bytes: - // Measured: `270` - // Estimated: `0` - // Minimum execution time: 37_000_000 picoseconds. - Weight::from_parts(39_000_000, 0) - .saturating_add(Weight::from_parts(0, 0)) + // Measured: `278` + // Estimated: `3593` + // Minimum execution time: 51_960_000 picoseconds. + Weight::from_parts(53_358_000, 0) + .saturating_add(Weight::from_parts(0, 3593)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) } + /// Storage: `Benchmark::Override` (r:0 w:0) + /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) fn claim_rewards_to() -> Weight { // Proof Size summary in bytes: - // Measured: `322` + // Measured: `0` // Estimated: `0` - // Minimum execution time: 40_000_000 picoseconds. - Weight::from_parts(42_000_000, 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: `BridgeRelayers::RegisteredRelayers` (r:1 w:1) + /// Proof: `BridgeRelayers::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0x1e8445dc201eeb8560e5579a5dd54655` (r:1 w:0) + /// Proof: UNKNOWN KEY `0x1e8445dc201eeb8560e5579a5dd54655` (r:1 w:0) + /// Storage: `Balances::Reserves` (r:1 w:1) + /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn register() -> Weight { // Proof Size summary in bytes: - // Measured: `58` - // Estimated: `0` - // Minimum execution time: 18_000_000 picoseconds. - Weight::from_parts(19_000_000, 0) - .saturating_add(Weight::from_parts(0, 0)) + // Measured: `131` + // Estimated: `4714` + // Minimum execution time: 28_388_000 picoseconds. + Weight::from_parts(29_250_000, 0) + .saturating_add(Weight::from_parts(0, 4714)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(2)) } + /// Storage: `BridgeRelayers::RegisteredRelayers` (r:1 w:1) + /// Proof: `BridgeRelayers::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + /// Storage: `Balances::Reserves` (r:1 w:1) + /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn deregister() -> Weight { // Proof Size summary in bytes: - // Measured: `158` - // Estimated: `0` - // Minimum execution time: 17_000_000 picoseconds. - Weight::from_parts(20_000_000, 0) - .saturating_add(Weight::from_parts(0, 0)) + // Measured: `231` + // Estimated: `4714` + // Minimum execution time: 33_079_000 picoseconds. + Weight::from_parts(33_896_000, 0) + .saturating_add(Weight::from_parts(0, 4714)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) } + /// Storage: `BridgeRelayers::RegisteredRelayers` (r:1 w:1) + /// Proof: `BridgeRelayers::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + /// Storage: `Balances::Reserves` (r:1 w:1) + /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn slash_and_deregister() -> Weight { // Proof Size summary in bytes: - // Measured: `158` - // Estimated: `0` - // Minimum execution time: 16_000_000 picoseconds. - Weight::from_parts(17_000_000, 0) - .saturating_add(Weight::from_parts(0, 0)) + // Measured: `231` + // Estimated: `4714` + // Minimum execution time: 27_488_000 picoseconds. + Weight::from_parts(28_278_000, 0) + .saturating_add(Weight::from_parts(0, 4714)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) } + /// Storage: `BridgeRelayers::RelayerRewards` (r:1 w:1) + /// Proof: `BridgeRelayers::RelayerRewards` (`max_values`: None, `max_size`: Some(73), added: 2548, mode: `MaxEncodedLen`) fn register_relayer_reward() -> Weight { // Proof Size summary in bytes: - // Measured: `3` - // Estimated: `0` - // Minimum execution time: 4_000_000 picoseconds. - Weight::from_parts(5_000_000, 0) - .saturating_add(Weight::from_parts(0, 0)) + // Measured: `76` + // Estimated: `3538` + // Minimum execution time: 7_318_000 picoseconds. + Weight::from_parts(7_707_000, 0) + .saturating_add(Weight::from_parts(0, 3538)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) } } diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_permissionless_lanes.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_permissionless_lanes.rs index 0fc62b237a524..97aa67fab1d5b 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_permissionless_lanes.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_permissionless_lanes.rs @@ -16,32 +16,25 @@ //! Autogenerated weights for `pallet_bridge_relayers` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 32.0.0 -//! DATE: 2026-01-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2025-02-21, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` -//! HOSTNAME: `MacBook-Pro-4.local`, CPU: `` +//! HOSTNAME: `814af52b0d43`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz` //! WASM-EXECUTION: `Compiled`, CHAIN: `None`, DB CACHE: 1024 // Executed Command: -// ./target/release/frame-omni-bencher +// frame-omni-bencher // v1 // benchmark // pallet -// --runtime -// target/release/wbuild/bridge-hub-rococo-runtime/bridge_hub_rococo_runtime.wasm -// -p -// pallet_bridge_relayers -// -e -// * -// --output -// ./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights/pallet_bridge_relayers_legacy.rs -// --header -// ./cumulus/file_header.txt -// -s -// 50 -// -r -// 20 -// --heap-pages -// 4096 +// --extrinsic=* +// --runtime=target/production/wbuild/bridge-hub-rococo-runtime/bridge_hub_rococo_runtime.wasm +// --pallet=pallet_bridge_relayers +// --header=/__w/polkadot-sdk/polkadot-sdk/cumulus/file_header.txt +// --output=./cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo/src/weights +// --wasm-execution=compiled +// --steps=50 +// --repeat=20 +// --heap-pages=4096 // --no-storage-info // --no-min-squares // --no-median-slopes @@ -57,52 +50,84 @@ use core::marker::PhantomData; /// Weight functions for `pallet_bridge_relayers`. pub struct WeightInfo(PhantomData); impl pallet_bridge_relayers::WeightInfo for WeightInfo { + /// Storage: `BridgeRelayersForPermissionlessLanes::RelayerRewards` (r:1 w:1) + /// Proof: `BridgeRelayersForPermissionlessLanes::RelayerRewards` (`max_values`: None, `max_size`: Some(101), added: 2576, mode: `MaxEncodedLen`) + /// Storage: `System::Account` (r:1 w:1) + /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`) fn claim_rewards() -> Weight { // Proof Size summary in bytes: // Measured: `270` - // Estimated: `0` - // Minimum execution time: 37_000_000 picoseconds. - Weight::from_parts(39_000_000, 0) - .saturating_add(Weight::from_parts(0, 0)) + // Estimated: `3593` + // Minimum execution time: 53_722_000 picoseconds. + Weight::from_parts(55_266_000, 0) + .saturating_add(Weight::from_parts(0, 3593)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) } + /// Storage: `Benchmark::Override` (r:0 w:0) + /// Proof: `Benchmark::Override` (`max_values`: None, `max_size`: None, mode: `Measured`) fn claim_rewards_to() -> Weight { // Proof Size summary in bytes: - // Measured: `322` + // Measured: `0` // Estimated: `0` - // Minimum execution time: 40_000_000 picoseconds. - Weight::from_parts(42_000_000, 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: `BridgeRelayersForPermissionlessLanes::RegisteredRelayers` (r:1 w:1) + /// Proof: `BridgeRelayersForPermissionlessLanes::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + /// Storage: UNKNOWN KEY `0x1e8445dc201eeb8560e5579a5dd54655` (r:1 w:0) + /// Proof: UNKNOWN KEY `0x1e8445dc201eeb8560e5579a5dd54655` (r:1 w:0) + /// Storage: `Balances::Reserves` (r:1 w:1) + /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn register() -> Weight { // Proof Size summary in bytes: // Measured: `58` - // Estimated: `0` - // Minimum execution time: 18_000_000 picoseconds. - Weight::from_parts(19_000_000, 0) - .saturating_add(Weight::from_parts(0, 0)) + // Estimated: `4714` + // Minimum execution time: 28_000_000 picoseconds. + Weight::from_parts(28_702_000, 0) + .saturating_add(Weight::from_parts(0, 4714)) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(2)) } + /// Storage: `BridgeRelayersForPermissionlessLanes::RegisteredRelayers` (r:1 w:1) + /// Proof: `BridgeRelayersForPermissionlessLanes::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + /// Storage: `Balances::Reserves` (r:1 w:1) + /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn deregister() -> Weight { // Proof Size summary in bytes: // Measured: `158` - // Estimated: `0` - // Minimum execution time: 17_000_000 picoseconds. - Weight::from_parts(20_000_000, 0) - .saturating_add(Weight::from_parts(0, 0)) + // Estimated: `4714` + // Minimum execution time: 28_300_000 picoseconds. + Weight::from_parts(29_460_000, 0) + .saturating_add(Weight::from_parts(0, 4714)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) } + /// Storage: `BridgeRelayersForPermissionlessLanes::RegisteredRelayers` (r:1 w:1) + /// Proof: `BridgeRelayersForPermissionlessLanes::RegisteredRelayers` (`max_values`: None, `max_size`: Some(68), added: 2543, mode: `MaxEncodedLen`) + /// Storage: `Balances::Reserves` (r:1 w:1) + /// Proof: `Balances::Reserves` (`max_values`: None, `max_size`: Some(1249), added: 3724, mode: `MaxEncodedLen`) fn slash_and_deregister() -> Weight { // Proof Size summary in bytes: // Measured: `158` - // Estimated: `0` - // Minimum execution time: 16_000_000 picoseconds. - Weight::from_parts(17_000_000, 0) - .saturating_add(Weight::from_parts(0, 0)) + // Estimated: `4714` + // Minimum execution time: 23_121_000 picoseconds. + Weight::from_parts(23_631_000, 0) + .saturating_add(Weight::from_parts(0, 4714)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(2)) } + /// Storage: `BridgeRelayersForPermissionlessLanes::RelayerRewards` (r:1 w:1) + /// Proof: `BridgeRelayersForPermissionlessLanes::RelayerRewards` (`max_values`: None, `max_size`: Some(101), added: 2576, mode: `MaxEncodedLen`) fn register_relayer_reward() -> Weight { // Proof Size summary in bytes: // Measured: `3` - // Estimated: `0` - // Minimum execution time: 4_000_000 picoseconds. - Weight::from_parts(5_000_000, 0) - .saturating_add(Weight::from_parts(0, 0)) + // Estimated: `3566` + // Minimum execution time: 6_982_000 picoseconds. + Weight::from_parts(7_354_000, 0) + .saturating_add(Weight::from_parts(0, 3566)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) } } From acdcccd5303b0c7ba6e376b5f48fe536b1bf5a5d Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Sat, 31 Jan 2026 11:04:56 +0200 Subject: [PATCH 3/4] update benchmark --- .../bridge-hubs/bridge-hub-westend/src/lib.rs | 5 ++--- .../src/weights/pallet_bridge_relayers.rs | 14 +++++++------- 2 files changed, 9 insertions(+), 10 deletions(-) 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 08c1d89f3aae5..84e6a3542457d 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 @@ -1407,11 +1407,10 @@ impl_runtime_apis! { bp_messages::LegacyLaneId, u128, >::rewards_account(reward_kind); - Self::deposit_account(rewards_account, reward); + Self::deposit_account(rewards_account.clone(), reward); - // Return a valid beneficiary for the benchmark Some(bridge_common_config::BridgeRewardBeneficiaries::LocalAccount( - AccountId::from([2u8; 32]), + rewards_account, )) } diff --git a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/pallet_bridge_relayers.rs b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/pallet_bridge_relayers.rs index 330e72ee48d73..dc9e7398c76c9 100644 --- a/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/pallet_bridge_relayers.rs +++ b/cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend/src/weights/pallet_bridge_relayers.rs @@ -61,23 +61,23 @@ impl pallet_bridge_relayers::WeightInfo for WeightInfo< // Proof Size summary in bytes: // Measured: `245` // Estimated: `0` - // Minimum execution time: 38_000_000 picoseconds. - Weight::from_parts(39_000_000, 0) + // Minimum execution time: 39_000_000 picoseconds. + Weight::from_parts(40_000_000, 0) .saturating_add(Weight::from_parts(0, 0)) } fn claim_rewards_to() -> Weight { // Proof Size summary in bytes: // Measured: `297` // Estimated: `0` - // Minimum execution time: 39_000_000 picoseconds. - Weight::from_parts(40_000_000, 0) + // Minimum execution time: 40_000_000 picoseconds. + Weight::from_parts(41_000_000, 0) .saturating_add(Weight::from_parts(0, 0)) } fn register() -> Weight { // Proof Size summary in bytes: // Measured: `97` // Estimated: `0` - // Minimum execution time: 19_000_000 picoseconds. + // Minimum execution time: 20_000_000 picoseconds. Weight::from_parts(20_000_000, 0) .saturating_add(Weight::from_parts(0, 0)) } @@ -85,7 +85,7 @@ impl pallet_bridge_relayers::WeightInfo for WeightInfo< // Proof Size summary in bytes: // Measured: `197` // Estimated: `0` - // Minimum execution time: 19_000_000 picoseconds. + // Minimum execution time: 20_000_000 picoseconds. Weight::from_parts(20_000_000, 0) .saturating_add(Weight::from_parts(0, 0)) } @@ -102,7 +102,7 @@ impl pallet_bridge_relayers::WeightInfo for WeightInfo< // Measured: `42` // Estimated: `0` // Minimum execution time: 4_000_000 picoseconds. - Weight::from_parts(5_000_000, 0) + Weight::from_parts(6_000_000, 0) .saturating_add(Weight::from_parts(0, 0)) } } From 7b22f4c107ac7d1512b3842da4e720032f897e28 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Sat, 31 Jan 2026 11:12:48 +0200 Subject: [PATCH 4/4] prdoc --- prdoc/pr_10952.prdoc | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 prdoc/pr_10952.prdoc diff --git a/prdoc/pr_10952.prdoc b/prdoc/pr_10952.prdoc new file mode 100644 index 0000000000000..23efba91c4063 --- /dev/null +++ b/prdoc/pr_10952.prdoc @@ -0,0 +1,11 @@ +title: 'Fix `claim_rewards_to` benchmark to enable Snowbridge reward claims' +doc: +- audience: Runtime Dev + description: |- + The `prepare_rewards_account` benchmark helper was returning `None`, causing `claim_rewards_to` + to be assigned `Weight::MAX` and effectively disabling the extrinsic in production. This fix + returns a valid beneficiary account, enabling Snowbridge relayers to claim rewards to AssetHub + as intended. +crates: +- name: bridge-hub-westend-runtime + bump: patch