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

@@ -18,8 +18,6 @@ use task_executor::ShutdownReason;
use types::{EthSpec, EthSpecId};
use validator_client::ProductionValidatorClient;
pub const ETH2_CONFIG_FILENAME: &str = "eth2-spec.toml";
fn bls_library_name() -> &'static str {
if cfg!(feature = "portable") {
"blst-portable"
@@ -125,7 +123,7 @@ fn main() {
.long("network")
.value_name("network")
.help("Name of the Eth2 chain Lighthouse will sync and follow.")
.possible_values(&["medalla", "altona", "spadina", "pyrmont", "mainnet", "toledo", "prater"])
.possible_values(&["pyrmont", "mainnet", "prater"])
.conflicts_with("testnet-dir")
.takes_value(true)
.global(true)
@@ -207,11 +205,7 @@ fn main() {
EthSpecId::Mainnet => run(EnvironmentBuilder::mainnet(), &matches, testnet_config),
#[cfg(feature = "spec-minimal")]
EthSpecId::Minimal => run(EnvironmentBuilder::minimal(), &matches, testnet_config),
#[cfg(feature = "spec-v12")]
EthSpecId::V012Legacy => {
run(EnvironmentBuilder::v012_legacy(), &matches, testnet_config)
}
#[cfg(any(not(feature = "spec-minimal"), not(feature = "spec-v12")))]
#[cfg(any(not(feature = "spec-minimal")))]
other => {
eprintln!(
"Eth spec `{}` is not supported by this build of Lighthouse",