Merge branch 'unstable' into deneb-free-blobs

# Conflicts:
#	.github/workflows/docker.yml
#	.github/workflows/local-testnet.yml
#	.github/workflows/test-suite.yml
#	Cargo.lock
#	Cargo.toml
#	beacon_node/beacon_chain/src/beacon_chain.rs
#	beacon_node/beacon_chain/src/builder.rs
#	beacon_node/beacon_chain/src/test_utils.rs
#	beacon_node/execution_layer/src/engine_api/json_structures.rs
#	beacon_node/network/src/beacon_processor/mod.rs
#	beacon_node/network/src/beacon_processor/worker/gossip_methods.rs
#	beacon_node/network/src/sync/backfill_sync/mod.rs
#	beacon_node/store/src/config.rs
#	beacon_node/store/src/hot_cold_store.rs
#	common/eth2_network_config/Cargo.toml
#	consensus/ssz/src/decode/impls.rs
#	consensus/ssz_derive/src/lib.rs
#	consensus/ssz_derive/tests/tests.rs
#	consensus/ssz_types/src/serde_utils/mod.rs
#	consensus/tree_hash/src/impls.rs
#	consensus/tree_hash/src/lib.rs
#	consensus/types/Cargo.toml
#	consensus/types/src/beacon_state.rs
#	consensus/types/src/chain_spec.rs
#	consensus/types/src/eth_spec.rs
#	consensus/types/src/fork_name.rs
#	lcli/Cargo.toml
#	lcli/src/main.rs
#	lcli/src/new_testnet.rs
#	scripts/local_testnet/el_bootnode.sh
#	scripts/local_testnet/genesis.json
#	scripts/local_testnet/geth.sh
#	scripts/local_testnet/setup.sh
#	scripts/local_testnet/start_local_testnet.sh
#	scripts/local_testnet/vars.env
#	scripts/tests/doppelganger_protection.sh
#	scripts/tests/genesis.json
#	scripts/tests/vars.env
#	testing/ef_tests/Cargo.toml
#	validator_client/src/block_service.rs
This commit is contained in:
Jimmy Chen
2023-05-30 11:26:33 +10:00
333 changed files with 5930 additions and 13386 deletions

View File

@@ -10,6 +10,7 @@ mod generate_bootnode_enr;
mod indexed_attestations;
mod insecure_validators;
mod interop_genesis;
mod mnemonic_validators;
mod new_testnet;
mod parse_ssz;
mod replace_state_pubkeys;
@@ -449,6 +450,22 @@ fn main() {
"If present, a interop-style genesis.ssz file will be generated.",
),
)
.arg(
Arg::with_name("derived-genesis-state")
.long("derived-genesis-state")
.takes_value(false)
.help(
"If present, a genesis.ssz file will be generated with keys generated from a given mnemonic.",
),
)
.arg(
Arg::with_name("mnemonic-phrase")
.long("mnemonic-phrase")
.value_name("MNEMONIC_PHRASE")
.takes_value(true)
.requires("derived-genesis-state")
.help("The mnemonic with which we generate the validator keys for a derived genesis state"),
)
.arg(
Arg::with_name("min-genesis-time")
.long("min-genesis-time")
@@ -722,6 +739,7 @@ fn main() {
.long("count")
.value_name("COUNT")
.takes_value(true)
.required(true)
.help("Produces validators in the range of 0..count."),
)
.arg(
@@ -729,6 +747,7 @@ fn main() {
.long("base-dir")
.value_name("BASE_DIR")
.takes_value(true)
.required(true)
.help("The base directory where validator keypairs and secrets are stored"),
)
.arg(
@@ -739,6 +758,43 @@ fn main() {
.help("The number of nodes to divide the validator keys to"),
)
)
.subcommand(
SubCommand::with_name("mnemonic-validators")
.about("Produces validator directories by deriving the keys from \
a mnemonic. For testing purposes only, DO NOT USE IN \
PRODUCTION!")
.arg(
Arg::with_name("count")
.long("count")
.value_name("COUNT")
.takes_value(true)
.required(true)
.help("Produces validators in the range of 0..count."),
)
.arg(
Arg::with_name("base-dir")
.long("base-dir")
.value_name("BASE_DIR")
.takes_value(true)
.required(true)
.help("The base directory where validator keypairs and secrets are stored"),
)
.arg(
Arg::with_name("node-count")
.long("node-count")
.value_name("NODE_COUNT")
.takes_value(true)
.help("The number of nodes to divide the validator keys to"),
)
.arg(
Arg::with_name("mnemonic-phrase")
.long("mnemonic-phrase")
.value_name("MNEMONIC_PHRASE")
.takes_value(true)
.required(true)
.help("The mnemonic with which we generate the validator keys"),
)
)
.subcommand(
SubCommand::with_name("indexed-attestations")
.about("Convert attestations to indexed form, using the committees from a state.")
@@ -834,6 +890,7 @@ fn run<T: EthSpec>(
max_log_number: 0,
compression: false,
is_restricted: true,
sse_logging: false, // No SSE Logging in LCLI
})
.map_err(|e| format!("should start logger: {:?}", e))?
.build()
@@ -880,6 +937,8 @@ fn run<T: EthSpec>(
.map_err(|e| format!("Failed to run generate-bootnode-enr command: {}", e)),
("insecure-validators", Some(matches)) => insecure_validators::run(matches)
.map_err(|e| format!("Failed to run insecure-validators command: {}", e)),
("mnemonic-validators", Some(matches)) => mnemonic_validators::run(matches)
.map_err(|e| format!("Failed to run mnemonic-validators command: {}", e)),
("indexed-attestations", Some(matches)) => indexed_attestations::run::<T>(matches)
.map_err(|e| format!("Failed to run indexed-attestations command: {}", e)),
("block-root", Some(matches)) => block_root::run::<T>(env, matches)