diff --git a/pallets/duniter-wot/src/lib.rs b/pallets/duniter-wot/src/lib.rs index ed1c4fcff06d48093295c82b0a1e148e3dd1248a..bdede1716423f9b0e86607597760072abafb37ba 100644 --- a/pallets/duniter-wot/src/lib.rs +++ b/pallets/duniter-wot/src/lib.rs @@ -326,7 +326,7 @@ impl<T: Config<I>, I: 'static> sp_membership::traits::OnEvent<IdtyIndex> for Pal where T: pallet_membership::Config<I>, { - fn on_event(membership_event: &sp_membership::Event<IdtyIndex>) -> Weight { + fn on_event(membership_event: &sp_membership::Event<IdtyIndex>) { match membership_event { sp_membership::Event::<IdtyIndex>::MembershipAcquired(idty_index) => { if !T::IsSubWot::get() { @@ -355,9 +355,6 @@ where }); } } - // The weight accounting is performed where the handler is called. - // See in pallet-membership. - Weight::zero() } } diff --git a/pallets/membership/src/lib.rs b/pallets/membership/src/lib.rs index 606a4fc17e618db6ca8c3cd06d5f517a5ed3a8bc..0ab81a819a939adee9ba7bce43d444f916f0f276 100644 --- a/pallets/membership/src/lib.rs +++ b/pallets/membership/src/lib.rs @@ -377,14 +377,14 @@ pub mod pallet { /// perform membership expiration // add pending membership and schedule expiry of pending membership - fn do_expire_membership(idty_id: T::IdtyId, expire_on: T::BlockNumber) -> Weight { + fn do_expire_membership(idty_id: T::IdtyId, expire_on: T::BlockNumber) { if Membership::<T, I>::take(idty_id).is_some() { PendingMembership::<T, I>::insert(idty_id, ()); PendingMembershipsExpireOn::<T, I>::append(expire_on, idty_id); } // else should not happen Self::deposit_event(Event::MembershipExpired(idty_id)); - T::OnEvent::on_event(&sp_membership::Event::MembershipExpired(idty_id)) + T::OnEvent::on_event(&sp_membership::Event::MembershipExpired(idty_id)); } /// check the origin and get identity id if valid diff --git a/primitives/membership/src/traits.rs b/primitives/membership/src/traits.rs index 2b68516ca4af8d6d0700f3b2c36ceec038ed3764..28d0c52de235d2da970386928d5f6389a95cf58c 100644 --- a/primitives/membership/src/traits.rs +++ b/primitives/membership/src/traits.rs @@ -39,13 +39,11 @@ pub trait IsInPendingMemberships<IdtyId> { } pub trait OnEvent<IdtyId> { - fn on_event(event: &crate::Event<IdtyId>) -> Weight; + fn on_event(event: &crate::Event<IdtyId>); } impl<IdtyId> OnEvent<IdtyId> for () { - fn on_event(_: &crate::Event<IdtyId>) -> Weight { - Weight::zero() - } + fn on_event(_: &crate::Event<IdtyId>) {} } pub trait MembersCount { diff --git a/runtime/common/src/handlers.rs b/runtime/common/src/handlers.rs index d59ff5da5e929c19f79493a870141aeadcc5a040..a6eecb1c2f694248fc501d0e3c224d1281dc82d2 100644 --- a/runtime/common/src/handlers.rs +++ b/runtime/common/src/handlers.rs @@ -19,7 +19,6 @@ use super::{AccountId, IdtyIndex}; use frame_support::dispatch::UnfilteredDispatchable; use frame_support::instances::{Instance1, Instance2}; use frame_support::pallet_prelude::Weight; -use frame_support::traits::Get; use frame_support::Parameter; use pallet_identity::IdtyEvent; use sp_runtime::traits::IsMember; @@ -77,7 +76,7 @@ impl< + pallet_universal_dividend::Config, > sp_membership::traits::OnEvent<IdtyIndex> for OnMembershipEventHandler<Inner, Runtime> { - fn on_event(membership_event: &sp_membership::Event<IdtyIndex>) -> Weight { + fn on_event(membership_event: &sp_membership::Event<IdtyIndex>) { (match membership_event { // when membership is removed, call on_removed_member handler which auto claims UD sp_membership::Event::MembershipRevoked(idty_index) @@ -87,12 +86,8 @@ impl< pallet_universal_dividend::Pallet::<Runtime>::on_removed_member( first_ud_index, &idty_value.owner_key, - ) - } else { - Runtime::DbWeight::get().reads(1) + ); } - } else { - Runtime::DbWeight::get().reads(1) } } // when main membership is acquired, it starts getting right to UD @@ -103,16 +98,16 @@ impl< first_eligible_ud: pallet_universal_dividend::Pallet::<Runtime>::init_first_eligible_ud( ), - } + }; } }); - Weight::zero() } // in other case, ther is nothing to do sp_membership::Event::MembershipRenewed(_) | sp_membership::Event::MembershipRequested(_) - | sp_membership::Event::PendingMembershipExpired(_) => Weight::zero(), - }) + Inner::on_event(membership_event) + | sp_membership::Event::PendingMembershipExpired(_) => (), + }); + Inner::on_event(membership_event) } } @@ -129,12 +124,11 @@ impl< + pallet_membership::Config<Instance2>, > sp_membership::traits::OnEvent<IdtyIndex> for OnSmithMembershipEventHandler<Inner, Runtime> { - fn on_event(membership_event: &sp_membership::Event<IdtyIndex>) -> Weight { + fn on_event(membership_event: &sp_membership::Event<IdtyIndex>) { (match membership_event { sp_membership::Event::MembershipAcquired(_idty_index) => { // nothing when smith membership acquired // user will have to claim authority membership - Weight::zero() } sp_membership::Event::MembershipRevoked(idty_index) => { let call = pallet_authority_members::Call::<Runtime>::remove_member { @@ -147,10 +141,10 @@ impl< println!("faid to remove member: {:?}", e) } } - Weight::zero() } - _ => Weight::zero(), - }) + Inner::on_event(membership_event) + _ => (), + }); + Inner::on_event(membership_event) } } diff --git a/runtime/common/src/weights/pallet_quota.rs b/runtime/common/src/weights/pallet_quota.rs index 34cd1d25e969d82c227c8b1e4f42ae419731e393..f71b0ecc3aa6287afd9edeb719e419bc61b776f3 100644 --- a/runtime/common/src/weights/pallet_quota.rs +++ b/runtime/common/src/weights/pallet_quota.rs @@ -2,7 +2,7 @@ //! Autogenerated weights for `pallet_quota` //! //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev -//! DATE: 2023-11-22, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` +//! DATE: 2023-11-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]` //! WORST CASE MAP SIZE: `1000000` //! HOSTNAME: `bgallois-ms7d43`, CPU: `12th Gen Intel(R) Core(TM) i3-12100F` //! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: Some("dev"), DB CACHE: 1024 @@ -15,7 +15,7 @@ // dev // --wasm-execution=compiled // --pallet -// * +// pallet-quota // --extrinsic // * // --steps @@ -39,10 +39,10 @@ impl<T: frame_system::Config> pallet_quota::WeightInfo for WeightInfo<T> { /// Proof: Quota RefundQueue (max_values: Some(1), max_size: Some(11266), added: 11761, mode: MaxEncodedLen) fn queue_refund() -> Weight { // Proof Size summary in bytes: - // Measured: `43` + // Measured: `11288` // Estimated: `12751` - // Minimum execution time: 1_494_000 picoseconds. - Weight::from_parts(1_598_000, 0) + // Minimum execution time: 7_606_000 picoseconds. + Weight::from_parts(7_918_000, 0) .saturating_add(Weight::from_parts(0, 12751)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) @@ -53,30 +53,70 @@ impl<T: frame_system::Config> pallet_quota::WeightInfo for WeightInfo<T> { // Proof Size summary in bytes: // Measured: `139` // Estimated: `3489` - // Minimum execution time: 3_412_000 picoseconds. - Weight::from_parts(3_697_000, 0) + // Minimum execution time: 3_580_000 picoseconds. + Weight::from_parts(3_726_000, 0) .saturating_add(Weight::from_parts(0, 3489)) .saturating_add(T::DbWeight::get().reads(1)) .saturating_add(T::DbWeight::get().writes(1)) } /// Storage: Quota IdtyQuota (r:1 w:1) /// Proof: Quota IdtyQuota (max_values: None, max_size: Some(24), added: 2499, mode: MaxEncodedLen) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(126), added: 2601, mode: MaxEncodedLen) fn try_refund() -> Weight { // Proof Size summary in bytes: // Measured: `139` - // Estimated: `3489` - // Minimum execution time: 5_790_000 picoseconds. - Weight::from_parts(6_075_000, 0) - .saturating_add(Weight::from_parts(0, 3489)) - .saturating_add(T::DbWeight::get().reads(1)) + // Estimated: `3591` + // Minimum execution time: 11_309_000 picoseconds. + Weight::from_parts(11_843_000, 0) + .saturating_add(Weight::from_parts(0, 3591)) + .saturating_add(T::DbWeight::get().reads(2)) .saturating_add(T::DbWeight::get().writes(1)) } + /// Storage: Quota IdtyQuota (r:1 w:1) + /// Proof: Quota IdtyQuota (max_values: None, max_size: Some(24), added: 2499, mode: MaxEncodedLen) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(126), added: 2601, mode: MaxEncodedLen) fn do_refund() -> Weight { // Proof Size summary in bytes: - // Measured: `0` - // Estimated: `0` - // Minimum execution time: 2_161_000 picoseconds. - Weight::from_parts(2_267_000, 0) - .saturating_add(Weight::from_parts(0, 0)) + // Measured: `139` + // Estimated: `3591` + // Minimum execution time: 11_283_000 picoseconds. + Weight::from_parts(11_694_000, 0) + .saturating_add(Weight::from_parts(0, 3591)) + .saturating_add(T::DbWeight::get().reads(2)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: Quota RefundQueue (r:1 w:1) + /// Proof: Quota RefundQueue (max_values: Some(1), max_size: Some(11266), added: 11761, mode: MaxEncodedLen) + fn on_process_refund_queue() -> Weight { + // Proof Size summary in bytes: + // Measured: `43` + // Estimated: `12751` + // Minimum execution time: 1_456_000 picoseconds. + Weight::from_parts(1_569_000, 0) + .saturating_add(Weight::from_parts(0, 12751)) + .saturating_add(T::DbWeight::get().reads(1)) + .saturating_add(T::DbWeight::get().writes(1)) + } + /// Storage: Quota RefundQueue (r:1 w:1) + /// Proof: Quota RefundQueue (max_values: Some(1), max_size: Some(11266), added: 11761, mode: Measured) + /// Storage: Quota IdtyQuota (r:1 w:1) + /// Proof: Quota IdtyQuota (max_values: None, max_size: Some(24), added: 2499, mode: Measured) + /// Storage: System Account (r:1 w:0) + /// Proof: System Account (max_values: None, max_size: Some(126), added: 2601, mode: Measured) + /// The range of component `i` is `[1, 256]`. + fn on_process_refund_queue_elements(i: u32, ) -> Weight { + // Proof Size summary in bytes: + // Measured: `164 + i * (44 ±0)` + // Estimated: `3628 + i * (44 ±0)` + // Minimum execution time: 13_671_000 picoseconds. + Weight::from_parts(19_531_750, 0) + .saturating_add(Weight::from_parts(0, 3628)) + // Standard Error: 1_057 + .saturating_add(Weight::from_parts(476_555, 0).saturating_mul(i.into())) + .saturating_add(T::DbWeight::get().reads(3)) + .saturating_add(T::DbWeight::get().writes(2)) + .saturating_add(Weight::from_parts(0, 44).saturating_mul(i.into())) } }