use correct max eb in epoch cache initialization

This commit is contained in:
realbigsean
2024-05-11 09:50:51 -04:00
parent 261551e3c6
commit a75257fb6e
2 changed files with 12 additions and 3 deletions

View File

@@ -86,9 +86,10 @@ impl PreEpochCache {
let base_reward_per_increment = BaseRewardPerIncrement::new(total_active_balance, spec)?;
let effective_balance_increment = spec.effective_balance_increment;
let max_effective_balance_eth = spec
.max_effective_balance
.safe_div(effective_balance_increment)?;
let max_effective_balance =
spec.max_effective_balance_for_fork(spec.fork_name_at_epoch(epoch));
let max_effective_balance_eth =
max_effective_balance.safe_div(effective_balance_increment)?;
let mut base_rewards = Vec::with_capacity(max_effective_balance_eth.safe_add(1)? as usize);

View File

@@ -400,6 +400,14 @@ impl ChainSpec {
}
}
pub fn max_effective_balance_for_fork(&self, fork_name: ForkName) -> u64 {
if fork_name >= ForkName::Electra {
self.max_effective_balance_electra
} else {
self.max_effective_balance
}
}
/// Returns a full `Fork` struct for a given epoch.
pub fn fork_at_epoch(&self, epoch: Epoch) -> Fork {
let current_fork_name = self.fork_name_at_epoch(epoch);