[Collator Selection] Fix weight refund for set_candidacy_bond (#3643)

Fixes #3642 

This PR implements the weight refund of
`pallet_collator_selection::set_candidacy_bond` to account for no
iterations when the bond is decreased.

---------

Signed-off-by: georgepisaltu <george.pisaltu@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
This commit is contained in:
georgepisaltu
2024-03-12 00:12:58 +02:00
committed by GitHub
parent d3f81056ad
commit 7839400f12
2 changed files with 17 additions and 1 deletions
@@ -495,7 +495,11 @@ pub mod pallet {
})
.unwrap_or_default();
Self::deposit_event(Event::NewCandidacyBond { bond_amount: bond });
Ok(Some(T::WeightInfo::set_candidacy_bond(initial_len as u32, kicked as u32)).into())
Ok(Some(T::WeightInfo::set_candidacy_bond(
bond_increased.then(|| initial_len as u32).unwrap_or_default(),
kicked as u32,
))
.into())
}
/// Register this account as a collator candidate. The account must (a) already have
+12
View File
@@ -0,0 +1,12 @@
# 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: Fix weight refund for `pallet_collator_selection::set_candidacy_bond`
doc:
- audience: Runtime Dev
description: |
This PR implements the weight refund of `pallet_collator_selection::set_candidacy_bond` to
account for no iterations over the candidate list when the candidacy bond is decreased.
crates:
- name: pallet-collator-selection