diff --git a/substrate/frame/election-provider-support/src/onchain.rs b/substrate/frame/election-provider-support/src/onchain.rs index 8dcf8d4a87..aa07a0527d 100644 --- a/substrate/frame/election-provider-support/src/onchain.rs +++ b/substrate/frame/election-provider-support/src/onchain.rs @@ -73,11 +73,10 @@ impl ElectionProvider for OnChainSequen let targets = Self::DataProvider::targets(None).map_err(Error::DataProvider)?; let desired_targets = Self::DataProvider::desired_targets().map_err(Error::DataProvider)?; - let mut stake_map: BTreeMap = BTreeMap::new(); - - voters.iter().for_each(|(v, s, _)| { - stake_map.insert(v.clone(), *s); - }); + let stake_map: BTreeMap = voters + .iter() + .map(|(validator, vote_weight, _)| (validator.clone(), *vote_weight)) + .collect(); let stake_of = |w: &T::AccountId| -> VoteWeight { stake_map.get(w).cloned().unwrap_or_default() }; diff --git a/substrate/frame/staking/src/pallet/impls.rs b/substrate/frame/staking/src/pallet/impls.rs index bc80b63a37..fecd493eea 100644 --- a/substrate/frame/staking/src/pallet/impls.rs +++ b/substrate/frame/staking/src/pallet/impls.rs @@ -78,10 +78,10 @@ impl Pallet { era: EraIndex, ) -> DispatchResultWithPostInfo { // Validate input data - let current_era = CurrentEra::::get().ok_or( + let current_era = CurrentEra::::get().ok_or_else(|| { Error::::InvalidEraToReward - .with_weight(T::WeightInfo::payout_stakers_alive_staked(0)), - )?; + .with_weight(T::WeightInfo::payout_stakers_alive_staked(0)) + })?; let history_depth = Self::history_depth(); ensure!( era <= current_era && era >= current_era.saturating_sub(history_depth), @@ -96,10 +96,10 @@ impl Pallet { .with_weight(T::WeightInfo::payout_stakers_alive_staked(0)) })?; - let controller = Self::bonded(&validator_stash).ok_or( - Error::::NotStash.with_weight(T::WeightInfo::payout_stakers_alive_staked(0)), - )?; - let mut ledger = >::get(&controller).ok_or_else(|| Error::::NotController)?; + let controller = Self::bonded(&validator_stash).ok_or_else(|| { + Error::::NotStash.with_weight(T::WeightInfo::payout_stakers_alive_staked(0)) + })?; + let mut ledger = >::get(&controller).ok_or(Error::::NotController)?; ledger .claimed_rewards @@ -891,7 +891,7 @@ impl frame_election_provider_support::ElectionDataProvider = target_stake .and_then(|w| >::try_from(w).ok()) - .unwrap_or(MinNominatorBond::::get() * 100u32.into()); + .unwrap_or_else(|| MinNominatorBond::::get() * 100u32.into()); >::insert(v.clone(), v.clone()); >::insert( v.clone(),