Altair consensus changes and refactors (#2279)

## Proposed Changes

Implement the consensus changes necessary for the upcoming Altair hard fork.

## Additional Info

This is quite a heavy refactor, with pivotal types like the `BeaconState` and `BeaconBlock` changing from structs to enums. This ripples through the whole codebase with field accesses changing to methods, e.g. `state.slot` => `state.slot()`.


Co-authored-by: realbigsean <seananderson33@gmail.com>
This commit is contained in:
Michael Sproul
2021-07-09 06:15:32 +00:00
parent 89361573d4
commit b4689e20c6
271 changed files with 9652 additions and 8444 deletions

View File

@@ -37,8 +37,8 @@ pub fn compare_beacon_state_results_without_caches<T: EthSpec, E: Debug>(
expected: &mut Option<BeaconState<T>>,
) -> Result<(), Error> {
if let (Ok(ref mut result), Some(ref mut expected)) = (result.as_mut(), expected.as_mut()) {
result.drop_all_caches();
expected.drop_all_caches();
result.drop_all_caches().unwrap();
expected.drop_all_caches().unwrap();
}
compare_result_detailed(&result, &expected)
@@ -94,7 +94,7 @@ where
(Err(_), None) => Ok(()),
// Fail: The test failed when it should have produced a result (fail).
(Err(e), Some(expected)) => Err(Error::NotEqual(format!(
"Got {:?} | Expected {:?}",
"Got {:?} | Expected {}",
e,
fmt_val(expected)
))),
@@ -106,7 +106,7 @@ where
Ok(())
} else {
Err(Error::NotEqual(format!(
"Got {:?} | Expected {:?}",
"Got {} | Expected {}",
fmt_val(result),
fmt_val(expected)
)))