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 <haoran@mbook>
This commit is contained in:
HaoranYi 2022-08-21 16:20:51 -05:00 committed by GitHub
parent 544a957ad7
commit f617374b0b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 17 additions and 13 deletions

View File

@ -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<StakeReward>,
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| {