Skip to content

Commit 462b1eb

Browse files
committed
Bug Fix
1 parent 12854bc commit 462b1eb

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

consensus/types/src/beacon_state.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1554,13 +1554,14 @@ impl<E: EthSpec> BeaconState<E> {
15541554
spec: &ChainSpec,
15551555
) -> Result<(), Error> {
15561556
let fork = self.fork_name_unchecked();
1557-
self.validators_mut()
1558-
.push(Validator::from_deposit(deposit_data, fork, spec))?;
1559-
if fork.electra_enabled() {
1560-
self.balances_mut().push(0)?;
1557+
let amount = if fork.electra_enabled() {
1558+
0
15611559
} else {
1562-
self.balances_mut().push(deposit_data.amount)?;
1560+
deposit_data.amount
15631561
};
1562+
self.validators_mut()
1563+
.push(Validator::from_deposit(deposit_data, amount, fork, spec))?;
1564+
self.balances_mut().push(amount)?;
15641565

15651566
// Altair or later initializations.
15661567
if let Ok(previous_epoch_participation) = self.previous_epoch_participation_mut() {

consensus/types/src/validator.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,12 @@ pub struct Validator {
3636

3737
impl Validator {
3838
#[allow(clippy::arithmetic_side_effects)]
39-
pub fn from_deposit(deposit_data: &DepositData, fork_name: ForkName, spec: &ChainSpec) -> Self {
39+
pub fn from_deposit(
40+
deposit_data: &DepositData,
41+
amount: u64,
42+
fork_name: ForkName,
43+
spec: &ChainSpec,
44+
) -> Self {
4045
let mut validator = Validator {
4146
pubkey: deposit_data.pubkey,
4247
withdrawal_credentials: deposit_data.withdrawal_credentials,
@@ -48,7 +53,6 @@ impl Validator {
4853
slashed: false,
4954
};
5055

51-
let amount = deposit_data.amount;
5256
let max_effective_balance = validator.get_max_effective_balance(spec, fork_name);
5357
// safe math is unnecessary here since the spec.effecive_balance_increment is never <= 0
5458
validator.effective_balance = std::cmp::min(

0 commit comments

Comments
 (0)