mirror of
https://github.com/sigp/lighthouse.git
synced 2026-06-10 01:26:44 +00:00
fix deposit bridge logic and ignore some tests
This commit is contained in:
@@ -42,6 +42,13 @@ pub fn upgrade_state_to_fulu<E: EthSpec>(
|
|||||||
let epoch = pre_state.current_epoch();
|
let epoch = pre_state.current_epoch();
|
||||||
let proposer_lookahead = initialize_proposer_lookahead(pre_state, spec)?;
|
let proposer_lookahead = initialize_proposer_lookahead(pre_state, spec)?;
|
||||||
let pre = pre_state.as_electra_mut()?;
|
let pre = pre_state.as_electra_mut()?;
|
||||||
|
// Finalize the Eth1 bridge at the Fulu fork (spec PR #5322).
|
||||||
|
let deposit_requests_start_index =
|
||||||
|
if pre.deposit_requests_start_index == spec.unset_deposit_requests_start_index {
|
||||||
|
pre.eth1_data.deposit_count
|
||||||
|
} else {
|
||||||
|
pre.deposit_requests_start_index
|
||||||
|
};
|
||||||
// Where possible, use something like `mem::take` to move fields from behind the &mut
|
// Where possible, use something like `mem::take` to move fields from behind the &mut
|
||||||
// reference. For other fields that don't have a good default value, use `clone`.
|
// reference. For other fields that don't have a good default value, use `clone`.
|
||||||
//
|
//
|
||||||
@@ -93,7 +100,7 @@ pub fn upgrade_state_to_fulu<E: EthSpec>(
|
|||||||
next_withdrawal_validator_index: pre.next_withdrawal_validator_index,
|
next_withdrawal_validator_index: pre.next_withdrawal_validator_index,
|
||||||
historical_summaries: pre.historical_summaries.clone(),
|
historical_summaries: pre.historical_summaries.clone(),
|
||||||
// Electra
|
// Electra
|
||||||
deposit_requests_start_index: pre.deposit_requests_start_index,
|
deposit_requests_start_index,
|
||||||
deposit_balance_to_consume: pre.deposit_balance_to_consume,
|
deposit_balance_to_consume: pre.deposit_balance_to_consume,
|
||||||
exit_balance_to_consume: pre.exit_balance_to_consume,
|
exit_balance_to_consume: pre.exit_balance_to_consume,
|
||||||
earliest_exit_epoch: pre.earliest_exit_epoch,
|
earliest_exit_epoch: pre.earliest_exit_epoch,
|
||||||
|
|||||||
@@ -75,6 +75,16 @@ impl<E: EthSpec> Case for ForkTest<E> {
|
|||||||
ForkName::Gloas => upgrade_to_gloas(&mut result_state, spec).map(|_| result_state),
|
ForkName::Gloas => upgrade_to_gloas(&mut result_state, spec).map(|_| result_state),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// TODO(gloas) theres a bug in alpha.9 fork vectors that will be fixed once spec PR #5322 is merged
|
||||||
|
// We have to ignore these tests until alpha.10
|
||||||
|
if fork_name.fulu_enabled()
|
||||||
|
&& let (Ok(result_state), Some(expected_state)) = (result.as_mut(), expected.as_ref())
|
||||||
|
&& let Ok(expected_drsi) = expected_state.deposit_requests_start_index()
|
||||||
|
&& let Ok(result_drsi) = result_state.deposit_requests_start_index_mut()
|
||||||
|
{
|
||||||
|
*result_drsi = expected_drsi;
|
||||||
|
}
|
||||||
|
|
||||||
compare_beacon_state_results_without_caches(&mut result, &mut expected)
|
compare_beacon_state_results_without_caches(&mut result, &mut expected)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user