Add spec references, a mapping of spec to implementation (#15592)

* Add spec references, a mapping of spec to implementation

* Add changelog fragment

---------

Co-authored-by: james-prysm <90280386+james-prysm@users.noreply.github.com>
This commit is contained in:
Justin Traglia
2025-08-21 09:54:04 -05:00
committed by GitHub
parent c5135f6995
commit ee03c7cce2
10 changed files with 12461 additions and 1 deletions

229
specrefs/.ethspecify.yml Normal file
View File

@@ -0,0 +1,229 @@
version: v1.6.0-alpha.4
style: full
specrefs:
search_root: ..
files:
- configs.yml
- constants.yml
- containers.yml
- dataclasses.yml
- functions.yml
- presets.yml
exceptions:
presets:
# Not implemented
- CELLS_PER_EXT_BLOB#fulu
- UPDATE_TIMEOUT#altair
constants:
# Constants in the KZG library
- BLS_MODULUS#deneb
- BYTES_PER_COMMITMENT#deneb
- BYTES_PER_FIELD_ELEMENT#deneb
- BYTES_PER_PROOF#deneb
- FIAT_SHAMIR_PROTOCOL_DOMAIN#deneb
- G1_POINT_AT_INFINITY#deneb
- G2_POINT_AT_INFINITY#deneb
- KZG_ENDIANNESS#deneb
- KZG_SETUP_G2_LENGTH#deneb
- KZG_SETUP_G2_MONOMIAL#deneb
- PRIMITIVE_ROOT_OF_UNITY#deneb
- RANDOM_CHALLENGE_KZG_BATCH_DOMAIN#deneb
- RANDOM_CHALLENGE_KZG_CELL_BATCH_DOMAIN#fulu
# Not implemented
- ENDIANNESS#phase0
- MAX_CONCURRENT_REQUESTS#phase0
- PARTICIPATION_FLAG_WEIGHTS#altair
- SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY#bellatrix
- UINT256_MAX#fulu
- UINT64_MAX#phase0
- UINT64_MAX_SQRT#phase0
ssz_objects:
# Not implemented
- Eth1Block#phase0
- MatrixEntry#fulu
dataclasses:
# Not implemented
- BlobParameters#fulu
- LatestMessage#phase0
- LightClientStore#altair
- OptimisticStore#bellatrix
- Store#phase0
functions:
# Functions implemented by KZG library for EIP-4844
- bit_reversal_permutation#deneb
- blob_to_kzg_commitment#deneb
- blob_to_polynomial#deneb
- bls_field_to_bytes#deneb
- bytes_to_bls_field#deneb
- bytes_to_kzg_commitment#deneb
- bytes_to_kzg_proof#deneb
- compute_blob_kzg_proof#deneb
- compute_challenge#deneb
- compute_kzg_proof#deneb
- compute_kzg_proof_impl#deneb
- compute_powers#deneb
- compute_quotient_eval_within_domain#deneb
- compute_roots_of_unity#deneb
- evaluate_polynomial_in_evaluation_form#deneb
- g1_lincomb#deneb
- hash_to_bls_field#deneb
- is_power_of_two#deneb
- multi_exp#deneb
- reverse_bits#deneb
- validate_kzg_g1#deneb
- verify_blob_kzg_proof#deneb
- verify_blob_kzg_proof_batch#deneb
- verify_kzg_proof#deneb
- verify_kzg_proof_batch#deneb
- verify_kzg_proof_impl#deneb
# Functions implemented by KZG library for EIP-7594
- _fft_field#fulu
- add_polynomialcoeff#fulu
- cell_to_coset_evals#fulu
- compute_cells#fulu
- compute_cells_and_kzg_proofs#fulu
- compute_cells_and_kzg_proofs_polynomialcoeff#fulu
- compute_kzg_proof_multi_impl#fulu
- compute_verify_cell_kzg_proof_batch_challenge#fulu
- construct_vanishing_polynomial#fulu
- coset_evals_to_cell#fulu
- coset_fft_field#fulu
- coset_for_cell#fulu
- coset_shift_for_cell#fulu
- divide_polynomialcoeff#fulu
- evaluate_polynomialcoeff#fulu
- fft_field#fulu
- interpolate_polynomialcoeff#fulu
- multiply_polynomialcoeff#fulu
- polynomial_eval_to_coeff#fulu
- recover_cells_and_kzg_proofs#fulu
- recover_polynomialcoeff#fulu
- vanishing_polynomialcoeff#fulu
- verify_cell_kzg_proof_batch#fulu
- verify_cell_kzg_proof_batch_impl#fulu
# Not implemented: phase0
- calculate_committee_fraction#phase0
- compute_pulled_up_tip#phase0
- filter_block_tree#phase0
- get_aggregate_and_proof#phase0
- get_attestation_component_deltas#phase0
- get_attesting_balance#phase0
- get_base_reward#phase0
- get_checkpoint_block#phase0
- get_current_store_epoch#phase0
- get_eligible_validator_indices#phase0
- get_epoch_signature#phase0
- get_eth1_vote#phase0
- get_filtered_block_tree#phase0
- get_forkchoice_store#phase0
- get_matching_head_attestations#phase0
- get_matching_source_attestations#phase0
- get_matching_target_attestations#phase0
- get_proposer_head#phase0
- get_proposer_score#phase0
- get_slot_signature#phase0
- get_unslashed_attesting_indices#phase0
- get_voting_source#phase0
- is_candidate_block#phase0
- is_ffg_competitive#phase0
- is_finalization_ok#phase0
- is_head_late#phase0
- is_head_weak#phase0
- is_parent_strong#phase0
- is_proposer#phase0
- is_proposing_on_time#phase0
- is_shuffling_stable#phase0
- is_valid_merkle_branch#phase0
- on_tick#phase0
- on_tick_per_slot#phase0
- store_target_checkpoint_state#phase0
- update_latest_messages#phase0
- validate_on_attestation#phase0
- validate_target_epoch_against_current_time#phase0
- xor#phase0
# Not implemented: altair
- compute_sync_committee_period_at_slot#altair
- compute_timestamp_at_slot#bellatrix
- get_contribution_and_proof#altair
- get_index_for_new_validator#altair
- get_safety_threshold#altair
- get_subtree_index#altair
- get_sync_committee_message#altair
- get_sync_committee_selection_proof#altair
- get_unslashed_participating_indices#altair
- is_assigned_to_sync_committee#altair
- is_finality_update#altair
- is_next_sync_committee_known#altair
- is_valid_light_client_header#altair
- is_valid_normalized_merkle_branch#altair
- process_light_client_store_force_update#altair
- process_light_client_update#altair
- process_sync_committee_contributions#altair
- set_or_append_list#altair
- validate_light_client_update#altair
# Not implemented: bellatrix
- get_execution_payload#bellatrix
- is_merge_transition_block#bellatrix
- is_optimistic_candidate_block#bellatrix
- latest_verified_ancestor#bellatrix
- prepare_execution_payload#bellatrix
# Not implemented: capella
- get_lc_execution_root#capella
- is_valid_light_client_header#capella
- prepare_execution_payload#capella
- process_epoch#capella
- upgrade_lc_bootstrap_to_capella#capella
- upgrade_lc_finality_update_to_capella#capella
- upgrade_lc_header_to_capella#capella
- upgrade_lc_optimistic_update_to_capella#capella
- upgrade_lc_store_to_capella#capella
- upgrade_lc_update_to_capella#capella
# Not implemented: deneb
- get_lc_execution_root#deneb
- is_valid_light_client_header#deneb
- prepare_execution_payload#deneb
- upgrade_lc_bootstrap_to_deneb#deneb
- upgrade_lc_finality_update_to_deneb#deneb
- upgrade_lc_header_to_deneb#deneb
- upgrade_lc_optimistic_update_to_deneb#deneb
- upgrade_lc_store_to_deneb#deneb
- upgrade_lc_update_to_deneb#deneb
# Not implemented: electra
- compute_weak_subjectivity_period#electra
- current_sync_committee_gindex_at_slot#electra
- finalized_root_gindex_at_slot#electra
- get_eth1_vote#electra
- get_lc_execution_root#electra
- is_compounding_withdrawal_credential#electra
- is_within_weak_subjectivity_period#electra
- next_sync_committee_gindex_at_slot#electra
- normalize_merkle_branch#electra
- prepare_execution_payload#electra
- upgrade_lc_bootstrap_to_electra#electra
- upgrade_lc_finality_update_to_electra#electra
- upgrade_lc_header_to_electra#electra
- upgrade_lc_optimistic_update_to_electra#electra
- upgrade_lc_store_to_electra#electra
- upgrade_lc_update_to_electra#electra
# Not implemented: fulu
- compute_fork_digest#fulu
- compute_matrix#fulu
- get_blob_parameters#fulu
- get_data_column_sidecars_from_column_sidecar#fulu
- get_extended_sample_count#fulu
- recover_matrix#fulu

650
specrefs/configs.yml Normal file
View File

@@ -0,0 +1,650 @@
- name: ALTAIR_FORK_EPOCH
sources:
- file: config/params/config.go
search: AltairForkEpoch\s+primitives.Epoch
regex: true
spec: |
<spec config_var="ALTAIR_FORK_EPOCH" fork="altair" hash="e62f5307">
ALTAIR_FORK_EPOCH: Epoch = 74240
</spec>
- name: ALTAIR_FORK_VERSION
sources:
- file: config/params/config.go
search: AltairForkVersion\s+\[]byte
regex: true
spec: |
<spec config_var="ALTAIR_FORK_VERSION" fork="altair" hash="d9a64536">
ALTAIR_FORK_VERSION: Version = '0x01000000'
</spec>
- name: ATTESTATION_PROPAGATION_SLOT_RANGE
sources:
- file: config/params/config.go
search: AttestationPropagationSlotRange\s+primitives.Slot
regex: true
spec: |
<spec config_var="ATTESTATION_PROPAGATION_SLOT_RANGE" fork="phase0" hash="40bcdb02">
ATTESTATION_PROPAGATION_SLOT_RANGE = 32
</spec>
- name: ATTESTATION_SUBNET_COUNT
sources:
- file: config/params/config.go
search: AttestationSubnetCount\s+uint64
regex: true
spec: |
<spec config_var="ATTESTATION_SUBNET_COUNT" fork="phase0" hash="1c8c0a1b">
ATTESTATION_SUBNET_COUNT = 64
</spec>
- name: ATTESTATION_SUBNET_EXTRA_BITS
sources:
- file: config/params/config.go
search: AttestationSubnetExtraBits\s+uint64
regex: true
spec: |
<spec config_var="ATTESTATION_SUBNET_EXTRA_BITS" fork="phase0" hash="e233b5ba">
ATTESTATION_SUBNET_EXTRA_BITS = 0
</spec>
- name: ATTESTATION_SUBNET_PREFIX_BITS
sources:
- file: config/params/config.go
search: AttestationSubnetPrefixBits\s+uint64
regex: true
spec: |
<spec config_var="ATTESTATION_SUBNET_PREFIX_BITS" fork="phase0" hash="d6f5ea62">
ATTESTATION_SUBNET_PREFIX_BITS: int = 6
</spec>
- name: BALANCE_PER_ADDITIONAL_CUSTODY_GROUP
sources:
- file: config/params/config.go
search: BalancePerAdditionalCustodyGroup\s+uint64
regex: true
spec: |
<spec config_var="BALANCE_PER_ADDITIONAL_CUSTODY_GROUP" fork="fulu" hash="5b556450">
BALANCE_PER_ADDITIONAL_CUSTODY_GROUP: Gwei = 32000000000
</spec>
- name: BELLATRIX_FORK_EPOCH
sources:
- file: config/params/config.go
search: BellatrixForkEpoch\s+primitives.Epoch
regex: true
spec: |
<spec config_var="BELLATRIX_FORK_EPOCH" fork="bellatrix" hash="f0afe6d8">
BELLATRIX_FORK_EPOCH: Epoch = 144896
</spec>
- name: BELLATRIX_FORK_VERSION
sources:
- file: config/params/config.go
search: BellatrixForkVersion\s+\[]byte
regex: true
spec: |
<spec config_var="BELLATRIX_FORK_VERSION" fork="bellatrix" hash="e87eb2b4">
BELLATRIX_FORK_VERSION: Version = '0x02000000'
</spec>
- name: BLOB_SCHEDULE
sources:
- file: config/params/config.go
search: BlobSchedule\s+\[]BlobScheduleEntry
regex: true
spec: |
<spec config_var="BLOB_SCHEDULE" fork="fulu" hash="f3f1064a">
BLOB_SCHEDULE: tuple[frozendict[str, Any], ...] = (
)
</spec>
- name: BLOB_SIDECAR_SUBNET_COUNT
sources:
- file: config/params/config.go
search: BlobsidecarSubnetCount\s+uint64
regex: true
spec: |
<spec config_var="BLOB_SIDECAR_SUBNET_COUNT" fork="deneb" hash="03cc9976">
BLOB_SIDECAR_SUBNET_COUNT = 6
</spec>
- name: BLOB_SIDECAR_SUBNET_COUNT_ELECTRA
sources:
- file: config/params/config.go
search: BlobsidecarSubnetCountElectra\s+uint64
regex: true
spec: |
<spec config_var="BLOB_SIDECAR_SUBNET_COUNT_ELECTRA" fork="electra" hash="37ca2860">
BLOB_SIDECAR_SUBNET_COUNT_ELECTRA = 9
</spec>
- name: CAPELLA_FORK_EPOCH
sources:
- file: config/params/config.go
search: CapellaForkEpoch\s+primitives.Epoch
regex: true
spec: |
<spec config_var="CAPELLA_FORK_EPOCH" fork="capella" hash="65767661">
CAPELLA_FORK_EPOCH: Epoch = 194048
</spec>
- name: CAPELLA_FORK_VERSION
sources:
- file: config/params/config.go
search: CapellaForkVersion\s+\[]byte
regex: true
spec: |
<spec config_var="CAPELLA_FORK_VERSION" fork="capella" hash="5f94766c">
CAPELLA_FORK_VERSION: Version = '0x03000000'
</spec>
- name: CHURN_LIMIT_QUOTIENT
sources:
- file: config/params/config.go
search: ChurnLimitQuotient\s+uint64
regex: true
spec: |
<spec config_var="CHURN_LIMIT_QUOTIENT" fork="phase0" hash="a43a1d33">
CHURN_LIMIT_QUOTIENT: uint64 = 65536
</spec>
- name: CUSTODY_REQUIREMENT
sources:
- file: config/params/config.go
search: CustodyRequirement\s+uint64.*yaml:"CUSTODY_REQUIREMENT"
regex: true
spec: |
<spec config_var="CUSTODY_REQUIREMENT" fork="fulu" hash="b7340203">
CUSTODY_REQUIREMENT = 4
</spec>
- name: DATA_COLUMN_SIDECAR_SUBNET_COUNT
sources:
- file: config/params/config.go
search: DataColumnSidecarSubnetCount\s+uint64
regex: true
spec: |
<spec config_var="DATA_COLUMN_SIDECAR_SUBNET_COUNT" fork="fulu" hash="626172a6">
DATA_COLUMN_SIDECAR_SUBNET_COUNT = 128
</spec>
- name: DENEB_FORK_EPOCH
sources:
- file: config/params/config.go
search: DenebForkEpoch\s+primitives.Epoch
regex: true
spec: |
<spec config_var="DENEB_FORK_EPOCH" fork="deneb" hash="46d3dfee">
DENEB_FORK_EPOCH: Epoch = 269568
</spec>
- name: DENEB_FORK_VERSION
sources:
- file: config/params/config.go
search: DenebForkVersion\s+\[]byte
regex: true
spec: |
<spec config_var="DENEB_FORK_VERSION" fork="deneb" hash="da95e3b9">
DENEB_FORK_VERSION: Version = '0x04000000'
</spec>
- name: EJECTION_BALANCE
sources:
- file: config/params/config.go
search: EjectionBalance\s+uint64
regex: true
spec: |
<spec config_var="EJECTION_BALANCE" fork="phase0" hash="3f86d864">
EJECTION_BALANCE: Gwei = 16000000000
</spec>
- name: ELECTRA_FORK_EPOCH
sources:
- file: config/params/config.go
search: ElectraForkEpoch\s+primitives.Epoch
regex: true
spec: |
<spec config_var="ELECTRA_FORK_EPOCH" fork="electra" hash="53fa3efa">
ELECTRA_FORK_EPOCH: Epoch = 364032
</spec>
- name: ELECTRA_FORK_VERSION
sources:
- file: config/params/config.go
search: ElectraForkVersion\s+\[]byte
regex: true
spec: |
<spec config_var="ELECTRA_FORK_VERSION" fork="electra" hash="918d6c63">
ELECTRA_FORK_VERSION: Version = '0x05000000'
</spec>
- name: EPOCHS_PER_SUBNET_SUBSCRIPTION
sources:
- file: config/params/config.go
search: EpochsPerSubnetSubscription\s+uint64
regex: true
spec: |
<spec config_var="EPOCHS_PER_SUBNET_SUBSCRIPTION" fork="phase0" hash="1b832329">
EPOCHS_PER_SUBNET_SUBSCRIPTION = 256
</spec>
- name: ETH1_FOLLOW_DISTANCE
sources:
- file: config/params/config.go
search: Eth1FollowDistance\s+uint64
regex: true
spec: |
<spec config_var="ETH1_FOLLOW_DISTANCE" fork="phase0" hash="2f5ba1a0">
ETH1_FOLLOW_DISTANCE: uint64 = 2048
</spec>
- name: FULU_FORK_EPOCH
sources:
- file: config/params/config.go
search: FuluForkEpoch\s+primitives.Epoch
regex: true
spec: |
<spec config_var="FULU_FORK_EPOCH" fork="fulu" hash="673334be">
FULU_FORK_EPOCH: Epoch = 18446744073709551615
</spec>
- name: FULU_FORK_VERSION
sources:
- file: config/params/config.go
search: FuluForkVersion\s+\[]byte
regex: true
spec: |
<spec config_var="FULU_FORK_VERSION" fork="fulu" hash="1e7fa12a">
FULU_FORK_VERSION: Version = '0x06000000'
</spec>
- name: GENESIS_DELAY
sources:
- file: config/params/config.go
search: GenesisDelay\s+uint64
regex: true
spec: |
<spec config_var="GENESIS_DELAY" fork="phase0" hash="c50c75f1">
GENESIS_DELAY: uint64 = 604800
</spec>
- name: GENESIS_FORK_VERSION
sources:
- file: config/params/config.go
search: GenesisForkVersion\s+\[]byte
regex: true
spec: |
<spec config_var="GENESIS_FORK_VERSION" fork="phase0" hash="32bbe06e">
GENESIS_FORK_VERSION: Version = '0x00000000'
</spec>
- name: INACTIVITY_SCORE_BIAS
sources:
- file: config/params/config.go
search: InactivityScoreBias\s+uint64
regex: true
spec: |
<spec config_var="INACTIVITY_SCORE_BIAS" fork="altair" hash="c84c24a9">
INACTIVITY_SCORE_BIAS: uint64 = 4
</spec>
- name: INACTIVITY_SCORE_RECOVERY_RATE
sources:
- file: config/params/config.go
search: InactivityScoreRecoveryRate\s+uint64
regex: true
spec: |
<spec config_var="INACTIVITY_SCORE_RECOVERY_RATE" fork="altair" hash="d7876320">
INACTIVITY_SCORE_RECOVERY_RATE: uint64 = 16
</spec>
- name: MAXIMUM_GOSSIP_CLOCK_DISPARITY
sources:
- file: config/params/config.go
search: MaximumGossipClockDisparity\s+uint64
regex: true
spec: |
<spec config_var="MAXIMUM_GOSSIP_CLOCK_DISPARITY" fork="phase0" hash="12990b53">
MAXIMUM_GOSSIP_CLOCK_DISPARITY = 500
</spec>
- name: MAX_BLOBS_PER_BLOCK
sources:
- file: config/params/config.go
search: DeprecatedMaxBlobsPerBlock\s+int
regex: true
spec: |
<spec config_var="MAX_BLOBS_PER_BLOCK" fork="deneb" hash="3e0b5383">
MAX_BLOBS_PER_BLOCK: uint64 = 6
</spec>
- name: MAX_BLOBS_PER_BLOCK_ELECTRA
sources:
- file: config/params/config.go
search: DeprecatedMaxBlobsPerBlockElectra\s+int
regex: true
spec: |
<spec config_var="MAX_BLOBS_PER_BLOCK_ELECTRA" fork="electra" hash="0d8ea1c9">
MAX_BLOBS_PER_BLOCK_ELECTRA: uint64 = 9
</spec>
- name: MAX_PAYLOAD_SIZE
sources:
- file: config/params/config.go
search: MaxPayloadSize\s+uint64
regex: true
spec: |
<spec config_var="MAX_PAYLOAD_SIZE" fork="phase0" hash="7f1566fb">
MAX_PAYLOAD_SIZE = 10485760
</spec>
- name: MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT
sources:
- file: config/params/config.go
search: MaxPerEpochActivationChurnLimit\s+uint64
regex: true
spec: |
<spec config_var="MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT" fork="deneb" hash="c4d9b0bb">
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT: uint64 = 8
</spec>
- name: MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT
sources:
- file: config/params/config.go
search: MaxPerEpochActivationExitChurnLimit\s+uint64
regex: true
spec: |
<spec config_var="MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT" fork="electra" hash="87c05125">
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: Gwei = 256000000000
</spec>
- name: MAX_REQUEST_BLOB_SIDECARS
sources:
- file: config/params/config.go
search: MaxRequestBlobSidecars\s+uint64
regex: true
spec: |
<spec config_var="MAX_REQUEST_BLOB_SIDECARS" fork="deneb" hash="9b8ad30b">
MAX_REQUEST_BLOB_SIDECARS = 768
</spec>
- name: MAX_REQUEST_BLOB_SIDECARS_ELECTRA
sources:
- file: config/params/config.go
search: MaxRequestBlobSidecarsElectra\s+uint64
regex: true
spec: |
<spec config_var="MAX_REQUEST_BLOB_SIDECARS_ELECTRA" fork="electra" hash="decc80ab">
MAX_REQUEST_BLOB_SIDECARS_ELECTRA = 1152
</spec>
- name: MAX_REQUEST_BLOCKS
sources:
- file: config/params/config.go
search: MaxRequestBlocks\s+uint64
regex: true
spec: |
<spec config_var="MAX_REQUEST_BLOCKS" fork="phase0" hash="a9ae6c77">
MAX_REQUEST_BLOCKS = 1024
</spec>
- name: MAX_REQUEST_BLOCKS_DENEB
sources:
- file: config/params/config.go
search: MaxRequestBlocksDeneb\s+uint64
regex: true
spec: |
<spec config_var="MAX_REQUEST_BLOCKS_DENEB" fork="deneb" hash="8318964a">
MAX_REQUEST_BLOCKS_DENEB = 128
</spec>
- name: MAX_REQUEST_DATA_COLUMN_SIDECARS
sources:
- file: config/params/config.go
search: MaxRequestDataColumnSidecars\s+uint64
regex: true
spec: |
<spec config_var="MAX_REQUEST_DATA_COLUMN_SIDECARS" fork="fulu" hash="bbe5c650">
MAX_REQUEST_DATA_COLUMN_SIDECARS = 16384
</spec>
- name: MESSAGE_DOMAIN_INVALID_SNAPPY
sources:
- file: config/params/config.go
search: MessageDomainInvalidSnappy\s+\[4\]byte
regex: true
spec: |
<spec config_var="MESSAGE_DOMAIN_INVALID_SNAPPY" fork="phase0" hash="6b6fc19a">
MESSAGE_DOMAIN_INVALID_SNAPPY: DomainType = '0x00000000'
</spec>
- name: MESSAGE_DOMAIN_VALID_SNAPPY
sources:
- file: config/params/config.go
search: MessageDomainValidSnappy\s+\[4\]byte
regex: true
spec: |
<spec config_var="MESSAGE_DOMAIN_VALID_SNAPPY" fork="phase0" hash="a6de155f">
MESSAGE_DOMAIN_VALID_SNAPPY: DomainType = '0x01000000'
</spec>
- name: MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS
sources:
- file: config/params/config.go
search: MinEpochsForBlobsSidecarsRequest\s+primitives.Epoch
regex: true
spec: |
<spec config_var="MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS" fork="deneb" hash="3df9114c">
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS = 4096
</spec>
- name: MIN_EPOCHS_FOR_BLOCK_REQUESTS
sources:
- file: config/params/config.go
search: MinEpochsForBlockRequests\s+uint64
regex: true
spec: |
<spec config_var="MIN_EPOCHS_FOR_BLOCK_REQUESTS" fork="phase0" hash="8ab131c4">
MIN_EPOCHS_FOR_BLOCK_REQUESTS = 33024
</spec>
- name: MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS
sources:
- file: config/params/config.go
search: MinEpochsForDataColumnSidecarsRequest\s+primitives.Epoch
regex: true
spec: |
<spec config_var="MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS" fork="fulu" hash="910e49bb">
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS = 4096
</spec>
- name: MIN_GENESIS_ACTIVE_VALIDATOR_COUNT
sources:
- file: config/params/config.go
search: MinGenesisActiveValidatorCount\s+uint64
regex: true
spec: |
<spec config_var="MIN_GENESIS_ACTIVE_VALIDATOR_COUNT" fork="phase0" hash="7715513b">
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: uint64 = 16384
</spec>
- name: MIN_GENESIS_TIME
sources:
- file: config/params/config.go
search: MinGenesisTime\s+uint64
regex: true
spec: |
<spec config_var="MIN_GENESIS_TIME" fork="phase0" hash="75c06876">
MIN_GENESIS_TIME: uint64 = 1606824000
</spec>
- name: MIN_PER_EPOCH_CHURN_LIMIT
sources:
- file: config/params/config.go
search: MinPerEpochChurnLimit\s+uint64
regex: true
spec: |
<spec config_var="MIN_PER_EPOCH_CHURN_LIMIT" fork="phase0" hash="ff24b223">
MIN_PER_EPOCH_CHURN_LIMIT: uint64 = 4
</spec>
- name: MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA
sources:
- file: config/params/config.go
search: MinPerEpochChurnLimitElectra\s+uint64
regex: true
spec: |
<spec config_var="MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA" fork="electra" hash="201809f8">
MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: Gwei = 128000000000
</spec>
- name: MIN_VALIDATOR_WITHDRAWABILITY_DELAY
sources:
- file: config/params/config.go
search: MinValidatorWithdrawabilityDelay\s+primitives.Epoch
regex: true
spec: |
<spec config_var="MIN_VALIDATOR_WITHDRAWABILITY_DELAY" fork="phase0" hash="5c4eeded">
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: uint64 = 256
</spec>
- name: NUMBER_OF_CUSTODY_GROUPS
sources:
- file: config/params/config.go
search: NumberOfCustodyGroups\s+uint64
regex: true
spec: |
<spec config_var="NUMBER_OF_CUSTODY_GROUPS" fork="fulu" hash="05e3016e">
NUMBER_OF_CUSTODY_GROUPS = 128
</spec>
- name: PROPOSER_SCORE_BOOST
sources:
- file: config/params/config.go
search: ProposerScoreBoost\s+uint64
regex: true
spec: |
<spec config_var="PROPOSER_SCORE_BOOST" fork="phase0" hash="fbc878c6">
PROPOSER_SCORE_BOOST: uint64 = 40
</spec>
- name: REORG_HEAD_WEIGHT_THRESHOLD
sources:
- file: config/params/config.go
search: ReorgHeadWeightThreshold\s+uint64
regex: true
spec: |
<spec config_var="REORG_HEAD_WEIGHT_THRESHOLD" fork="phase0" hash="d4ecaa84">
REORG_HEAD_WEIGHT_THRESHOLD: uint64 = 20
</spec>
- name: REORG_MAX_EPOCHS_SINCE_FINALIZATION
sources:
- file: config/params/config.go
search: ReorgMaxEpochsSinceFinalization\s+primitives.Epoch
regex: true
spec: |
<spec config_var="REORG_MAX_EPOCHS_SINCE_FINALIZATION" fork="phase0" hash="8567706e">
REORG_MAX_EPOCHS_SINCE_FINALIZATION: Epoch = 2
</spec>
- name: REORG_PARENT_WEIGHT_THRESHOLD
sources:
- file: config/params/config.go
search: ReorgParentWeightThreshold\s+uint64
regex: true
spec: |
<spec config_var="REORG_PARENT_WEIGHT_THRESHOLD" fork="phase0" hash="cb81e3da">
REORG_PARENT_WEIGHT_THRESHOLD: uint64 = 160
</spec>
- name: SAMPLES_PER_SLOT
sources:
- file: config/params/config.go
search: SamplesPerSlot\s+uint64
regex: true
spec: |
<spec config_var="SAMPLES_PER_SLOT" fork="fulu" hash="158798b8">
SAMPLES_PER_SLOT = 8
</spec>
- name: SECONDS_PER_ETH1_BLOCK
sources:
- file: config/params/config.go
search: SecondsPerETH1Block\s+uint64
regex: true
spec: |
<spec config_var="SECONDS_PER_ETH1_BLOCK" fork="phase0" hash="90c9f3d1">
SECONDS_PER_ETH1_BLOCK: uint64 = 14
</spec>
- name: SECONDS_PER_SLOT
sources:
- file: config/params/config.go
search: SecondsPerSlot\s+uint64
regex: true
spec: |
<spec config_var="SECONDS_PER_SLOT" fork="phase0" hash="a9118f10">
SECONDS_PER_SLOT: uint64 = 12
</spec>
- name: SHARD_COMMITTEE_PERIOD
sources:
- file: config/params/config.go
search: ShardCommitteePeriod\s+primitives.Epoch
regex: true
spec: |
<spec config_var="SHARD_COMMITTEE_PERIOD" fork="phase0" hash="5d0e85a4">
SHARD_COMMITTEE_PERIOD: uint64 = 256
</spec>
- name: SUBNETS_PER_NODE
sources:
- file: config/params/config.go
search: SubnetsPerNode\s+uint64
regex: true
spec: |
<spec config_var="SUBNETS_PER_NODE" fork="phase0" hash="4799f8f3">
SUBNETS_PER_NODE = 2
</spec>
- name: TERMINAL_BLOCK_HASH
sources:
- file: config/params/config.go
search: TerminalBlockHash\s+common.Hash
regex: true
spec: |
<spec config_var="TERMINAL_BLOCK_HASH" fork="bellatrix" hash="964c3bfe">
TERMINAL_BLOCK_HASH: Hash32 = '0x0000000000000000000000000000000000000000000000000000000000000000'
</spec>
- name: TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH
sources:
- file: config/params/config.go
search: TerminalBlockHashActivationEpoch\s+primitives.Epoch
regex: true
spec: |
<spec config_var="TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH" fork="bellatrix" hash="81928369">
TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH = 18446744073709551615
</spec>
- name: TERMINAL_TOTAL_DIFFICULTY
sources:
- file: config/params/config.go
search: TerminalTotalDifficulty\s+string
regex: true
spec: |
<spec config_var="TERMINAL_TOTAL_DIFFICULTY" fork="bellatrix" hash="e0f3a816">
TERMINAL_TOTAL_DIFFICULTY = 58750000000000000000000
</spec>
- name: VALIDATOR_CUSTODY_REQUIREMENT
sources:
- file: config/params/config.go
search: ValidatorCustodyRequirement\s+uint64
regex: true
spec: |
<spec config_var="VALIDATOR_CUSTODY_REQUIREMENT" fork="fulu" hash="4dfc4457">
VALIDATOR_CUSTODY_REQUIREMENT = 8
</spec>

583
specrefs/constants.yml Normal file

File diff suppressed because one or more lines are too long

1305
specrefs/containers.yml Normal file

File diff suppressed because it is too large Load Diff

249
specrefs/dataclasses.yml Normal file
View File

@@ -0,0 +1,249 @@
- name: BlobParameters
sources: []
spec: |
<spec dataclass="BlobParameters" fork="fulu" hash="a4575aa8">
class BlobParameters:
epoch: Epoch
max_blobs_per_block: uint64
</spec>
- name: BlobsBundle#deneb
sources:
- file: proto/engine/v1/execution_engine.proto
search: ^message BlobsBundle\s*\{
regex: true
spec: |
<spec dataclass="BlobsBundle" fork="deneb" hash="8d6e7be6">
class BlobsBundle(object):
commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK]
proofs: List[KZGProof, MAX_BLOB_COMMITMENTS_PER_BLOCK]
blobs: List[Blob, MAX_BLOB_COMMITMENTS_PER_BLOCK]
</spec>
- name: BlobsBundle#fulu
sources:
- file: proto/engine/v1/execution_engine.proto
search: ^message BlobsBundleV2
regex: true
spec: |
<spec dataclass="BlobsBundle" fork="fulu" hash="e265362d">
class BlobsBundle(object):
commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK]
# [Modified in Fulu:EIP7594]
proofs: List[KZGProof, FIELD_ELEMENTS_PER_EXT_BLOB * MAX_BLOB_COMMITMENTS_PER_BLOCK]
blobs: List[Blob, MAX_BLOB_COMMITMENTS_PER_BLOCK]
</spec>
- name: GetPayloadResponse#bellatrix
sources:
- file: consensus-types/blocks/get_payload.go
search: type GetPayloadResponse struct {
- file: consensus-types/blocks/get_payload.go
search: GetPayloadResponseV(1
spec: |
<spec dataclass="GetPayloadResponse" fork="bellatrix" hash="bc71e6e6">
class GetPayloadResponse(object):
execution_payload: ExecutionPayload
</spec>
- name: GetPayloadResponse#capella
sources:
- file: consensus-types/blocks/get_payload.go
search: type GetPayloadResponse struct {
- file: consensus-types/blocks/get_payload.go
search: GetPayloadResponseV(1|2
spec: |
<spec dataclass="GetPayloadResponse" fork="capella" hash="5f10deae">
class GetPayloadResponse(object):
execution_payload: ExecutionPayload
block_value: uint256
</spec>
- name: GetPayloadResponse#deneb
sources:
- file: consensus-types/blocks/get_payload.go
search: type GetPayloadResponse struct {
- file: consensus-types/blocks/get_payload.go
search: GetPayloadResponseV(1|2|3
spec: |
<spec dataclass="GetPayloadResponse" fork="deneb" hash="95f3156d">
class GetPayloadResponse(object):
execution_payload: ExecutionPayload
block_value: uint256
# [New in Deneb:EIP4844]
blobs_bundle: BlobsBundle
</spec>
- name: GetPayloadResponse#electra
sources:
- file: consensus-types/blocks/get_payload.go
search: type GetPayloadResponse struct {
- file: consensus-types/blocks/get_payload.go
search: GetPayloadResponseV(1|2|3|4
spec: |
<spec dataclass="GetPayloadResponse" fork="electra" hash="7a57aa32">
class GetPayloadResponse(object):
execution_payload: ExecutionPayload
block_value: uint256
blobs_bundle: BlobsBundle
# [New in Electra]
execution_requests: Sequence[bytes]
</spec>
- name: GetPayloadResponse#fulu
sources:
- file: consensus-types/blocks/get_payload.go
search: type GetPayloadResponse struct {
- file: consensus-types/blocks/get_payload.go
search: GetPayloadResponseV(1|2|3|4|5
spec: |
<spec dataclass="GetPayloadResponse" fork="fulu" hash="0fbc9ac9">
class GetPayloadResponse(object):
execution_payload: ExecutionPayload
block_value: uint256
# [Modified in Fulu:EIP7594]
blobs_bundle: BlobsBundle
execution_requests: Sequence[bytes]
</spec>
- name: LatestMessage
sources: []
spec: |
<spec dataclass="LatestMessage" fork="phase0" hash="44e832d0">
@dataclass(eq=True, frozen=True)
class LatestMessage(object):
epoch: Epoch
root: Root
</spec>
- name: LightClientStore
sources: []
spec: |
<spec dataclass="LightClientStore" fork="altair" hash="24725cec">
class LightClientStore(object):
# Header that is finalized
finalized_header: LightClientHeader
# Sync committees corresponding to the finalized header
current_sync_committee: SyncCommittee
next_sync_committee: SyncCommittee
# Best available header to switch finalized head to if we see nothing else
best_valid_update: Optional[LightClientUpdate]
# Most recent available reasonably-safe header
optimistic_header: LightClientHeader
# Max number of active participants in a sync committee (used to calculate safety threshold)
previous_max_active_participants: uint64
current_max_active_participants: uint64
</spec>
- name: NewPayloadRequest#bellatrix
sources:
- file: beacon-chain/execution/engine_client.go
search: func (s *Service) NewPayload(ctx context.Context, payload interfaces.ExecutionData
spec: |
<spec dataclass="NewPayloadRequest" fork="bellatrix" hash="4d32e8c7">
class NewPayloadRequest(object):
execution_payload: ExecutionPayload
</spec>
- name: NewPayloadRequest#deneb
sources:
- file: beacon-chain/execution/engine_client.go
search: func (s *Service) NewPayload(ctx context.Context, payload interfaces.ExecutionData, versionedHashes []common.Hash, parentBlockRoot *common.Hash
spec: |
<spec dataclass="NewPayloadRequest" fork="deneb" hash="26cf2e26">
class NewPayloadRequest(object):
execution_payload: ExecutionPayload
versioned_hashes: Sequence[VersionedHash]
parent_beacon_block_root: Root
</spec>
- name: NewPayloadRequest#electra
sources:
- file: beacon-chain/execution/engine_client.go
search: func (s *Service) NewPayload(ctx context.Context, payload interfaces.ExecutionData, versionedHashes []common.Hash, parentBlockRoot *common.Hash, executionRequests *pb.ExecutionRequests
spec: |
<spec dataclass="NewPayloadRequest" fork="electra" hash="b1f69cc9">
class NewPayloadRequest(object):
execution_payload: ExecutionPayload
versioned_hashes: Sequence[VersionedHash]
parent_beacon_block_root: Root
# [New in Electra]
execution_requests: ExecutionRequests
</spec>
- name: OptimisticStore
sources: []
spec: |
<spec dataclass="OptimisticStore" fork="bellatrix" hash="a2b2182c">
class OptimisticStore(object):
optimistic_roots: Set[Root]
head_block_root: Root
blocks: Dict[Root, BeaconBlock] = field(default_factory=dict)
block_states: Dict[Root, BeaconState] = field(default_factory=dict)
</spec>
- name: PayloadAttributes#bellatrix
sources:
- file: proto/engine/v1/execution_engine.proto
search: ^message PayloadAttributes\s*\{
regex: true
spec: |
<spec dataclass="PayloadAttributes" fork="bellatrix" hash="8f6fc523">
class PayloadAttributes(object):
timestamp: uint64
prev_randao: Bytes32
suggested_fee_recipient: ExecutionAddress
</spec>
- name: PayloadAttributes#capella
sources:
- file: proto/engine/v1/execution_engine.proto
search: ^message PayloadAttributesV2
regex: true
spec: |
<spec dataclass="PayloadAttributes" fork="capella" hash="f63ac439">
class PayloadAttributes(object):
timestamp: uint64
prev_randao: Bytes32
suggested_fee_recipient: ExecutionAddress
# [New in Capella]
withdrawals: Sequence[Withdrawal]
</spec>
- name: PayloadAttributes#deneb
sources:
- file: proto/engine/v1/execution_engine.proto
search: ^message PayloadAttributesV3
regex: true
spec: |
<spec dataclass="PayloadAttributes" fork="deneb" hash="2beea525">
class PayloadAttributes(object):
timestamp: uint64
prev_randao: Bytes32
suggested_fee_recipient: ExecutionAddress
withdrawals: Sequence[Withdrawal]
# [New in Deneb:EIP4788]
parent_beacon_block_root: Root
</spec>
- name: Store
sources: []
spec: |
<spec dataclass="Store" fork="phase0" hash="abe525d6">
class Store(object):
time: uint64
genesis_time: uint64
justified_checkpoint: Checkpoint
finalized_checkpoint: Checkpoint
unrealized_justified_checkpoint: Checkpoint
unrealized_finalized_checkpoint: Checkpoint
proposer_boost_root: Root
equivocating_indices: Set[ValidatorIndex]
blocks: Dict[Root, BeaconBlock] = field(default_factory=dict)
block_states: Dict[Root, BeaconState] = field(default_factory=dict)
block_timeliness: Dict[Root, boolean] = field(default_factory=dict)
checkpoint_states: Dict[Checkpoint, BeaconState] = field(default_factory=dict)
latest_messages: Dict[ValidatorIndex, LatestMessage] = field(default_factory=dict)
unrealized_justifications: Dict[Root, Checkpoint] = field(default_factory=dict)
</spec>

8682
specrefs/functions.yml Normal file

File diff suppressed because it is too large Load Diff

716
specrefs/presets.yml Normal file
View File

@@ -0,0 +1,716 @@
- name: BASE_REWARD_FACTOR
sources:
- file: config/params/config.go
search: BaseRewardFactor\s+.*yaml:"BASE_REWARD_FACTOR"
regex: true
spec: |
<spec preset_var="BASE_REWARD_FACTOR" fork="phase0" hash="ba06d7ce">
BASE_REWARD_FACTOR: uint64 = 64
</spec>
- name: BYTES_PER_LOGS_BLOOM
sources:
- file: config/params/config.go
search: BytesPerLogsBloom\s+.*yaml:"BYTES_PER_LOGS_BLOOM"
regex: true
spec: |
<spec preset_var="BYTES_PER_LOGS_BLOOM" fork="bellatrix" hash="97101cb2">
BYTES_PER_LOGS_BLOOM: uint64 = 256
</spec>
- name: CELLS_PER_EXT_BLOB
sources: []
spec: |
<spec preset_var="CELLS_PER_EXT_BLOB" fork="fulu" hash="217075f3">
CELLS_PER_EXT_BLOB = 128
</spec>
- name: EFFECTIVE_BALANCE_INCREMENT
sources:
- file: config/params/config.go
search: EffectiveBalanceIncrement\s+.*yaml:"EFFECTIVE_BALANCE_INCREMENT"
regex: true
spec: |
<spec preset_var="EFFECTIVE_BALANCE_INCREMENT" fork="phase0" hash="23dfe52c">
EFFECTIVE_BALANCE_INCREMENT: Gwei = 1000000000
</spec>
- name: EPOCHS_PER_ETH1_VOTING_PERIOD
sources:
- file: config/params/config.go
search: EpochsPerEth1VotingPeriod\s+.*yaml:"EPOCHS_PER_ETH1_VOTING_PERIOD"
regex: true
spec: |
<spec preset_var="EPOCHS_PER_ETH1_VOTING_PERIOD" fork="phase0" hash="6b6a0053">
EPOCHS_PER_ETH1_VOTING_PERIOD: uint64 = 64
</spec>
- name: EPOCHS_PER_HISTORICAL_VECTOR
sources:
- file: config/fieldparams/mainnet.go
search: RandaoMixesLength\s*=
regex: true
spec: |
<spec preset_var="EPOCHS_PER_HISTORICAL_VECTOR" fork="phase0" hash="6156dc33">
EPOCHS_PER_HISTORICAL_VECTOR: uint64 = 65536
</spec>
- name: EPOCHS_PER_SLASHINGS_VECTOR
sources:
- file: config/fieldparams/mainnet.go
search: SlashingsLength\s*=
regex: true
spec: |
<spec preset_var="EPOCHS_PER_SLASHINGS_VECTOR" fork="phase0" hash="c237469a">
EPOCHS_PER_SLASHINGS_VECTOR: uint64 = 8192
</spec>
- name: EPOCHS_PER_SYNC_COMMITTEE_PERIOD
sources:
- file: config/params/config.go
search: EpochsPerSyncCommitteePeriod\s+.*yaml:"EPOCHS_PER_SYNC_COMMITTEE_PERIOD"
regex: true
spec: |
<spec preset_var="EPOCHS_PER_SYNC_COMMITTEE_PERIOD" fork="altair" hash="f02bdf72">
EPOCHS_PER_SYNC_COMMITTEE_PERIOD: uint64 = 256
</spec>
- name: FIELD_ELEMENTS_PER_BLOB
sources:
- file: config/params/config.go
search: FieldElementsPerBlob\s+.*yaml:"FIELD_ELEMENTS_PER_BLOB"
regex: true
spec: |
<spec preset_var="FIELD_ELEMENTS_PER_BLOB" fork="deneb" hash="a86948eb">
FIELD_ELEMENTS_PER_BLOB: uint64 = 4096
</spec>
- name: FIELD_ELEMENTS_PER_CELL
sources:
- file: config/fieldparams/mainnet.go
search: CellsPerBlob\s*=
regex: true
spec: |
<spec preset_var="FIELD_ELEMENTS_PER_CELL" fork="fulu" hash="6af85ab8">
FIELD_ELEMENTS_PER_CELL: uint64 = 64
</spec>
- name: FIELD_ELEMENTS_PER_EXT_BLOB
sources:
- file: proto/ssz_proto_library.bzl
search: mainnet\s*=\s*\{[^}]*"field_elements_per_ext_blob\.size".*[^}]*\}
regex: true
spec: |
<spec preset_var="FIELD_ELEMENTS_PER_EXT_BLOB" fork="fulu" hash="6994b51d">
FIELD_ELEMENTS_PER_EXT_BLOB = 8192
</spec>
- name: HISTORICAL_ROOTS_LIMIT
sources:
- file: config/fieldparams/mainnet.go
search: HistoricalRootsLength\s*=
regex: true
spec: |
<spec preset_var="HISTORICAL_ROOTS_LIMIT" fork="phase0" hash="498b6597">
HISTORICAL_ROOTS_LIMIT: uint64 = 16777216
</spec>
- name: HYSTERESIS_DOWNWARD_MULTIPLIER
sources:
- file: config/params/config.go
search: HysteresisDownwardMultiplier\s+.*yaml:"HYSTERESIS_DOWNWARD_MULTIPLIER"
regex: true
spec: |
<spec preset_var="HYSTERESIS_DOWNWARD_MULTIPLIER" fork="phase0" hash="95d603c9">
HYSTERESIS_DOWNWARD_MULTIPLIER: uint64 = 1
</spec>
- name: HYSTERESIS_QUOTIENT
sources:
- file: config/params/config.go
search: HysteresisQuotient\s+.*yaml:"HYSTERESIS_QUOTIENT"
regex: true
spec: |
<spec preset_var="HYSTERESIS_QUOTIENT" fork="phase0" hash="c3849917">
HYSTERESIS_QUOTIENT: uint64 = 4
</spec>
- name: HYSTERESIS_UPWARD_MULTIPLIER
sources:
- file: config/params/config.go
search: HysteresisUpwardMultiplier\s+.*yaml:"HYSTERESIS_UPWARD_MULTIPLIER"
regex: true
spec: |
<spec preset_var="HYSTERESIS_UPWARD_MULTIPLIER" fork="phase0" hash="34607474">
HYSTERESIS_UPWARD_MULTIPLIER: uint64 = 5
</spec>
- name: INACTIVITY_PENALTY_QUOTIENT
sources:
- file: config/params/config.go
search: InactivityPenaltyQuotient\s+.*yaml:"INACTIVITY_PENALTY_QUOTIENT"
regex: true
spec: |
<spec preset_var="INACTIVITY_PENALTY_QUOTIENT" fork="phase0" hash="5d82db62">
INACTIVITY_PENALTY_QUOTIENT: uint64 = 67108864
</spec>
- name: INACTIVITY_PENALTY_QUOTIENT_ALTAIR
sources:
- file: config/params/config.go
search: InactivityPenaltyQuotientAltair\s+.*yaml:"INACTIVITY_PENALTY_QUOTIENT_ALTAIR"
regex: true
spec: |
<spec preset_var="INACTIVITY_PENALTY_QUOTIENT_ALTAIR" fork="altair" hash="d0d3c505">
INACTIVITY_PENALTY_QUOTIENT_ALTAIR: uint64 = 50331648
</spec>
- name: INACTIVITY_PENALTY_QUOTIENT_BELLATRIX
sources:
- file: config/params/config.go
search: InactivityPenaltyQuotientBellatrix\s+.*yaml:"INACTIVITY_PENALTY_QUOTIENT_BELLATRIX"
regex: true
spec: |
<spec preset_var="INACTIVITY_PENALTY_QUOTIENT_BELLATRIX" fork="bellatrix" hash="33fd626d">
INACTIVITY_PENALTY_QUOTIENT_BELLATRIX: uint64 = 16777216
</spec>
- name: KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH
sources:
- file: proto/ssz_proto_library.bzl
search: mainnet\s*=\s*\{[^}]*"kzg_commitments_inclusion_proof_depth\.size":.*[^}]*\}
regex: true
spec: |
<spec preset_var="KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH" fork="fulu" hash="22280638">
KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH: uint64 = 4
</spec>
- name: KZG_COMMITMENT_INCLUSION_PROOF_DEPTH
sources:
- file: config/fieldparams/mainnet.go
search: KzgCommitmentInclusionProofDepth\s*=
regex: true
spec: |
<spec preset_var="KZG_COMMITMENT_INCLUSION_PROOF_DEPTH" fork="deneb" hash="79db011d">
KZG_COMMITMENT_INCLUSION_PROOF_DEPTH: uint64 = 17
</spec>
- name: MAX_ATTESTATIONS
sources:
- file: config/params/config.go
search: MaxAttestations\s+.*yaml:"MAX_ATTESTATIONS"
regex: true
spec: |
<spec preset_var="MAX_ATTESTATIONS" fork="phase0" hash="afe55d3f">
MAX_ATTESTATIONS = 128
</spec>
- name: MAX_ATTESTATIONS_ELECTRA
sources:
- file: config/params/config.go
search: MaxAttestationsElectra\s+.*yaml:"MAX_ATTESTATIONS_ELECTRA"
regex: true
spec: |
<spec preset_var="MAX_ATTESTATIONS_ELECTRA" fork="electra" hash="4dbaf2dd">
MAX_ATTESTATIONS_ELECTRA = 8
</spec>
- name: MAX_ATTESTER_SLASHINGS
sources:
- file: config/params/config.go
search: MaxAttesterSlashings\s+.*yaml:"MAX_ATTESTER_SLASHINGS"
regex: true
spec: |
<spec preset_var="MAX_ATTESTER_SLASHINGS" fork="phase0" hash="c1416d33">
MAX_ATTESTER_SLASHINGS = 2
</spec>
- name: MAX_ATTESTER_SLASHINGS_ELECTRA
sources:
- file: config/params/config.go
search: MaxAttesterSlashingsElectra\s+.*yaml:"MAX_ATTESTER_SLASHINGS_ELECTRA"
regex: true
spec: |
<spec preset_var="MAX_ATTESTER_SLASHINGS_ELECTRA" fork="electra" hash="fc70c923">
MAX_ATTESTER_SLASHINGS_ELECTRA = 1
</spec>
- name: MAX_BLOB_COMMITMENTS_PER_BLOCK
sources:
- file: config/fieldparams/mainnet.go
search: MaxBlobCommitmentsPerBlock\s*=
regex: true
spec: |
<spec preset_var="MAX_BLOB_COMMITMENTS_PER_BLOCK" fork="deneb" hash="0ad15e8f">
MAX_BLOB_COMMITMENTS_PER_BLOCK: uint64 = 4096
</spec>
- name: MAX_BLS_TO_EXECUTION_CHANGES
sources:
- file: config/params/config.go
search: MaxBlsToExecutionChanges\s+.*yaml:"MAX_BLS_TO_EXECUTION_CHANGES"
regex: true
spec: |
<spec preset_var="MAX_BLS_TO_EXECUTION_CHANGES" fork="capella" hash="1eee2f2f">
MAX_BLS_TO_EXECUTION_CHANGES = 16
</spec>
- name: MAX_BYTES_PER_TRANSACTION
sources:
- file: config/params/config.go
search: MaxBytesPerTransaction\s+.*yaml:"MAX_BYTES_PER_TRANSACTION"
regex: true
spec: |
<spec preset_var="MAX_BYTES_PER_TRANSACTION" fork="bellatrix" hash="3684e68f">
MAX_BYTES_PER_TRANSACTION: uint64 = 1073741824
</spec>
- name: MAX_COMMITTEES_PER_SLOT#phase0
sources:
- file: config/params/config.go
search: MaxCommitteesPerSlot\s+.*yaml:"MAX_COMMITTEES_PER_SLOT"
regex: true
spec: |
<spec preset_var="MAX_COMMITTEES_PER_SLOT" fork="phase0" hash="0442c4b7">
MAX_COMMITTEES_PER_SLOT: uint64 = 64
</spec>
- name: MAX_COMMITTEES_PER_SLOT#electra
sources:
- file: config/params/config.go
search: MaxCommitteesPerSlot\s+.*yaml:"MAX_COMMITTEES_PER_SLOT"
regex: true
spec: |
<spec preset_var="MAX_COMMITTEES_PER_SLOT" fork="electra" hash="0442c4b7">
MAX_COMMITTEES_PER_SLOT: uint64 = 64
</spec>
- name: MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD
sources:
- file: config/params/config.go
search: MaxConsolidationsRequestsPerPayload\s+.*yaml:"MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD"
regex: true
spec: |
<spec preset_var="MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD" fork="electra" hash="59ec80e5">
MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD: uint64 = 2
</spec>
- name: MAX_DEPOSITS
sources:
- file: config/params/config.go
search: MaxDeposits\s+.*yaml:"MAX_DEPOSITS"
regex: true
spec: |
<spec preset_var="MAX_DEPOSITS" fork="phase0" hash="542a0f96">
MAX_DEPOSITS = 16
</spec>
- name: MAX_DEPOSIT_REQUESTS_PER_PAYLOAD
sources:
- file: config/params/config.go
search: MaxDepositRequestsPerPayload\s+.*yaml:"MAX_DEPOSIT_REQUESTS_PER_PAYLOAD"
regex: true
spec: |
<spec preset_var="MAX_DEPOSIT_REQUESTS_PER_PAYLOAD" fork="electra" hash="6c60ff83">
MAX_DEPOSIT_REQUESTS_PER_PAYLOAD: uint64 = 8192
</spec>
- name: MAX_EFFECTIVE_BALANCE
sources:
- file: config/params/config.go
search: MaxEffectiveBalance\s+.*yaml:"MAX_EFFECTIVE_BALANCE"
regex: true
spec: |
<spec preset_var="MAX_EFFECTIVE_BALANCE" fork="phase0" hash="13dd1310">
MAX_EFFECTIVE_BALANCE: Gwei = 32000000000
</spec>
- name: MAX_EFFECTIVE_BALANCE_ELECTRA
sources:
- file: config/params/config.go
search: MaxEffectiveBalanceElectra\s+.*yaml:"MAX_EFFECTIVE_BALANCE_ELECTRA"
regex: true
spec: |
<spec preset_var="MAX_EFFECTIVE_BALANCE_ELECTRA" fork="electra" hash="2ec17dc4">
MAX_EFFECTIVE_BALANCE_ELECTRA: Gwei = 2048000000000
</spec>
- name: MAX_EXTRA_DATA_BYTES
sources:
- file: config/params/config.go
search: MaxExtraDataBytes\s+.*yaml:"MAX_EXTRA_DATA_BYTES"
regex: true
spec: |
<spec preset_var="MAX_EXTRA_DATA_BYTES" fork="bellatrix" hash="9d278744">
MAX_EXTRA_DATA_BYTES = 32
</spec>
- name: MAX_PENDING_DEPOSITS_PER_EPOCH
sources:
- file: config/params/config.go
search: MaxPendingDepositsPerEpoch\s+.*yaml:"MAX_PENDING_DEPOSITS_PER_EPOCH"
regex: true
spec: |
<spec preset_var="MAX_PENDING_DEPOSITS_PER_EPOCH" fork="electra" hash="f532a46f">
MAX_PENDING_DEPOSITS_PER_EPOCH: uint64 = 16
</spec>
- name: MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP
sources:
- file: config/params/config.go
search: MaxPendingPartialsPerWithdrawalsSweep\s+.*yaml:"MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP"
regex: true
spec: |
<spec preset_var="MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP" fork="electra" hash="e7b2f394">
MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP: uint64 = 8
</spec>
- name: MAX_PROPOSER_SLASHINGS
sources:
- file: config/params/config.go
search: MaxProposerSlashings\s+.*yaml:"MAX_PROPOSER_SLASHINGS"
regex: true
spec: |
<spec preset_var="MAX_PROPOSER_SLASHINGS" fork="phase0" hash="87bfd9ed">
MAX_PROPOSER_SLASHINGS = 16
</spec>
- name: MAX_SEED_LOOKAHEAD
sources:
- file: config/params/config.go
search: MaxSeedLookahead\s+.*yaml:"MAX_SEED_LOOKAHEAD"
regex: true
spec: |
<spec preset_var="MAX_SEED_LOOKAHEAD" fork="phase0" hash="b7ae8929">
MAX_SEED_LOOKAHEAD: uint64 = 4
</spec>
- name: MAX_TRANSACTIONS_PER_PAYLOAD
sources:
- file: config/params/config.go
search: MaxTransactionsPerPayload\s+.*yaml:"MAX_TRANSACTIONS_PER_PAYLOAD"
regex: true
spec: |
<spec preset_var="MAX_TRANSACTIONS_PER_PAYLOAD" fork="bellatrix" hash="1088e3b2">
MAX_TRANSACTIONS_PER_PAYLOAD: uint64 = 1048576
</spec>
- name: MAX_VALIDATORS_PER_COMMITTEE#phase0
sources:
- file: config/params/config.go
search: MaxValidatorsPerCommittee\s+.*yaml:"MAX_VALIDATORS_PER_COMMITTEE"
regex: true
spec: |
<spec preset_var="MAX_VALIDATORS_PER_COMMITTEE" fork="phase0" hash="900abcb2">
MAX_VALIDATORS_PER_COMMITTEE: uint64 = 2048
</spec>
- name: MAX_VALIDATORS_PER_COMMITTEE#electra
sources:
- file: config/params/config.go
search: MaxValidatorsPerCommittee\s+.*yaml:"MAX_VALIDATORS_PER_COMMITTEE"
regex: true
spec: |
<spec preset_var="MAX_VALIDATORS_PER_COMMITTEE" fork="electra" hash="900abcb2">
MAX_VALIDATORS_PER_COMMITTEE: uint64 = 2048
</spec>
- name: MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP
sources:
- file: config/params/config.go
search: MaxValidatorsPerWithdrawalsSweep\s+.*yaml:"MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP"
regex: true
spec: |
<spec preset_var="MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP" fork="capella" hash="ac61940c">
MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP = 16384
</spec>
- name: MAX_VOLUNTARY_EXITS
sources:
- file: config/params/config.go
search: MaxVoluntaryExits\s+.*yaml:"MAX_VOLUNTARY_EXITS"
regex: true
spec: |
<spec preset_var="MAX_VOLUNTARY_EXITS" fork="phase0" hash="a0a7ac5e">
MAX_VOLUNTARY_EXITS = 16
</spec>
- name: MAX_WITHDRAWALS_PER_PAYLOAD
sources:
- file: config/fieldparams/mainnet.go
search: MaxWithdrawalsPerPayload\s*=
regex: true
spec: |
<spec preset_var="MAX_WITHDRAWALS_PER_PAYLOAD" fork="capella" hash="c406effb">
MAX_WITHDRAWALS_PER_PAYLOAD: uint64 = 16
</spec>
- name: MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD
sources:
- file: config/params/config.go
search: MaxWithdrawalRequestsPerPayload\s+.*yaml:"MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD"
regex: true
spec: |
<spec preset_var="MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD" fork="electra" hash="9f04de0d">
MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD: uint64 = 16
</spec>
- name: MIN_ACTIVATION_BALANCE
sources:
- file: config/params/config.go
search: MinActivationBalance\s+.*yaml:"MIN_ACTIVATION_BALANCE"
regex: true
spec: |
<spec preset_var="MIN_ACTIVATION_BALANCE" fork="electra" hash="fcbcbab5">
MIN_ACTIVATION_BALANCE: Gwei = 32000000000
</spec>
- name: MIN_ATTESTATION_INCLUSION_DELAY
sources:
- file: config/params/config.go
search: MinAttestationInclusionDelay\s+.*yaml:"MIN_ATTESTATION_INCLUSION_DELAY"
regex: true
spec: |
<spec preset_var="MIN_ATTESTATION_INCLUSION_DELAY" fork="phase0" hash="2e9435aa">
MIN_ATTESTATION_INCLUSION_DELAY: uint64 = 1
</spec>
- name: MIN_DEPOSIT_AMOUNT
sources:
- file: config/params/config.go
search: MinDepositAmount\s+.*yaml:"MIN_DEPOSIT_AMOUNT"
regex: true
spec: |
<spec preset_var="MIN_DEPOSIT_AMOUNT" fork="phase0" hash="388f2923">
MIN_DEPOSIT_AMOUNT: Gwei = 1000000000
</spec>
- name: MIN_EPOCHS_TO_INACTIVITY_PENALTY
sources:
- file: config/params/config.go
search: MinEpochsToInactivityPenalty\s+.*yaml:"MIN_EPOCHS_TO_INACTIVITY_PENALTY"
regex: true
spec: |
<spec preset_var="MIN_EPOCHS_TO_INACTIVITY_PENALTY" fork="phase0" hash="339d14c4">
MIN_EPOCHS_TO_INACTIVITY_PENALTY: uint64 = 4
</spec>
- name: MIN_SEED_LOOKAHEAD
sources:
- file: config/params/config.go
search: MinSeedLookahead\s+.*yaml:"MIN_SEED_LOOKAHEAD"
regex: true
spec: |
<spec preset_var="MIN_SEED_LOOKAHEAD" fork="phase0" hash="48a0462b">
MIN_SEED_LOOKAHEAD: uint64 = 1
</spec>
- name: MIN_SLASHING_PENALTY_QUOTIENT
sources:
- file: config/params/config.go
search: MinSlashingPenaltyQuotient\s+.*yaml:"MIN_SLASHING_PENALTY_QUOTIENT"
regex: true
spec: |
<spec preset_var="MIN_SLASHING_PENALTY_QUOTIENT" fork="phase0" hash="0204123d">
MIN_SLASHING_PENALTY_QUOTIENT: uint64 = 128
</spec>
- name: MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR
sources:
- file: config/params/config.go
search: MinSlashingPenaltyQuotientAltair\s+.*yaml:"MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR"
regex: true
spec: |
<spec preset_var="MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR" fork="altair" hash="4845bc05">
MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR: uint64 = 64
</spec>
- name: MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX
sources:
- file: config/params/config.go
search: MinSlashingPenaltyQuotientBellatrix\s+.*yaml:"MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX"
regex: true
spec: |
<spec preset_var="MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX" fork="bellatrix" hash="2a5af13c">
MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX: uint64 = 32
</spec>
- name: MIN_SLASHING_PENALTY_QUOTIENT_ELECTRA
sources:
- file: config/params/config.go
search: MinSlashingPenaltyQuotientElectra\s+.*yaml:"MIN_SLASHING_PENALTY_QUOTIENT_ELECTRA"
regex: true
spec: |
<spec preset_var="MIN_SLASHING_PENALTY_QUOTIENT_ELECTRA" fork="electra" hash="03888289">
MIN_SLASHING_PENALTY_QUOTIENT_ELECTRA: uint64 = 4096
</spec>
- name: MIN_SYNC_COMMITTEE_PARTICIPANTS
sources:
- file: config/params/config.go
search: MinSyncCommitteeParticipants\s+.*yaml:"MIN_SYNC_COMMITTEE_PARTICIPANTS"
regex: true
spec: |
<spec preset_var="MIN_SYNC_COMMITTEE_PARTICIPANTS" fork="altair" hash="7ca6fd1f">
MIN_SYNC_COMMITTEE_PARTICIPANTS = 1
</spec>
- name: NUMBER_OF_COLUMNS
sources:
- file: config/params/config.go
search: NumberOfColumns\s+uint64
regex: true
spec: |
<spec preset_var="NUMBER_OF_COLUMNS" fork="fulu" hash="f6441e62">
NUMBER_OF_COLUMNS: uint64 = 128
</spec>
- name: PENDING_CONSOLIDATIONS_LIMIT
sources:
- file: config/fieldparams/mainnet.go
search: PendingConsolidationsLimit\s*=
regex: true
spec: |
<spec preset_var="PENDING_CONSOLIDATIONS_LIMIT" fork="electra" hash="f28398d0">
PENDING_CONSOLIDATIONS_LIMIT: uint64 = 262144
</spec>
- name: PENDING_DEPOSITS_LIMIT
sources:
- file: config/fieldparams/mainnet.go
search: PendingDepositsLimit\s*=
regex: true
spec: |
<spec preset_var="PENDING_DEPOSITS_LIMIT" fork="electra" hash="8f7ed296">
PENDING_DEPOSITS_LIMIT: uint64 = 134217728
</spec>
- name: PENDING_PARTIAL_WITHDRAWALS_LIMIT
sources:
- file: config/fieldparams/mainnet.go
search: PendingPartialWithdrawalsLimit\s*=
regex: true
spec: |
<spec preset_var="PENDING_PARTIAL_WITHDRAWALS_LIMIT" fork="electra" hash="9ae3fe56">
PENDING_PARTIAL_WITHDRAWALS_LIMIT: uint64 = 134217728
</spec>
- name: PROPORTIONAL_SLASHING_MULTIPLIER
sources:
- file: config/params/config.go
search: ProportionalSlashingMultiplier\s+.*yaml:"PROPORTIONAL_SLASHING_MULTIPLIER"
regex: true
spec: |
<spec preset_var="PROPORTIONAL_SLASHING_MULTIPLIER" fork="phase0" hash="7675c5ad">
PROPORTIONAL_SLASHING_MULTIPLIER: uint64 = 1
</spec>
- name: PROPORTIONAL_SLASHING_MULTIPLIER_ALTAIR
sources:
- file: config/params/config.go
search: ProportionalSlashingMultiplierAltair\s+.*yaml:"PROPORTIONAL_SLASHING_MULTIPLIER_ALTAIR"
regex: true
spec: |
<spec preset_var="PROPORTIONAL_SLASHING_MULTIPLIER_ALTAIR" fork="altair" hash="5e6aedb9">
PROPORTIONAL_SLASHING_MULTIPLIER_ALTAIR: uint64 = 2
</spec>
- name: PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX
sources:
- file: config/params/config.go
search: ProportionalSlashingMultiplierBellatrix\s+.*yaml:"PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX"
regex: true
spec: |
<spec preset_var="PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX" fork="bellatrix" hash="e36837df">
PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX: uint64 = 3
</spec>
- name: PROPOSER_REWARD_QUOTIENT
sources:
- file: config/params/config.go
search: ProposerRewardQuotient\s+.*yaml:"PROPOSER_REWARD_QUOTIENT"
regex: true
spec: |
<spec preset_var="PROPOSER_REWARD_QUOTIENT" fork="phase0" hash="a60dab3e">
PROPOSER_REWARD_QUOTIENT: uint64 = 8
</spec>
- name: SHUFFLE_ROUND_COUNT
sources:
- file: config/params/config.go
search: ShuffleRoundCount\s+.*yaml:"SHUFFLE_ROUND_COUNT"
regex: true
spec: |
<spec preset_var="SHUFFLE_ROUND_COUNT" fork="phase0" hash="ed107076">
SHUFFLE_ROUND_COUNT: uint64 = 90
</spec>
- name: SLOTS_PER_EPOCH
sources:
- file: config/fieldparams/mainnet.go
search: SlotsPerEpoch\s*=
regex: true
spec: |
<spec preset_var="SLOTS_PER_EPOCH" fork="phase0" hash="cb41af43">
SLOTS_PER_EPOCH: uint64 = 32
</spec>
- name: SLOTS_PER_HISTORICAL_ROOT
sources:
- file: config/fieldparams/mainnet.go
search: BlockRootsLength\s*=
regex: true
spec: |
<spec preset_var="SLOTS_PER_HISTORICAL_ROOT" fork="phase0" hash="1d0bdd1d">
SLOTS_PER_HISTORICAL_ROOT: uint64 = 8192
</spec>
- name: SYNC_COMMITTEE_SIZE
sources:
- file: config/fieldparams/mainnet.go
search: SyncCommitteeLength\s*=
regex: true
spec: |
<spec preset_var="SYNC_COMMITTEE_SIZE" fork="altair" hash="d31740c9">
SYNC_COMMITTEE_SIZE: uint64 = 512
</spec>
- name: TARGET_COMMITTEE_SIZE
sources:
- file: config/params/config.go
search: TargetCommitteeSize\s+.*yaml:"TARGET_COMMITTEE_SIZE"
regex: true
spec: |
<spec preset_var="TARGET_COMMITTEE_SIZE" fork="phase0" hash="d56fdb68">
TARGET_COMMITTEE_SIZE: uint64 = 128
</spec>
- name: VALIDATOR_REGISTRY_LIMIT
sources:
- file: config/fieldparams/mainnet.go
search: ValidatorRegistryLimit\s*=
regex: true
spec: |
<spec preset_var="VALIDATOR_REGISTRY_LIMIT" fork="phase0" hash="8fa5412c">
VALIDATOR_REGISTRY_LIMIT: uint64 = 1099511627776
</spec>
- name: WHISTLEBLOWER_REWARD_QUOTIENT
sources:
- file: config/params/config.go
search: WhistleBlowerRewardQuotient\s+.*yaml:"WHISTLEBLOWER_REWARD_QUOTIENT"
regex: true
spec: |
<spec preset_var="WHISTLEBLOWER_REWARD_QUOTIENT" fork="phase0" hash="62962c52">
WHISTLEBLOWER_REWARD_QUOTIENT: uint64 = 512
</spec>
- name: WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA
sources:
- file: config/params/config.go
search: WhistleBlowerRewardQuotientElectra\s+.*yaml:"WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA"
regex: true
spec: |
<spec preset_var="WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA" fork="electra" hash="8021dedf">
WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA: uint64 = 4096
</spec>