From f617374b0beb8f5e879fc853ad43791807a05e55 Mon Sep 17 00:00:00 2001 From: HaoranYi Date: Sun, 21 Aug 2022 16:20:51 -0500 Subject: [PATCH] Refactor epoch reward 3 (#27259) * refactor: extract store_stake_accounts fn * refactor: extract store_vote_account fn * refactor: extract reward history update fn * clippy: slice * clippy: slice Co-authored-by: haoran --- runtime/src/bank.rs | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/runtime/src/bank.rs b/runtime/src/bank.rs index 3550512d08..3e85bf55e2 100644 --- a/runtime/src/bank.rs +++ b/runtime/src/bank.rs @@ -3210,19 +3210,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 } @@ -3278,6 +3267,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| {