Skip to content

Config Validation #7341

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 10 commits into
base: unstable
Choose a base branch
from
Open
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ DEPOSIT_CONTRACT_ADDRESS: 0xb97036A26259B7147018913bD58a774cf91acf25

# Networking
# ---------------------------------------------------------------
GAS_LIMIT_ADJUSTMENT_FACTOR: 1024
# `10 * 2**20` (= 10485760, 10 MiB)
MAX_PAYLOAD_SIZE: 10485760
# `2**10` (= 1024)
Expand All @@ -113,7 +114,7 @@ TTFB_TIMEOUT: 5
RESP_TIMEOUT: 10
ATTESTATION_PROPAGATION_SLOT_RANGE: 32
# 500ms
MAXIMUM_GOSSIP_CLOCK_DISPARITY: 500
MAXIMUM_GOSSIP_CLOCK_DISPARITY_MILLIS: 500
MESSAGE_DOMAIN_INVALID_SNAPPY: 0x00000000
MESSAGE_DOMAIN_VALID_SNAPPY: 0x01000000
# 2 subnets per node
Expand All @@ -129,6 +130,7 @@ ATTESTATION_SUBNET_PREFIX_BITS: 6
MAX_REQUEST_BLOCKS_DENEB: 128
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
MAX_REQUEST_BLOB_SIDECARS: 768
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
# `2**14` (= 16384 epochs, ~15 days)
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 16384
# `6`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,11 +96,15 @@ DEPOSIT_CONTRACT_ADDRESS: 0x0B98057eA310F4d31F2a452B414647007d1645d9

# Network
# ---------------------------------------------------------------
GAS_LIMIT_ADJUSTMENT_FACTOR: 1024
SUBNETS_PER_NODE: 4
MAX_PAYLOAD_SIZE: 10485760
MAX_REQUEST_BLOCKS: 1024
MIN_EPOCHS_FOR_BLOCK_REQUESTS: 33024
TTFB_TIMEOUT: 5
RESP_TIMEOUT: 10
ATTESTATION_PROPAGATION_SLOT_RANGE: 32
MAXIMUM_GOSSIP_CLOCK_DISPARITY_MILLIS: 500
MESSAGE_DOMAIN_INVALID_SNAPPY: 0x00000000
MESSAGE_DOMAIN_VALID_SNAPPY: 0x01000000
ATTESTATION_SUBNET_COUNT: 64
Expand All @@ -113,6 +117,7 @@ ATTESTATION_SUBNET_SHUFFLING_PREFIX_BITS: 3
MAX_REQUEST_BLOCKS_DENEB: 128
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
MAX_REQUEST_BLOB_SIDECARS: 768
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
# `2**14` (= 16384 epochs, ~15 days)
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 16384
# `6`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ DEPOSIT_CONTRACT_ADDRESS: 0x4242424242424242424242424242424242424242

# Networking
# ---------------------------------------------------------------
GAS_LIMIT_ADJUSTMENT_FACTOR: 1024
# `10 * 2**20` (= 10485760, 10 MiB)
MAX_PAYLOAD_SIZE: 10485760
# `2**10` (= 1024)
Expand All @@ -101,7 +102,7 @@ TTFB_TIMEOUT: 5
RESP_TIMEOUT: 10
ATTESTATION_PROPAGATION_SLOT_RANGE: 32
# 500ms
MAXIMUM_GOSSIP_CLOCK_DISPARITY: 500
MAXIMUM_GOSSIP_CLOCK_DISPARITY_MILLIS: 500
MESSAGE_DOMAIN_INVALID_SNAPPY: 0x00000000
MESSAGE_DOMAIN_VALID_SNAPPY: 0x01000000
# 2 subnets per node
Expand All @@ -118,6 +119,7 @@ ATTESTATION_SUBNET_SHUFFLING_PREFIX_BITS: 3
MAX_REQUEST_BLOCKS_DENEB: 128
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
MAX_REQUEST_BLOB_SIDECARS: 768
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
# `2**12` (= 4096 epochs, ~18 days)
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 4096
# `6`
Expand All @@ -143,4 +145,4 @@ NUMBER_OF_CUSTODY_GROUPS: 128
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128
SAMPLES_PER_SLOT: 8
CUSTODY_REQUIREMENT: 4
MAX_BLOBS_PER_BLOCK_FULU: 12
MAX_BLOBS_PER_BLOCK_FULU: 12
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ DEPOSIT_CONTRACT_ADDRESS: 0x00000000219ab540356cBB839Cbe05303d7705Fa

# Networking
# ---------------------------------------------------------------
GAS_LIMIT_ADJUSTMENT_FACTOR: 1024
# `10 * 2**20` (= 10485760, 10 MiB)
MAX_PAYLOAD_SIZE: 10485760
# `2**10` (= 1024)
Expand All @@ -106,7 +107,7 @@ TTFB_TIMEOUT: 5
RESP_TIMEOUT: 10
ATTESTATION_PROPAGATION_SLOT_RANGE: 32
# 500ms
MAXIMUM_GOSSIP_CLOCK_DISPARITY: 500
MAXIMUM_GOSSIP_CLOCK_DISPARITY_MILLIS: 500
MESSAGE_DOMAIN_INVALID_SNAPPY: 0x00000000
MESSAGE_DOMAIN_VALID_SNAPPY: 0x01000000
# 2 subnets per node
Expand All @@ -122,6 +123,8 @@ ATTESTATION_SUBNET_PREFIX_BITS: 6
MAX_REQUEST_BLOCKS_DENEB: 128
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
MAX_REQUEST_BLOB_SIDECARS: 768
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384

# `2**12` (= 4096 epochs, ~18 days)
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 4096
# `6`
Expand Down Expand Up @@ -153,11 +156,9 @@ WHISK_PROPOSER_SELECTION_GAP: 2
NUMBER_OF_COLUMNS: 128
NUMBER_OF_CUSTODY_GROUPS: 128
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
SAMPLES_PER_SLOT: 8
CUSTODY_REQUIREMENT: 4
MAX_BLOBS_PER_BLOCK_FULU: 12
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS: 4096

# EIP7732
MAX_REQUEST_PAYLOADS: 128
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ REORG_MAX_EPOCHS_SINCE_FINALIZATION: 2
DEPOSIT_CHAIN_ID: 1
DEPOSIT_NETWORK_ID: 1
DEPOSIT_CONTRACT_ADDRESS: 0x00000000219ab540356cBB839Cbe05303d7705Fa
GAS_LIMIT_ADJUSTMENT_FACTOR: 1024

# Networking
# ---------------------------------------------------------------
Expand All @@ -116,7 +117,7 @@ TTFB_TIMEOUT: 5
RESP_TIMEOUT: 10
ATTESTATION_PROPAGATION_SLOT_RANGE: 32
# 500ms
MAXIMUM_GOSSIP_CLOCK_DISPARITY: 500
MAXIMUM_GOSSIP_CLOCK_DISPARITY_MILLIS: 500
MESSAGE_DOMAIN_INVALID_SNAPPY: 0x00000000
MESSAGE_DOMAIN_VALID_SNAPPY: 0x01000000
# 2 subnets per node
Expand All @@ -133,7 +134,8 @@ ATTESTATION_SUBNET_SHUFFLING_PREFIX_BITS: 3
MAX_REQUEST_BLOCKS_DENEB: 128
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
MAX_REQUEST_BLOB_SIDECARS: 768
# `2**12` (= 4096 epochs, ~18 days)
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
# `2**12` (= 4096 epochs, ~18 days)
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 4096
# `6`
BLOB_SIDECAR_SUBNET_COUNT: 6
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ DENEB_FORK_EPOCH: 132608
ELECTRA_FORK_VERSION: 0x90000074
ELECTRA_FORK_EPOCH: 222464

# Fulu
FULU_FORK_VERSION: 0x06000000

# Time parameters
# ---------------------------------------------------------------
# 12 seconds
Expand Down Expand Up @@ -88,6 +91,7 @@ DEPOSIT_CONTRACT_ADDRESS: 0x7f02C3E3c98b133055B8B348B2Ac625669Ed295D

# Networking
# ---------------------------------------------------------------
GAS_LIMIT_ADJUSTMENT_FACTOR: 1024
# `10 * 2**20` (= 10485760, 10 MiB)
MAX_PAYLOAD_SIZE: 10485760
# `2**10` (= 1024)
Expand All @@ -102,7 +106,7 @@ TTFB_TIMEOUT: 5
RESP_TIMEOUT: 10
ATTESTATION_PROPAGATION_SLOT_RANGE: 32
# 500ms
MAXIMUM_GOSSIP_CLOCK_DISPARITY: 500
MAXIMUM_GOSSIP_CLOCK_DISPARITY_MILLIS: 500
MESSAGE_DOMAIN_INVALID_SNAPPY: 0x00000000
MESSAGE_DOMAIN_VALID_SNAPPY: 0x01000000
# 2 subnets per node
Expand All @@ -119,6 +123,7 @@ ATTESTATION_SUBNET_SHUFFLING_PREFIX_BITS: 3
MAX_REQUEST_BLOCKS_DENEB: 128
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
MAX_REQUEST_BLOB_SIDECARS: 768
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
# `2**12` (= 4096 epochs, ~18 days)
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 4096
# `6`
Expand Down
4 changes: 3 additions & 1 deletion common/eth2_network_config/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@ impl Eth2NetworkConfig {
fn from_hardcoded_net(net: &HardcodedNet) -> Result<Self, String> {
let config: Config = serde_yaml::from_reader(net.config)
.map_err(|e| format!("Unable to parse yaml config: {:?}", e))?;
config.validate_extra_fields()?;
let kzg_trusted_setup = get_trusted_setup();
Ok(Self {
deposit_contract_deploy_block: serde_yaml::from_reader(net.deploy_block)
Expand Down Expand Up @@ -342,7 +343,8 @@ impl Eth2NetworkConfig {

let deposit_contract_deploy_block = load_from_file!(DEPLOY_BLOCK_FILE);
let boot_enr = optional_load_from_file!(BOOT_ENR_FILE);
let config = load_from_file!(BASE_CONFIG_FILE);
let config: Config = load_from_file!(BASE_CONFIG_FILE);
config.validate_extra_fields()?;

// The genesis state is a special case because it uses SSZ, not YAML.
let genesis_file_path = base_dir.join(GENESIS_STATE_FILE);
Expand Down
Loading
Loading