mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-18 11:51:01 +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:
@@ -126,7 +126,7 @@ impl<T: Config> StakingLedger<T> {
|
||||
/// default reward destination.
|
||||
pub(crate) fn reward_destination(
|
||||
account: StakingAccount<T::AccountId>,
|
||||
) -> RewardDestination<T::AccountId> {
|
||||
) -> Option<RewardDestination<T::AccountId>> {
|
||||
let stash = match account {
|
||||
StakingAccount::Stash(stash) => Some(stash),
|
||||
StakingAccount::Controller(controller) =>
|
||||
@@ -137,7 +137,7 @@ impl<T: Config> StakingLedger<T> {
|
||||
<Payee<T>>::get(stash)
|
||||
} else {
|
||||
defensive!("fetched reward destination from unbonded stash {}", stash);
|
||||
RewardDestination::default()
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user