mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-26 00:41:09 +00:00
Removes the Default implementation for RewardDestination (#2402)
This PR removes current default for `RewardDestination`, which may cause confusion since a ledger should not have a default reward destination: either it has a reward destination, or something is wrong. It also changes the `Payee`'s reward destination in storage from `ValueQuery` to `OptionQuery`. In addition, it adds a `try_state` check to make sure each bonded ledger have a valid reward destination. Closes https://github.com/paritytech/polkadot-sdk/issues/2063 --------- Co-authored-by: command-bot <> Co-authored-by: Ross Bulat <ross@parity.io>
This commit is contained in:
@@ -345,6 +345,11 @@ where
|
||||
pub(crate) type StakingCall = crate::Call<Test>;
|
||||
pub(crate) type TestCall = <Test as frame_system::Config>::RuntimeCall;
|
||||
|
||||
parameter_types! {
|
||||
// if true, skips the try-state for the test running.
|
||||
pub static SkipTryStateCheck: bool = false;
|
||||
}
|
||||
|
||||
pub struct ExtBuilder {
|
||||
nominate: bool,
|
||||
validator_count: u32,
|
||||
@@ -454,6 +459,10 @@ impl ExtBuilder {
|
||||
self.balance_factor = factor;
|
||||
self
|
||||
}
|
||||
pub fn try_state(self, enable: bool) -> Self {
|
||||
SkipTryStateCheck::set(!enable);
|
||||
self
|
||||
}
|
||||
fn build(self) -> sp_io::TestExternalities {
|
||||
sp_tracing::try_init_simple();
|
||||
let mut storage = frame_system::GenesisConfig::<Test>::default().build_storage().unwrap();
|
||||
@@ -582,7 +591,9 @@ impl ExtBuilder {
|
||||
let mut ext = self.build();
|
||||
ext.execute_with(test);
|
||||
ext.execute_with(|| {
|
||||
Staking::do_try_state(System::block_number()).unwrap();
|
||||
if !SkipTryStateCheck::get() {
|
||||
Staking::do_try_state(System::block_number()).unwrap();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user