mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-09 20:11:09 +00:00
Bound staking storage items (#12230)
* replace pallet level unboundedness to individual storage items * bound structs * bounding history depth * defensive error * use the era history depth from config * clean up history depth from storage in v11 * keep the name HistoryDepth for the new configuration value * use u32 for history depth in node runtime * improve doc comments * add HistoryDepth to mock runtimes with pallet-staking * rustfmt * refactor and doc improve * apply re-benchmarked weight for staking * pr feedback improvements * test for claimed rewards following the expected bounds * refactor test to calculate first and last reward era programmatically * verify previous eras cannot be claimed * add migration v12 * ".git/.scripts/bench-bot.sh" pallet dev pallet_staking * fix compiler error * corrupting history depth does not lead to catastrophic issue * fix new line * remove unused import * fmt * add test to document scenario where history depth is reduced without migration * fmt * Update frame/staking/src/lib.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * Update frame/staking/src/migrations.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * doc for all storage items bounded by HistoryDepth * Update frame/staking/src/pallet/mod.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * Update frame/staking/src/tests.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * pr feedback fixes * Update frame/staking/src/tests.rs Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> * remove extra checks * fix merge * fmt Co-authored-by: command-bot <> Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com> Co-authored-by: kianenigma <kian@parity.io>
This commit is contained in:
@@ -660,25 +660,6 @@ benchmarks! {
|
||||
assert!(original_bonded < new_bonded);
|
||||
}
|
||||
|
||||
set_history_depth {
|
||||
let e in 1 .. 100;
|
||||
HistoryDepth::<T>::put(e);
|
||||
CurrentEra::<T>::put(e);
|
||||
let dummy = || -> T::AccountId { codec::Decode::decode(&mut TrailingZeroInput::zeroes()).unwrap() };
|
||||
for i in 0 .. e {
|
||||
<ErasStakers<T>>::insert(i, dummy(), Exposure::<T::AccountId, BalanceOf<T>>::default());
|
||||
<ErasStakersClipped<T>>::insert(i, dummy(), Exposure::<T::AccountId, BalanceOf<T>>::default());
|
||||
<ErasValidatorPrefs<T>>::insert(i, dummy(), ValidatorPrefs::default());
|
||||
<ErasValidatorReward<T>>::insert(i, BalanceOf::<T>::one());
|
||||
<ErasRewardPoints<T>>::insert(i, EraRewardPoints::<T::AccountId>::default());
|
||||
<ErasTotalStake<T>>::insert(i, BalanceOf::<T>::one());
|
||||
ErasStartSessionIndex::<T>::insert(i, i);
|
||||
}
|
||||
}: _(RawOrigin::Root, EraIndex::zero(), u32::MAX)
|
||||
verify {
|
||||
assert_eq!(HistoryDepth::<T>::get(), 0);
|
||||
}
|
||||
|
||||
reap_stash {
|
||||
let s in 1 .. MAX_SPANS;
|
||||
// clean up any existing state.
|
||||
@@ -698,7 +679,7 @@ benchmarks! {
|
||||
active: T::Currency::minimum_balance() - One::one(),
|
||||
total: T::Currency::minimum_balance() - One::one(),
|
||||
unlocking: Default::default(),
|
||||
claimed_rewards: vec![],
|
||||
claimed_rewards: Default::default(),
|
||||
};
|
||||
Ledger::<T>::insert(&controller, l);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user