mirror of
https://github.com/sigp/lighthouse.git
synced 2026-05-30 12:47:05 +00:00
Resolve merge conflicts
This commit is contained in:
@@ -6,19 +6,11 @@ edition = { workspace = true }
|
||||
|
||||
build = "build.rs"
|
||||
|
||||
[build-dependencies]
|
||||
eth2_config = { workspace = true }
|
||||
zip = { workspace = true }
|
||||
|
||||
[dev-dependencies]
|
||||
ethereum_ssz = { workspace = true }
|
||||
tempfile = { workspace = true }
|
||||
tokio = { workspace = true }
|
||||
|
||||
[dependencies]
|
||||
bytes = { workspace = true }
|
||||
discv5 = { workspace = true }
|
||||
eth2_config = { workspace = true }
|
||||
fixed_bytes = { workspace = true }
|
||||
kzg = { workspace = true }
|
||||
pretty_reqwest_error = { workspace = true }
|
||||
reqwest = { workspace = true }
|
||||
@@ -28,3 +20,12 @@ sha2 = { workspace = true }
|
||||
tracing = { workspace = true }
|
||||
types = { workspace = true }
|
||||
url = { workspace = true }
|
||||
|
||||
[build-dependencies]
|
||||
eth2_config = { workspace = true }
|
||||
zip = { workspace = true }
|
||||
|
||||
[dev-dependencies]
|
||||
ethereum_ssz = { workspace = true }
|
||||
tempfile = { workspace = true }
|
||||
tokio = { workspace = true }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//! Extracts zipped genesis states on first run.
|
||||
use eth2_config::{
|
||||
Eth2NetArchiveAndDirectory, GenesisStateSource, ETH2_NET_DIRS, GENESIS_FILE_NAME,
|
||||
ETH2_NET_DIRS, Eth2NetArchiveAndDirectory, GENESIS_FILE_NAME, GenesisStateSource,
|
||||
};
|
||||
use std::fs::File;
|
||||
use std::io;
|
||||
|
||||
@@ -50,6 +50,9 @@ ELECTRA_FORK_EPOCH: 948224 # Thu Mar 6 2025 09:43:40 GMT+0000
|
||||
# Fulu
|
||||
FULU_FORK_VERSION: 0x0600006f
|
||||
FULU_FORK_EPOCH: 18446744073709551615
|
||||
# Gloas
|
||||
GLOAS_FORK_VERSION: 0x0700006f
|
||||
GLOAS_FORK_EPOCH: 18446744073709551615
|
||||
|
||||
# Time parameters
|
||||
# ---------------------------------------------------------------
|
||||
@@ -149,9 +152,9 @@ MAX_BLOBS_PER_BLOCK_ELECTRA: 2
|
||||
MAX_REQUEST_BLOB_SIDECARS_ELECTRA: 256
|
||||
|
||||
# Fulu
|
||||
NUMBER_OF_COLUMNS: 128
|
||||
NUMBER_OF_CUSTODY_GROUPS: 128
|
||||
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128
|
||||
SAMPLES_PER_SLOT: 8
|
||||
CUSTODY_REQUIREMENT: 4
|
||||
MAX_BLOBS_PER_BLOCK_FULU: 12
|
||||
# Gloas
|
||||
|
||||
@@ -50,6 +50,9 @@ EIP7805_FORK_EPOCH: 18446744073709551615
|
||||
# Fulu
|
||||
FULU_FORK_VERSION: 0x07000000
|
||||
FULU_FORK_EPOCH: 18446744073709551615
|
||||
# Gloas
|
||||
GLOAS_FORK_VERSION: 0x07000064
|
||||
GLOAS_FORK_EPOCH: 18446744073709551615
|
||||
|
||||
# Time parameters
|
||||
# ---------------------------------------------------------------
|
||||
@@ -136,9 +139,10 @@ MAX_BLOBS_PER_BLOCK_ELECTRA: 2
|
||||
MAX_REQUEST_BLOB_SIDECARS_ELECTRA: 256
|
||||
|
||||
# Fulu
|
||||
NUMBER_OF_COLUMNS: 128
|
||||
NUMBER_OF_CUSTODY_GROUPS: 128
|
||||
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128
|
||||
SAMPLES_PER_SLOT: 8
|
||||
CUSTODY_REQUIREMENT: 4
|
||||
MAX_BLOBS_PER_BLOCK_FULU: 12
|
||||
|
||||
# Gloas
|
||||
@@ -38,12 +38,17 @@ ELECTRA_FORK_VERSION: 0x06017000
|
||||
ELECTRA_FORK_EPOCH: 115968
|
||||
# Fulu
|
||||
FULU_FORK_VERSION: 0x07017000
|
||||
FULU_FORK_EPOCH: 18446744073709551615
|
||||
FULU_FORK_EPOCH: 165120
|
||||
# Gloas
|
||||
GLOAS_FORK_VERSION: 0x08017000
|
||||
GLOAS_FORK_EPOCH: 18446744073709551615
|
||||
|
||||
# Time parameters
|
||||
# ---------------------------------------------------------------
|
||||
# 12 seconds
|
||||
SECONDS_PER_SLOT: 12
|
||||
# 1200 milliseconds
|
||||
SLOT_DURATION_MS: 12000
|
||||
# 14 (estimate from Eth1 mainnet)
|
||||
SECONDS_PER_ETH1_BLOCK: 14
|
||||
# 2**8 (= 256) epochs ~27 hours
|
||||
@@ -52,6 +57,18 @@ MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256
|
||||
SHARD_COMMITTEE_PERIOD: 256
|
||||
# 2**11 (= 2,048) Eth1 blocks ~8 hours
|
||||
ETH1_FOLLOW_DISTANCE: 2048
|
||||
# 1667 basis points, ~17% of SLOT_DURATION_MS
|
||||
PROPOSER_REORG_CUTOFF_BPS: 1667
|
||||
# 3333 basis points, ~33% of SLOT_DURATION_MS
|
||||
ATTESTATION_DUE_BPS: 3333
|
||||
# 6667 basis points, ~67% of SLOT_DURATION_MS
|
||||
AGGREGATE_DUE_BPS: 6667
|
||||
|
||||
# Altair
|
||||
# 3333 basis points, ~33% of SLOT_DURATION_MS
|
||||
SYNC_MESSAGE_DUE_BPS: 3333
|
||||
# 6667 basis points, ~67% of SLOT_DURATION_MS
|
||||
CONTRIBUTION_DUE_BPS: 6667
|
||||
|
||||
# Validator cycle
|
||||
# ---------------------------------------------------------------
|
||||
@@ -138,9 +155,30 @@ MAX_BLOBS_PER_BLOCK_ELECTRA: 9
|
||||
MAX_REQUEST_BLOB_SIDECARS_ELECTRA: 1152
|
||||
|
||||
# Fulu
|
||||
NUMBER_OF_COLUMNS: 128
|
||||
# 2**7 (= 128) groups
|
||||
NUMBER_OF_CUSTODY_GROUPS: 128
|
||||
# 2**7 (= 128) subnets
|
||||
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128
|
||||
# MAX_REQUEST_BLOCKS_DENEB * NUMBER_OF_COLUMNS (= 128 * 128) sidecars
|
||||
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
|
||||
# 2**3 (= 8) samples
|
||||
SAMPLES_PER_SLOT: 8
|
||||
# 2**2 (= 4) sidecars
|
||||
CUSTODY_REQUIREMENT: 4
|
||||
MAX_BLOBS_PER_BLOCK_FULU: 12
|
||||
# 2**3 (= 8) sidecars
|
||||
VALIDATOR_CUSTODY_REQUIREMENT: 8
|
||||
# 2**5 * 10**9 (= 32,000,000,000) Gwei
|
||||
BALANCE_PER_ADDITIONAL_CUSTODY_GROUP: 32000000000
|
||||
# 2**12 (= 4,096) epochs
|
||||
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS: 4096
|
||||
|
||||
# Blob Scheduling
|
||||
# ---------------------------------------------------------------
|
||||
|
||||
BLOB_SCHEDULE:
|
||||
- EPOCH: 166400
|
||||
MAX_BLOBS_PER_BLOCK: 15
|
||||
- EPOCH: 167936
|
||||
MAX_BLOBS_PER_BLOCK: 21
|
||||
|
||||
# Gloas
|
||||
@@ -42,13 +42,19 @@ ELECTRA_FORK_EPOCH: 2048
|
||||
|
||||
# Fulu
|
||||
FULU_FORK_VERSION: 0x70000910
|
||||
FULU_FORK_EPOCH: 18446744073709551615
|
||||
FULU_FORK_EPOCH: 50688
|
||||
|
||||
# Gloas
|
||||
GLOAS_FORK_VERSION: 0x80000910
|
||||
GLOAS_FORK_EPOCH: 18446744073709551615
|
||||
|
||||
|
||||
# Time parameters
|
||||
# ---------------------------------------------------------------
|
||||
# 12 seconds
|
||||
SECONDS_PER_SLOT: 12
|
||||
# 12000 milliseconds
|
||||
SLOT_DURATION_MS: 12000
|
||||
# 14 (estimate from Eth1 mainnet)
|
||||
SECONDS_PER_ETH1_BLOCK: 12
|
||||
# 2**8 (= 256) epochs ~27 hours
|
||||
@@ -57,6 +63,18 @@ MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256
|
||||
SHARD_COMMITTEE_PERIOD: 256
|
||||
# 2**11 (= 2,048) Eth1 blocks ~8 hours
|
||||
ETH1_FOLLOW_DISTANCE: 2048
|
||||
# 1667 basis points, ~17% of SLOT_DURATION_MS
|
||||
PROPOSER_REORG_CUTOFF_BPS: 1667
|
||||
# 3333 basis points, ~33% of SLOT_DURATION_MS
|
||||
ATTESTATION_DUE_BPS: 3333
|
||||
# 6667 basis points, ~67% of SLOT_DURATION_MS
|
||||
AGGREGATE_DUE_BPS: 6667
|
||||
|
||||
# Altair
|
||||
# 3333 basis points, ~33% of SLOT_DURATION_MS
|
||||
SYNC_MESSAGE_DUE_BPS: 3333
|
||||
# 6667 basis points, ~67% of SLOT_DURATION_MS
|
||||
CONTRIBUTION_DUE_BPS: 6667
|
||||
|
||||
# Validator cycle
|
||||
# ---------------------------------------------------------------
|
||||
@@ -150,14 +168,34 @@ WHISK_EPOCHS_PER_SHUFFLING_PHASE: 256
|
||||
WHISK_PROPOSER_SELECTION_GAP: 2
|
||||
|
||||
# Fulu
|
||||
NUMBER_OF_COLUMNS: 128
|
||||
# 2**7 (= 128) groups
|
||||
NUMBER_OF_CUSTODY_GROUPS: 128
|
||||
# 2**7 (= 128) subnets
|
||||
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128
|
||||
# MAX_REQUEST_BLOCKS_DENEB * NUMBER_OF_COLUMNS (= 128 * 128) sidecars
|
||||
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
|
||||
# 2**3 (= 8) samples
|
||||
SAMPLES_PER_SLOT: 8
|
||||
# 2**2 (= 4) sidecars
|
||||
CUSTODY_REQUIREMENT: 4
|
||||
MAX_BLOBS_PER_BLOCK_FULU: 12
|
||||
# 2**3 (= 8) sidecars
|
||||
VALIDATOR_CUSTODY_REQUIREMENT: 8
|
||||
# 2**5 * 10**9 (= 32,000,000,000) Gwei
|
||||
BALANCE_PER_ADDITIONAL_CUSTODY_GROUP: 32000000000
|
||||
# 2**12 (= 4,096) epochs
|
||||
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS: 4096
|
||||
|
||||
|
||||
# Blob Scheduling
|
||||
# ---------------------------------------------------------------
|
||||
|
||||
BLOB_SCHEDULE:
|
||||
- EPOCH: 52480
|
||||
MAX_BLOBS_PER_BLOCK: 15
|
||||
- EPOCH: 54016
|
||||
MAX_BLOBS_PER_BLOCK: 21
|
||||
|
||||
# Gloas
|
||||
|
||||
# EIP7732
|
||||
MAX_REQUEST_PAYLOADS: 128
|
||||
|
||||
@@ -6,7 +6,9 @@ PRESET_BASE: 'mainnet'
|
||||
# Free-form short name of the network that this configuration applies to - known
|
||||
# canonical network names include:
|
||||
# * 'mainnet' - there can be only one
|
||||
# * 'sepolia' - testnet
|
||||
# * 'holesky' - testnet
|
||||
# * 'hoodi' - testnet
|
||||
# Must match the regex: [a-z0-9\-]
|
||||
CONFIG_NAME: 'mainnet'
|
||||
|
||||
@@ -50,25 +52,42 @@ DENEB_FORK_EPOCH: 269568 # March 13, 2024, 01:55:35pm UTC
|
||||
# Electra
|
||||
ELECTRA_FORK_VERSION: 0x05000000
|
||||
ELECTRA_FORK_EPOCH: 364032 # May 7, 2025, 10:05:11am UTC
|
||||
# eip7805
|
||||
EIP7805_FORK_VERSION: 0x06000000
|
||||
EIP7805_FORK_EPOCH: 18446744073709551615
|
||||
# Fulu
|
||||
FULU_FORK_VERSION: 0x07000000
|
||||
FULU_FORK_EPOCH: 18446744073709551615
|
||||
FULU_FORK_VERSION: 0x06000000
|
||||
FULU_FORK_EPOCH: 411392 # December 3, 2025, 09:49:11pm UTC
|
||||
# Eip7805
|
||||
EIP7805_FORK_VERSION: 0x07000000
|
||||
EIP7805_FORK_EPOCH: 18446744073709551615
|
||||
# Gloas
|
||||
GLOAS_FORK_VERSION: 0x08000000
|
||||
GLOAS_FORK_EPOCH: 18446744073709551615
|
||||
|
||||
# Time parameters
|
||||
# ---------------------------------------------------------------
|
||||
# 12 seconds
|
||||
# 12 seconds (*deprecated*)
|
||||
SECONDS_PER_SLOT: 12
|
||||
# 12000 milliseconds
|
||||
SLOT_DURATION_MS: 12000
|
||||
# 14 (estimate from Eth1 mainnet)
|
||||
SECONDS_PER_ETH1_BLOCK: 14
|
||||
# 2**8 (= 256) epochs ~27 hours
|
||||
# 2**8 (= 256) epochs
|
||||
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256
|
||||
# 2**8 (= 256) epochs ~27 hours
|
||||
# 2**8 (= 256) epochs
|
||||
SHARD_COMMITTEE_PERIOD: 256
|
||||
# 2**11 (= 2,048) Eth1 blocks ~8 hours
|
||||
# 2**11 (= 2,048) Eth1 blocks
|
||||
ETH1_FOLLOW_DISTANCE: 2048
|
||||
# 1667 basis points, ~17% of SLOT_DURATION_MS
|
||||
PROPOSER_REORG_CUTOFF_BPS: 1667
|
||||
# 3333 basis points, ~33% of SLOT_DURATION_MS
|
||||
ATTESTATION_DUE_BPS: 3333
|
||||
# 6667 basis points, ~67% of SLOT_DURATION_MS
|
||||
AGGREGATE_DUE_BPS: 6667
|
||||
|
||||
# Altair
|
||||
# 3333 basis points, ~33% of SLOT_DURATION_MS
|
||||
SYNC_MESSAGE_DUE_BPS: 3333
|
||||
# 6667 basis points, ~67% of SLOT_DURATION_MS
|
||||
CONTRIBUTION_DUE_BPS: 6667
|
||||
|
||||
# Validator cycle
|
||||
# ---------------------------------------------------------------
|
||||
@@ -78,13 +97,21 @@ INACTIVITY_SCORE_BIAS: 4
|
||||
INACTIVITY_SCORE_RECOVERY_RATE: 16
|
||||
# 2**4 * 10**9 (= 16,000,000,000) Gwei
|
||||
EJECTION_BALANCE: 16000000000
|
||||
# 2**2 (= 4)
|
||||
# 2**2 (= 4) validators
|
||||
MIN_PER_EPOCH_CHURN_LIMIT: 4
|
||||
# 2**16 (= 65,536)
|
||||
CHURN_LIMIT_QUOTIENT: 65536
|
||||
# [New in Deneb:EIP7514] 2**3 (= 8)
|
||||
|
||||
# Deneb
|
||||
# 2**3 (= 8) (*deprecated*)
|
||||
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT: 8
|
||||
|
||||
# Electra
|
||||
# 2**7 * 10**9 (= 128,000,000,000) Gwei
|
||||
MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 128000000000
|
||||
# 2**8 * 10**9 (= 256,000,000,000) Gwei
|
||||
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 256000000000
|
||||
|
||||
# Fork choice
|
||||
# ---------------------------------------------------------------
|
||||
# 40%
|
||||
@@ -93,7 +120,7 @@ PROPOSER_SCORE_BOOST: 40
|
||||
REORG_HEAD_WEIGHT_THRESHOLD: 20
|
||||
# 160%
|
||||
REORG_PARENT_WEIGHT_THRESHOLD: 160
|
||||
# `2` epochs
|
||||
# 2 epochs
|
||||
REORG_MAX_EPOCHS_SINCE_FINALIZATION: 2
|
||||
|
||||
# Deposit contract
|
||||
@@ -105,18 +132,19 @@ DEPOSIT_CONTRACT_ADDRESS: 0x00000000219ab540356cBB839Cbe05303d7705Fa
|
||||
|
||||
# Networking
|
||||
# ---------------------------------------------------------------
|
||||
# `10 * 2**20` (= 10485760, 10 MiB)
|
||||
# 10 * 2**20 (= 10,485,760) bytes, 10 MiB
|
||||
MAX_PAYLOAD_SIZE: 10485760
|
||||
# `2**10` (= 1024)
|
||||
# 2**10 (= 1,024) blocks
|
||||
MAX_REQUEST_BLOCKS: 1024
|
||||
# `2**8` (= 256)
|
||||
# 2**8 (= 256) epochs
|
||||
EPOCHS_PER_SUBNET_SUBSCRIPTION: 256
|
||||
# `MIN_VALIDATOR_WITHDRAWABILITY_DELAY + CHURN_LIMIT_QUOTIENT // 2` (= 33024, ~5 months)
|
||||
# MIN_VALIDATOR_WITHDRAWABILITY_DELAY + CHURN_LIMIT_QUOTIENT // 2 (= 33,024) epochs
|
||||
MIN_EPOCHS_FOR_BLOCK_REQUESTS: 33024
|
||||
# 5s
|
||||
TTFB_TIMEOUT: 5
|
||||
# 10s
|
||||
RESP_TIMEOUT: 10
|
||||
# 2**5 (= 32) slots
|
||||
ATTESTATION_PROPAGATION_SLOT_RANGE: 32
|
||||
# 500ms
|
||||
MAXIMUM_GOSSIP_CLOCK_DISPARITY: 500
|
||||
@@ -124,50 +152,64 @@ MESSAGE_DOMAIN_INVALID_SNAPPY: 0x00000000
|
||||
MESSAGE_DOMAIN_VALID_SNAPPY: 0x01000000
|
||||
# 2 subnets per node
|
||||
SUBNETS_PER_NODE: 2
|
||||
# 2**8 (= 64)
|
||||
# 2**6 (= 64) subnets
|
||||
ATTESTATION_SUBNET_COUNT: 64
|
||||
# 0 bits
|
||||
ATTESTATION_SUBNET_EXTRA_BITS: 0
|
||||
# ceillog2(ATTESTATION_SUBNET_COUNT) + ATTESTATION_SUBNET_EXTRA_BITS
|
||||
# ceillog2(ATTESTATION_SUBNET_COUNT) + ATTESTATION_SUBNET_EXTRA_BITS (= 6 + 0) bits
|
||||
ATTESTATION_SUBNET_PREFIX_BITS: 6
|
||||
ATTESTATION_SUBNET_SHUFFLING_PREFIX_BITS: 3
|
||||
|
||||
# Deneb
|
||||
# `2**7` (=128)
|
||||
# 2**7 (= 128) blocks
|
||||
MAX_REQUEST_BLOCKS_DENEB: 128
|
||||
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
|
||||
MAX_REQUEST_BLOB_SIDECARS: 768
|
||||
# `2**12` (= 4096 epochs, ~18 days)
|
||||
# 2**12 (= 4,096) epochs
|
||||
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 4096
|
||||
# `6`
|
||||
# 6 subnets
|
||||
BLOB_SIDECAR_SUBNET_COUNT: 6
|
||||
# `uint64(6)`
|
||||
# 6 blobs
|
||||
MAX_BLOBS_PER_BLOCK: 6
|
||||
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK (= 128 * 6) sidecars
|
||||
MAX_REQUEST_BLOB_SIDECARS: 768
|
||||
|
||||
# Electra
|
||||
# 2**7 * 10**9 (= 128,000,000,000)
|
||||
MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 128000000000
|
||||
# 2**8 * 10**9 (= 256,000,000,000)
|
||||
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 256000000000
|
||||
# `9`
|
||||
# 9 subnets
|
||||
BLOB_SIDECAR_SUBNET_COUNT_ELECTRA: 9
|
||||
# `uint64(9)`
|
||||
# 9 blobs
|
||||
MAX_BLOBS_PER_BLOCK_ELECTRA: 9
|
||||
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK_ELECTRA
|
||||
# MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK_ELECTRA (= 128 * 9) sidecars
|
||||
MAX_REQUEST_BLOB_SIDECARS_ELECTRA: 1152
|
||||
|
||||
# Fulu
|
||||
NUMBER_OF_COLUMNS: 128
|
||||
# 2**7 (= 128) groups
|
||||
NUMBER_OF_CUSTODY_GROUPS: 128
|
||||
# 2**7 (= 128) subnets
|
||||
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128
|
||||
# MAX_REQUEST_BLOCKS_DENEB * NUMBER_OF_COLUMNS (= 128 * 128) sidecars
|
||||
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
|
||||
# 2**3 (= 8) samples
|
||||
SAMPLES_PER_SLOT: 8
|
||||
# 2**2 (= 4) sidecars
|
||||
CUSTODY_REQUIREMENT: 4
|
||||
MAX_BLOBS_PER_BLOCK_FULU: 12
|
||||
# 2**3 (= 8) sidecars
|
||||
VALIDATOR_CUSTODY_REQUIREMENT: 8
|
||||
# 2**5 * 10**9 (= 32,000,000,000) Gwei
|
||||
BALANCE_PER_ADDITIONAL_CUSTODY_GROUP: 32000000000
|
||||
# 2**12 (= 4,096) epochs
|
||||
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS: 4096
|
||||
|
||||
# Blob Scheduling
|
||||
# ---------------------------------------------------------------
|
||||
|
||||
BLOB_SCHEDULE:
|
||||
- EPOCH: 412672 # December 9, 2025, 02:21:11pm UTC
|
||||
MAX_BLOBS_PER_BLOCK: 15
|
||||
- EPOCH: 419072 # January 7, 2026, 01:01:11am UTC
|
||||
MAX_BLOBS_PER_BLOCK: 21
|
||||
|
||||
# EIP 7805
|
||||
ATTESTATION_DEADLINE: 4
|
||||
PROPOSER_INCLUSION_LIST_CUT_OFF: 11
|
||||
VIEW_FREEZE_DEADLINE: 9
|
||||
# 2**4 (= 16)
|
||||
MAX_REQUEST_INCLUSION_LIST: 16
|
||||
# 2**13 (= 8192)
|
||||
MAX_BYTES_PER_INCLUSION_LIST: 8192
|
||||
|
||||
# Gloas
|
||||
|
||||
@@ -40,10 +40,20 @@ DENEB_FORK_EPOCH: 132608
|
||||
ELECTRA_FORK_VERSION: 0x90000074
|
||||
ELECTRA_FORK_EPOCH: 222464
|
||||
|
||||
# Fulu
|
||||
FULU_FORK_VERSION: 0x90000075
|
||||
FULU_FORK_EPOCH: 272640
|
||||
|
||||
# Gloas
|
||||
GLOAS_FORK_VERSION: 0x90000076
|
||||
GLOAS_FORK_EPOCH: 18446744073709551615
|
||||
|
||||
# Time parameters
|
||||
# ---------------------------------------------------------------
|
||||
# 12 seconds
|
||||
SECONDS_PER_SLOT: 12
|
||||
# 12000 milliseconds
|
||||
SLOT_DURATION_MS: 12000
|
||||
# 14 (estimate from Eth1 mainnet)
|
||||
SECONDS_PER_ETH1_BLOCK: 14
|
||||
# 2**8 (= 256) epochs ~27 hours
|
||||
@@ -52,6 +62,18 @@ MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256
|
||||
SHARD_COMMITTEE_PERIOD: 256
|
||||
# 2**11 (= 2,048) Eth1 blocks ~8 hours
|
||||
ETH1_FOLLOW_DISTANCE: 2048
|
||||
# 1667 basis points, ~17% of SLOT_DURATION_MS
|
||||
PROPOSER_REORG_CUTOFF_BPS: 1667
|
||||
# 3333 basis points, ~33% of SLOT_DURATION_MS
|
||||
ATTESTATION_DUE_BPS: 3333
|
||||
# 6667 basis points, ~67% of SLOT_DURATION_MS
|
||||
AGGREGATE_DUE_BPS: 6667
|
||||
|
||||
# Altair
|
||||
# 3333 basis points, ~33% of SLOT_DURATION_MS
|
||||
SYNC_MESSAGE_DUE_BPS: 3333
|
||||
# 6667 basis points, ~67% of SLOT_DURATION_MS
|
||||
CONTRIBUTION_DUE_BPS: 6667
|
||||
|
||||
|
||||
# Validator cycle
|
||||
@@ -139,9 +161,31 @@ MAX_BLOBS_PER_BLOCK_ELECTRA: 9
|
||||
MAX_REQUEST_BLOB_SIDECARS_ELECTRA: 1152
|
||||
|
||||
# Fulu
|
||||
NUMBER_OF_COLUMNS: 128
|
||||
# 2**7 (= 128) groups
|
||||
NUMBER_OF_CUSTODY_GROUPS: 128
|
||||
# 2**7 (= 128) subnets
|
||||
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128
|
||||
# MAX_REQUEST_BLOCKS_DENEB * NUMBER_OF_COLUMNS (= 128 * 128) sidecars
|
||||
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384
|
||||
# 2**3 (= 8) samples
|
||||
SAMPLES_PER_SLOT: 8
|
||||
# 2**2 (= 4) sidecars
|
||||
CUSTODY_REQUIREMENT: 4
|
||||
MAX_BLOBS_PER_BLOCK_FULU: 12
|
||||
# 2**3 (= 8) sidecars
|
||||
VALIDATOR_CUSTODY_REQUIREMENT: 8
|
||||
# 2**5 * 10**9 (= 32,000,000,000) Gwei
|
||||
BALANCE_PER_ADDITIONAL_CUSTODY_GROUP: 32000000000
|
||||
# 2**12 (= 4,096) epochs
|
||||
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS: 4096
|
||||
|
||||
|
||||
# Blob Scheduling
|
||||
# ---------------------------------------------------------------
|
||||
|
||||
BLOB_SCHEDULE:
|
||||
- EPOCH: 274176
|
||||
MAX_BLOBS_PER_BLOCK: 15
|
||||
- EPOCH: 275712
|
||||
MAX_BLOBS_PER_BLOCK: 21
|
||||
|
||||
# Gloas
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
use bytes::Bytes;
|
||||
use discv5::enr::{CombinedKey, Enr};
|
||||
use eth2_config::{instantiate_hardcoded_nets, HardcodedNet};
|
||||
use eth2_config::{HardcodedNet, instantiate_hardcoded_nets};
|
||||
use kzg::trusted_setup::get_trusted_setup;
|
||||
use pretty_reqwest_error::PrettyReqwestError;
|
||||
use reqwest::{Client, Error};
|
||||
use sensitive_url::SensitiveUrl;
|
||||
use sha2::{Digest, Sha256};
|
||||
use std::fs::{create_dir_all, File};
|
||||
use std::fs::{File, create_dir_all};
|
||||
use std::io::{Read, Write};
|
||||
use std::path::PathBuf;
|
||||
use std::str::FromStr;
|
||||
@@ -464,9 +464,10 @@ fn parse_state_download_url(url: &str) -> Result<Url, String> {
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use fixed_bytes::FixedBytesExtended;
|
||||
use ssz::Encode;
|
||||
use tempfile::Builder as TempBuilder;
|
||||
use types::{Eth1Data, FixedBytesExtended, GnosisEthSpec, MainnetEthSpec};
|
||||
use types::{Eth1Data, GnosisEthSpec, MainnetEthSpec};
|
||||
|
||||
type E = MainnetEthSpec;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user