Skip to content

Commit

Permalink
[Collator Selection] Fix weight refund for set_candidacy_bond (pari…
Browse files Browse the repository at this point in the history
…tytech#3643)

Fixes paritytech#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>
  • Loading branch information
2 people authored and dharjeezy committed Mar 24, 2024
1 parent 65c93ab commit 70909b7
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
6 changes: 5 additions & 1 deletion cumulus/pallets/collator-selection/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 12 additions & 0 deletions prdoc/pr_3643.prdoc
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 70909b7

Please sign in to comment.