From ccc0e7398c264c4264104ae3cfdd17db0ae73c9e Mon Sep 17 00:00:00 2001 From: terence Date: Mon, 22 Apr 2024 09:12:40 -0700 Subject: [PATCH] Helper for Payload Attestation Signing (#13901) --- beacon-chain/rpc/eth/config/handlers_test.go | 597 +++++++++---------- config/params/config.go | 2 +- 2 files changed, 292 insertions(+), 307 deletions(-) diff --git a/beacon-chain/rpc/eth/config/handlers_test.go b/beacon-chain/rpc/eth/config/handlers_test.go index fc949309e65b..2918f8f52f2f 100644 --- a/beacon-chain/rpc/eth/config/handlers_test.go +++ b/beacon-chain/rpc/eth/config/handlers_test.go @@ -176,315 +176,300 @@ func TestGetSpec(t *testing.T) { data, ok := resp.Data.(map[string]interface{}) require.Equal(t, true, ok) - assert.Equal(t, 138, len(data)) + assert.Equal(t, 129, len(data)-len(placeholderFields)) for k, v := range data { - t.Run(k, func(t *testing.T) { - switch k { - case "CONFIG_NAME": - assert.Equal(t, "ConfigName", v) - case "PRESET_BASE": - assert.Equal(t, "PresetBase", v) - case "MAX_COMMITTEES_PER_SLOT": - assert.Equal(t, "1", v) - case "TARGET_COMMITTEE_SIZE": - assert.Equal(t, "2", v) - case "MAX_VALIDATORS_PER_COMMITTEE": - assert.Equal(t, "3", v) - case "MIN_PER_EPOCH_CHURN_LIMIT": - assert.Equal(t, "4", v) - case "CHURN_LIMIT_QUOTIENT": - assert.Equal(t, "5", v) - case "SHUFFLE_ROUND_COUNT": - assert.Equal(t, "6", v) - case "MIN_GENESIS_ACTIVE_VALIDATOR_COUNT": - assert.Equal(t, "7", v) - case "MIN_GENESIS_TIME": - assert.Equal(t, "8", v) - case "HYSTERESIS_QUOTIENT": - assert.Equal(t, "9", v) - case "HYSTERESIS_DOWNWARD_MULTIPLIER": - assert.Equal(t, "10", v) - case "HYSTERESIS_UPWARD_MULTIPLIER": - assert.Equal(t, "11", v) - case "SAFE_SLOTS_TO_UPDATE_JUSTIFIED": - assert.Equal(t, "0", v) - case "ETH1_FOLLOW_DISTANCE": - assert.Equal(t, "13", v) - case "TARGET_AGGREGATORS_PER_COMMITTEE": - assert.Equal(t, "14", v) - case "RANDOM_SUBNETS_PER_VALIDATOR": - assert.Equal(t, "15", v) - case "EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION": - assert.Equal(t, "16", v) - case "SECONDS_PER_ETH1_BLOCK": - assert.Equal(t, "17", v) - case "DEPOSIT_CHAIN_ID": - assert.Equal(t, "18", v) - case "DEPOSIT_NETWORK_ID": - assert.Equal(t, "19", v) - case "DEPOSIT_CONTRACT_ADDRESS": - assert.Equal(t, "DepositContractAddress", v) - case "MIN_DEPOSIT_AMOUNT": - assert.Equal(t, "20", v) - case "MAX_EFFECTIVE_BALANCE": - assert.Equal(t, "21", v) - case "EJECTION_BALANCE": - assert.Equal(t, "22", v) - case "EFFECTIVE_BALANCE_INCREMENT": - assert.Equal(t, "23", v) - case "GENESIS_FORK_VERSION": - assert.Equal(t, "0x"+hex.EncodeToString([]byte("GenesisForkVersion")), v) - case "ALTAIR_FORK_VERSION": - assert.Equal(t, "0x"+hex.EncodeToString([]byte("AltairForkVersion")), v) - case "ALTAIR_FORK_EPOCH": - assert.Equal(t, "100", v) - case "BELLATRIX_FORK_VERSION": - assert.Equal(t, "0x"+hex.EncodeToString([]byte("BellatrixForkVersion")), v) - case "BELLATRIX_FORK_EPOCH": - assert.Equal(t, "101", v) - case "CAPELLA_FORK_VERSION": - assert.Equal(t, "0x"+hex.EncodeToString([]byte("CapellaForkVersion")), v) - case "CAPELLA_FORK_EPOCH": - assert.Equal(t, "103", v) - case "DENEB_FORK_VERSION": - assert.Equal(t, "0x"+hex.EncodeToString([]byte("DenebForkVersion")), v) - case "DENEB_FORK_EPOCH": - assert.Equal(t, "105", v) - case "ELECTRA_FORK_VERSION": - assert.Equal(t, "0x"+hex.EncodeToString([]byte("ElectraForkVersion")), v) - case "ELECTRA_FORK_EPOCH": - assert.Equal(t, "107", v) - case "MIN_ANCHOR_POW_BLOCK_DIFFICULTY": - assert.Equal(t, "1000", v) - case "BLS_WITHDRAWAL_PREFIX": - assert.Equal(t, "0x62", v) - case "ETH1_ADDRESS_WITHDRAWAL_PREFIX": - assert.Equal(t, "0x63", v) - case "GENESIS_DELAY": - assert.Equal(t, "24", v) - case "SECONDS_PER_SLOT": - assert.Equal(t, "25", v) - case "MIN_ATTESTATION_INCLUSION_DELAY": - assert.Equal(t, "26", v) - case "SLOTS_PER_EPOCH": - assert.Equal(t, "27", v) - case "MIN_SEED_LOOKAHEAD": - assert.Equal(t, "28", v) - case "MAX_SEED_LOOKAHEAD": - assert.Equal(t, "29", v) - case "EPOCHS_PER_ETH1_VOTING_PERIOD": - assert.Equal(t, "30", v) - case "SLOTS_PER_HISTORICAL_ROOT": - assert.Equal(t, "31", v) - case "MIN_VALIDATOR_WITHDRAWABILITY_DELAY": - assert.Equal(t, "32", v) - case "SHARD_COMMITTEE_PERIOD": - assert.Equal(t, "33", v) - case "MIN_EPOCHS_TO_INACTIVITY_PENALTY": - assert.Equal(t, "34", v) - case "EPOCHS_PER_HISTORICAL_VECTOR": - assert.Equal(t, "35", v) - case "EPOCHS_PER_SLASHINGS_VECTOR": - assert.Equal(t, "36", v) - case "HISTORICAL_ROOTS_LIMIT": - assert.Equal(t, "37", v) - case "VALIDATOR_REGISTRY_LIMIT": - assert.Equal(t, "38", v) - case "BASE_REWARD_FACTOR": - assert.Equal(t, "39", v) - case "WHISTLEBLOWER_REWARD_QUOTIENT": - assert.Equal(t, "40", v) - case "PROPOSER_REWARD_QUOTIENT": - assert.Equal(t, "41", v) - case "INACTIVITY_PENALTY_QUOTIENT": - assert.Equal(t, "42", v) - case "HF1_INACTIVITY_PENALTY_QUOTIENT": - assert.Equal(t, "43", v) - case "MIN_SLASHING_PENALTY_QUOTIENT": - assert.Equal(t, "44", v) - case "HF1_MIN_SLASHING_PENALTY_QUOTIENT": - assert.Equal(t, "45", v) - case "PROPORTIONAL_SLASHING_MULTIPLIER": - assert.Equal(t, "46", v) - case "HF1_PROPORTIONAL_SLASHING_MULTIPLIER": - assert.Equal(t, "47", v) - case "MAX_PROPOSER_SLASHINGS": - assert.Equal(t, "48", v) - case "MAX_ATTESTER_SLASHINGS": - assert.Equal(t, "49", v) - case "MAX_ATTESTATIONS": - assert.Equal(t, "50", v) - case "MAX_DEPOSITS": - assert.Equal(t, "51", v) - case "MAX_VOLUNTARY_EXITS": - assert.Equal(t, "52", v) - case "MAX_BLOBS_PER_BLOCK": - assert.Equal(t, "4", v) - case "TIMELY_HEAD_FLAG_INDEX": - assert.Equal(t, "0x35", v) - case "TIMELY_SOURCE_FLAG_INDEX": - assert.Equal(t, "0x36", v) - case "TIMELY_TARGET_FLAG_INDEX": - assert.Equal(t, "0x37", v) - case "TIMELY_HEAD_WEIGHT": - assert.Equal(t, "56", v) - case "TIMELY_SOURCE_WEIGHT": - assert.Equal(t, "57", v) - case "TIMELY_TARGET_WEIGHT": - assert.Equal(t, "58", v) - case "SYNC_REWARD_WEIGHT": - assert.Equal(t, "59", v) - case "WEIGHT_DENOMINATOR": - assert.Equal(t, "60", v) - case "TARGET_AGGREGATORS_PER_SYNC_SUBCOMMITTEE": - assert.Equal(t, "61", v) - case "SYNC_COMMITTEE_SUBNET_COUNT": - assert.Equal(t, "62", v) - case "SYNC_COMMITTEE_SIZE": - assert.Equal(t, "63", v) - case "SYNC_PUBKEYS_PER_AGGREGATE": - assert.Equal(t, "64", v) - case "INACTIVITY_SCORE_BIAS": - assert.Equal(t, "65", v) - case "EPOCHS_PER_SYNC_COMMITTEE_PERIOD": - assert.Equal(t, "66", v) - case "INACTIVITY_PENALTY_QUOTIENT_ALTAIR": - assert.Equal(t, "67", v) - case "MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR": - assert.Equal(t, "68", v) - case "PROPORTIONAL_SLASHING_MULTIPLIER_ALTAIR": - assert.Equal(t, "69", v) - case "INACTIVITY_SCORE_RECOVERY_RATE": - assert.Equal(t, "70", v) - case "MIN_SYNC_COMMITTEE_PARTICIPANTS": - assert.Equal(t, "71", v) - case "PROPOSER_WEIGHT": - assert.Equal(t, "8", v) - case "DOMAIN_BEACON_PROPOSER": - assert.Equal(t, "0x30303031", v) - case "DOMAIN_BEACON_ATTESTER": - assert.Equal(t, "0x30303032", v) - case "DOMAIN_RANDAO": - assert.Equal(t, "0x30303033", v) - case "DOMAIN_DEPOSIT": - assert.Equal(t, "0x30303034", v) - case "DOMAIN_VOLUNTARY_EXIT": - assert.Equal(t, "0x30303035", v) - case "DOMAIN_SELECTION_PROOF": - assert.Equal(t, "0x30303036", v) - case "DOMAIN_AGGREGATE_AND_PROOF": - assert.Equal(t, "0x30303037", v) - case "DOMAIN_APPLICATION_MASK": - assert.Equal(t, "0x31303030", v) - case "DOMAIN_SYNC_COMMITTEE": - assert.Equal(t, "0x07000000", v) - case "DOMAIN_SYNC_COMMITTEE_SELECTION_PROOF": - assert.Equal(t, "0x08000000", v) - case "DOMAIN_CONTRIBUTION_AND_PROOF": - assert.Equal(t, "0x09000000", v) - case "DOMAIN_BLS_TO_EXECUTION_CHANGE": - assert.Equal(t, "0x0a000000", v) - case "DOMAIN_APPLICATION_BUILDER": - assert.Equal(t, "0x00000001", v) - case "DOMAIN_BLOB_SIDECAR": - assert.Equal(t, "0x00000000", v) - case "TRANSITION_TOTAL_DIFFICULTY": - assert.Equal(t, "0", v) - case "TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH": - assert.Equal(t, "72", v) - case "TERMINAL_BLOCK_HASH": - s, ok := v.(string) - require.Equal(t, true, ok) - assert.Equal(t, common.HexToHash("TerminalBlockHash"), common.HexToHash(s)) - case "TERMINAL_TOTAL_DIFFICULTY": - assert.Equal(t, "73", v) - case "DefaultFeeRecipient": - assert.Equal(t, common.HexToAddress("DefaultFeeRecipient"), v) - case "PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX": - assert.Equal(t, "3", v) - case "MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX": - assert.Equal(t, "32", v) - case "INACTIVITY_PENALTY_QUOTIENT_BELLATRIX": - assert.Equal(t, "16777216", v) - case "PROPOSER_SCORE_BOOST": - assert.Equal(t, "40", v) - case "INTERVALS_PER_SLOT": - assert.Equal(t, "3", v) - case "MAX_WITHDRAWALS_PER_PAYLOAD": - assert.Equal(t, "74", v) - case "MAX_BLS_TO_EXECUTION_CHANGES": - assert.Equal(t, "75", v) - case "MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP": - assert.Equal(t, "76", v) - case "REORG_MAX_EPOCHS_SINCE_FINALIZATION": - assert.Equal(t, "2", v) - case "REORG_WEIGHT_THRESHOLD": - assert.Equal(t, "20", v) - case "REORG_PARENT_WEIGHT_THRESHOLD": - assert.Equal(t, "160", v) - case "MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT": - assert.Equal(t, "8", v) - case "MAX_REQUEST_LIGHT_CLIENT_UPDATES": - assert.Equal(t, "128", v) - case "SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY": - case "NODE_ID_BITS": - assert.Equal(t, "256", v) - case "ATTESTATION_SUBNET_EXTRA_BITS": - assert.Equal(t, "0", v) - case "ATTESTATION_SUBNET_PREFIX_BITS": - assert.Equal(t, "6", v) - case "SUBNETS_PER_NODE": - assert.Equal(t, "2", v) - case "EPOCHS_PER_SUBNET_SUBSCRIPTION": - assert.Equal(t, "256", v) - case "MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS": - assert.Equal(t, "4096", v) - case "MAX_REQUEST_BLOB_SIDECARS": - assert.Equal(t, "768", v) - case "MESSAGE_DOMAIN_INVALID_SNAPPY": - assert.Equal(t, "0x00000000", v) - case "MESSAGE_DOMAIN_VALID_SNAPPY": - assert.Equal(t, "0x01000000", v) - case "ATTESTATION_PROPAGATION_SLOT_RANGE": - assert.Equal(t, "32", v) - case "RESP_TIMEOUT": - assert.Equal(t, "10", v) - case "TTFB_TIMEOUT": - assert.Equal(t, "5", v) - case "MIN_EPOCHS_FOR_BLOCK_REQUESTS": - assert.Equal(t, "33024", v) - case "GOSSIP_MAX_SIZE": - assert.Equal(t, "10485760", v) - case "MAX_CHUNK_SIZE": - assert.Equal(t, "10485760", v) - case "ATTESTATION_SUBNET_COUNT": - assert.Equal(t, "64", v) - case "MAXIMUM_GOSSIP_CLOCK_DISPARITY": - assert.Equal(t, "500", v) - case "MAX_REQUEST_BLOCKS": - assert.Equal(t, "1024", v) - case "MAX_REQUEST_BLOCKS_DENEB": - assert.Equal(t, "128", v) - case "NUMBER_OF_COLUMNS": - assert.Equal(t, "128", v) - case "MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA": - assert.Equal(t, "128000000000", v) - case "MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT": - assert.Equal(t, "256000000000", v) - case "DATA_COLUMN_SIDECAR_SUBNET_COUNT": - assert.Equal(t, "32", v) - case "MAX_REQUEST_DATA_COLUMN_SIDECARS": - assert.Equal(t, "16384", v) - default: - for _, pf := range placeholderFields { - if k == pf { - t.Logf("Skipping placeholder field: %s", k) - return - } + switch k { + case "CONFIG_NAME": + assert.Equal(t, "ConfigName", v) + case "PRESET_BASE": + assert.Equal(t, "PresetBase", v) + case "MAX_COMMITTEES_PER_SLOT": + assert.Equal(t, "1", v) + case "TARGET_COMMITTEE_SIZE": + assert.Equal(t, "2", v) + case "MAX_VALIDATORS_PER_COMMITTEE": + assert.Equal(t, "3", v) + case "MIN_PER_EPOCH_CHURN_LIMIT": + assert.Equal(t, "4", v) + case "CHURN_LIMIT_QUOTIENT": + assert.Equal(t, "5", v) + case "SHUFFLE_ROUND_COUNT": + assert.Equal(t, "6", v) + case "MIN_GENESIS_ACTIVE_VALIDATOR_COUNT": + assert.Equal(t, "7", v) + case "MIN_GENESIS_TIME": + assert.Equal(t, "8", v) + case "HYSTERESIS_QUOTIENT": + assert.Equal(t, "9", v) + case "HYSTERESIS_DOWNWARD_MULTIPLIER": + assert.Equal(t, "10", v) + case "HYSTERESIS_UPWARD_MULTIPLIER": + assert.Equal(t, "11", v) + case "SAFE_SLOTS_TO_UPDATE_JUSTIFIED": + assert.Equal(t, "0", v) + case "ETH1_FOLLOW_DISTANCE": + assert.Equal(t, "13", v) + case "TARGET_AGGREGATORS_PER_COMMITTEE": + assert.Equal(t, "14", v) + case "RANDOM_SUBNETS_PER_VALIDATOR": + assert.Equal(t, "15", v) + case "EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION": + assert.Equal(t, "16", v) + case "SECONDS_PER_ETH1_BLOCK": + assert.Equal(t, "17", v) + case "DEPOSIT_CHAIN_ID": + assert.Equal(t, "18", v) + case "DEPOSIT_NETWORK_ID": + assert.Equal(t, "19", v) + case "DEPOSIT_CONTRACT_ADDRESS": + assert.Equal(t, "DepositContractAddress", v) + case "MIN_DEPOSIT_AMOUNT": + assert.Equal(t, "20", v) + case "MAX_EFFECTIVE_BALANCE": + assert.Equal(t, "21", v) + case "EJECTION_BALANCE": + assert.Equal(t, "22", v) + case "EFFECTIVE_BALANCE_INCREMENT": + assert.Equal(t, "23", v) + case "GENESIS_FORK_VERSION": + assert.Equal(t, "0x"+hex.EncodeToString([]byte("GenesisForkVersion")), v) + case "ALTAIR_FORK_VERSION": + assert.Equal(t, "0x"+hex.EncodeToString([]byte("AltairForkVersion")), v) + case "ALTAIR_FORK_EPOCH": + assert.Equal(t, "100", v) + case "BELLATRIX_FORK_VERSION": + assert.Equal(t, "0x"+hex.EncodeToString([]byte("BellatrixForkVersion")), v) + case "BELLATRIX_FORK_EPOCH": + assert.Equal(t, "101", v) + case "CAPELLA_FORK_VERSION": + assert.Equal(t, "0x"+hex.EncodeToString([]byte("CapellaForkVersion")), v) + case "CAPELLA_FORK_EPOCH": + assert.Equal(t, "103", v) + case "DENEB_FORK_VERSION": + assert.Equal(t, "0x"+hex.EncodeToString([]byte("DenebForkVersion")), v) + case "DENEB_FORK_EPOCH": + assert.Equal(t, "105", v) + + case "MIN_ANCHOR_POW_BLOCK_DIFFICULTY": + assert.Equal(t, "1000", v) + case "BLS_WITHDRAWAL_PREFIX": + assert.Equal(t, "0x62", v) + case "ETH1_ADDRESS_WITHDRAWAL_PREFIX": + assert.Equal(t, "0x63", v) + case "GENESIS_DELAY": + assert.Equal(t, "24", v) + case "SECONDS_PER_SLOT": + assert.Equal(t, "25", v) + case "MIN_ATTESTATION_INCLUSION_DELAY": + assert.Equal(t, "26", v) + case "SLOTS_PER_EPOCH": + assert.Equal(t, "27", v) + case "MIN_SEED_LOOKAHEAD": + assert.Equal(t, "28", v) + case "MAX_SEED_LOOKAHEAD": + assert.Equal(t, "29", v) + case "EPOCHS_PER_ETH1_VOTING_PERIOD": + assert.Equal(t, "30", v) + case "SLOTS_PER_HISTORICAL_ROOT": + assert.Equal(t, "31", v) + case "MIN_VALIDATOR_WITHDRAWABILITY_DELAY": + assert.Equal(t, "32", v) + case "SHARD_COMMITTEE_PERIOD": + assert.Equal(t, "33", v) + case "MIN_EPOCHS_TO_INACTIVITY_PENALTY": + assert.Equal(t, "34", v) + case "EPOCHS_PER_HISTORICAL_VECTOR": + assert.Equal(t, "35", v) + case "EPOCHS_PER_SLASHINGS_VECTOR": + assert.Equal(t, "36", v) + case "HISTORICAL_ROOTS_LIMIT": + assert.Equal(t, "37", v) + case "VALIDATOR_REGISTRY_LIMIT": + assert.Equal(t, "38", v) + case "BASE_REWARD_FACTOR": + assert.Equal(t, "39", v) + case "WHISTLEBLOWER_REWARD_QUOTIENT": + assert.Equal(t, "40", v) + case "PROPOSER_REWARD_QUOTIENT": + assert.Equal(t, "41", v) + case "INACTIVITY_PENALTY_QUOTIENT": + assert.Equal(t, "42", v) + case "HF1_INACTIVITY_PENALTY_QUOTIENT": + assert.Equal(t, "43", v) + case "MIN_SLASHING_PENALTY_QUOTIENT": + assert.Equal(t, "44", v) + case "HF1_MIN_SLASHING_PENALTY_QUOTIENT": + assert.Equal(t, "45", v) + case "PROPORTIONAL_SLASHING_MULTIPLIER": + assert.Equal(t, "46", v) + case "HF1_PROPORTIONAL_SLASHING_MULTIPLIER": + assert.Equal(t, "47", v) + case "MAX_PROPOSER_SLASHINGS": + assert.Equal(t, "48", v) + case "MAX_ATTESTER_SLASHINGS": + assert.Equal(t, "49", v) + case "MAX_ATTESTATIONS": + assert.Equal(t, "50", v) + case "MAX_DEPOSITS": + assert.Equal(t, "51", v) + case "MAX_VOLUNTARY_EXITS": + assert.Equal(t, "52", v) + case "MAX_BLOBS_PER_BLOCK": + assert.Equal(t, "4", v) + case "TIMELY_HEAD_FLAG_INDEX": + assert.Equal(t, "0x35", v) + case "TIMELY_SOURCE_FLAG_INDEX": + assert.Equal(t, "0x36", v) + case "TIMELY_TARGET_FLAG_INDEX": + assert.Equal(t, "0x37", v) + case "TIMELY_HEAD_WEIGHT": + assert.Equal(t, "56", v) + case "TIMELY_SOURCE_WEIGHT": + assert.Equal(t, "57", v) + case "TIMELY_TARGET_WEIGHT": + assert.Equal(t, "58", v) + case "SYNC_REWARD_WEIGHT": + assert.Equal(t, "59", v) + case "WEIGHT_DENOMINATOR": + assert.Equal(t, "60", v) + case "TARGET_AGGREGATORS_PER_SYNC_SUBCOMMITTEE": + assert.Equal(t, "61", v) + case "SYNC_COMMITTEE_SUBNET_COUNT": + assert.Equal(t, "62", v) + case "SYNC_COMMITTEE_SIZE": + assert.Equal(t, "63", v) + case "SYNC_PUBKEYS_PER_AGGREGATE": + assert.Equal(t, "64", v) + case "INACTIVITY_SCORE_BIAS": + assert.Equal(t, "65", v) + case "EPOCHS_PER_SYNC_COMMITTEE_PERIOD": + assert.Equal(t, "66", v) + case "INACTIVITY_PENALTY_QUOTIENT_ALTAIR": + assert.Equal(t, "67", v) + case "MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR": + assert.Equal(t, "68", v) + case "PROPORTIONAL_SLASHING_MULTIPLIER_ALTAIR": + assert.Equal(t, "69", v) + case "INACTIVITY_SCORE_RECOVERY_RATE": + assert.Equal(t, "70", v) + case "MIN_SYNC_COMMITTEE_PARTICIPANTS": + assert.Equal(t, "71", v) + case "PROPOSER_WEIGHT": + assert.Equal(t, "8", v) + case "DOMAIN_BEACON_PROPOSER": + assert.Equal(t, "0x30303031", v) + case "DOMAIN_BEACON_ATTESTER": + assert.Equal(t, "0x30303032", v) + case "DOMAIN_RANDAO": + assert.Equal(t, "0x30303033", v) + case "DOMAIN_DEPOSIT": + assert.Equal(t, "0x30303034", v) + case "DOMAIN_VOLUNTARY_EXIT": + assert.Equal(t, "0x30303035", v) + case "DOMAIN_SELECTION_PROOF": + assert.Equal(t, "0x30303036", v) + case "DOMAIN_AGGREGATE_AND_PROOF": + assert.Equal(t, "0x30303037", v) + case "DOMAIN_APPLICATION_MASK": + assert.Equal(t, "0x31303030", v) + case "DOMAIN_SYNC_COMMITTEE": + assert.Equal(t, "0x07000000", v) + case "DOMAIN_SYNC_COMMITTEE_SELECTION_PROOF": + assert.Equal(t, "0x08000000", v) + case "DOMAIN_CONTRIBUTION_AND_PROOF": + assert.Equal(t, "0x09000000", v) + case "DOMAIN_BLS_TO_EXECUTION_CHANGE": + assert.Equal(t, "0x0a000000", v) + case "DOMAIN_APPLICATION_BUILDER": + assert.Equal(t, "0x00000001", v) + case "DOMAIN_BLOB_SIDECAR": + assert.Equal(t, "0x00000000", v) + case "TRANSITION_TOTAL_DIFFICULTY": + assert.Equal(t, "0", v) + case "TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH": + assert.Equal(t, "72", v) + case "TERMINAL_BLOCK_HASH": + s, ok := v.(string) + require.Equal(t, true, ok) + assert.Equal(t, common.HexToHash("TerminalBlockHash"), common.HexToHash(s)) + case "TERMINAL_TOTAL_DIFFICULTY": + assert.Equal(t, "73", v) + case "DefaultFeeRecipient": + assert.Equal(t, common.HexToAddress("DefaultFeeRecipient"), v) + case "PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX": + assert.Equal(t, "3", v) + case "MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX": + assert.Equal(t, "32", v) + case "INACTIVITY_PENALTY_QUOTIENT_BELLATRIX": + assert.Equal(t, "16777216", v) + case "PROPOSER_SCORE_BOOST": + assert.Equal(t, "40", v) + case "INTERVALS_PER_SLOT": + assert.Equal(t, "3", v) + case "MAX_WITHDRAWALS_PER_PAYLOAD": + assert.Equal(t, "74", v) + case "MAX_BLS_TO_EXECUTION_CHANGES": + assert.Equal(t, "75", v) + case "MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP": + assert.Equal(t, "76", v) + case "REORG_MAX_EPOCHS_SINCE_FINALIZATION": + assert.Equal(t, "2", v) + case "REORG_WEIGHT_THRESHOLD": + assert.Equal(t, "20", v) + case "REORG_PARENT_WEIGHT_THRESHOLD": + assert.Equal(t, "160", v) + case "MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT": + assert.Equal(t, "8", v) + case "MAX_REQUEST_LIGHT_CLIENT_UPDATES": + assert.Equal(t, "128", v) + case "SAFE_SLOTS_TO_IMPORT_OPTIMISTICALLY": + case "NODE_ID_BITS": + assert.Equal(t, "256", v) + case "ATTESTATION_SUBNET_EXTRA_BITS": + assert.Equal(t, "0", v) + case "ATTESTATION_SUBNET_PREFIX_BITS": + assert.Equal(t, "6", v) + case "SUBNETS_PER_NODE": + assert.Equal(t, "2", v) + case "EPOCHS_PER_SUBNET_SUBSCRIPTION": + assert.Equal(t, "256", v) + case "MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS": + assert.Equal(t, "4096", v) + case "MAX_REQUEST_BLOB_SIDECARS": + assert.Equal(t, "768", v) + case "MESSAGE_DOMAIN_INVALID_SNAPPY": + assert.Equal(t, "0x00000000", v) + case "MESSAGE_DOMAIN_VALID_SNAPPY": + assert.Equal(t, "0x01000000", v) + case "ATTESTATION_PROPAGATION_SLOT_RANGE": + assert.Equal(t, "32", v) + case "RESP_TIMEOUT": + assert.Equal(t, "10", v) + case "TTFB_TIMEOUT": + assert.Equal(t, "5", v) + case "MIN_EPOCHS_FOR_BLOCK_REQUESTS": + assert.Equal(t, "33024", v) + case "GOSSIP_MAX_SIZE": + assert.Equal(t, "10485760", v) + case "MAX_CHUNK_SIZE": + assert.Equal(t, "10485760", v) + case "ATTESTATION_SUBNET_COUNT": + assert.Equal(t, "64", v) + case "MAXIMUM_GOSSIP_CLOCK_DISPARITY": + assert.Equal(t, "500", v) + case "MAX_REQUEST_BLOCKS": + assert.Equal(t, "1024", v) + case "MAX_REQUEST_BLOCKS_DENEB": + assert.Equal(t, "128", v) + default: + for _, pf := range placeholderFields { + if k == pf { + t.Logf("Skipping placeholder field: %s", k) + return } - t.Errorf("Incorrect key: %s", k) } - }) + t.Errorf("Incorrect key: %s", k) + } } } diff --git a/config/params/config.go b/config/params/config.go index 95c606858ad2..fb50cf78d69f 100644 --- a/config/params/config.go +++ b/config/params/config.go @@ -120,7 +120,7 @@ type BeaconChainConfig struct { DomainApplicationMask [4]byte `yaml:"DOMAIN_APPLICATION_MASK" spec:"true"` // DomainApplicationMask defines the BLS signature domain for application mask. DomainApplicationBuilder [4]byte `yaml:"DOMAIN_APPLICATION_BUILDER" spec:"true"` // DomainApplicationBuilder defines the BLS signature domain for application builder. DomainBLSToExecutionChange [4]byte `yaml:"DOMAIN_BLS_TO_EXECUTION_CHANGE" spec:"true"` // DomainBLSToExecutionChange defines the BLS signature domain to change withdrawal addresses to ETH1 prefix - DomainBeaconBuilder [4]byte `yaml:"DOMAIN_BEACON_BULDER" spec:"false"` // DomainBeaconBuilder defines the BLS signature domain used by builders [New in ePBS] + DomainBeaconBuilder [4]byte `yaml:"DOMAIN_BEACON_BUILDER" spec:"false"` // DomainBeaconBuilder defines the BLS signature domain used by builders [New in ePBS] DomainPTCAttester [4]byte `yaml:"DOMAIN_PTC_ATTESTER" spec:"false"` // DomainPTCAttester defines the BLS signature domain used by PTC members [New in ePBS] // Prysm constants.