diff --git a/runtime/src/bank.rs b/runtime/src/bank.rs index 1e8fe0c302560e..313757a086195b 100644 --- a/runtime/src/bank.rs +++ b/runtime/src/bank.rs @@ -3218,19 +3218,8 @@ impl Bank { metrics.redeem_rewards_us += m.as_us(); self.store_stake_accounts(&stake_rewards, metrics); - let mut vote_rewards = self.store_vote_accounts(vote_account_rewards, metrics); - - let additional_reserve = stake_rewards.len() + vote_rewards.len(); - { - let mut rewards = self.rewards.write().unwrap(); - rewards.reserve(additional_reserve); - rewards.append(&mut vote_rewards); - stake_rewards - .into_iter() - .filter(|x| x.get_stake_reward() > 0) - .for_each(|x| rewards.push((x.stake_pubkey, x.stake_reward_info))); - } - + let vote_rewards = self.store_vote_accounts(vote_account_rewards, metrics); + self.update_reward_history(stake_rewards, vote_rewards); point_value.rewards as f64 / point_value.points as f64 } @@ -3286,6 +3275,21 @@ impl Bank { vote_rewards } + fn update_reward_history( + &self, + stake_rewards: Vec, + mut vote_rewards: Vec<(Pubkey, RewardInfo)>, + ) { + let additional_reserve = stake_rewards.len() + vote_rewards.len(); + let mut rewards = self.rewards.write().unwrap(); + rewards.reserve(additional_reserve); + rewards.append(&mut vote_rewards); + stake_rewards + .into_iter() + .filter(|x| x.get_stake_reward() > 0) + .for_each(|x| rewards.push((x.stake_pubkey, x.stake_reward_info))); + } + fn update_recent_blockhashes_locked(&self, locked_blockhash_queue: &BlockhashQueue) { #[allow(deprecated)] self.update_sysvar_account(&sysvar::recent_blockhashes::id(), |account| {