@lodestar/params
Version:
Chain parameters required for lodestar
153 lines (138 loc) • 4.76 kB
text/typescript
import {BeaconPreset} from "../types.js";
// Minimal preset
// https://github.com/ethereum/consensus-specs/tree/dev/presets/minimal
export const minimalPreset: BeaconPreset = {
// Misc
// ---------------------------------------------------------------
// [customized] Just 4 committees for slot for testing purposes
MAX_COMMITTEES_PER_SLOT: 4,
// [customized] unsecure, but fast
TARGET_COMMITTEE_SIZE: 4,
// 2**11 (= 2,048)
MAX_VALIDATORS_PER_COMMITTEE: 2048,
// [customized] Faster, but unsecure.
SHUFFLE_ROUND_COUNT: 10,
// 4
HYSTERESIS_QUOTIENT: 4,
// 1 (minus 0.25)
HYSTERESIS_DOWNWARD_MULTIPLIER: 1,
// 5 (plus 1.25)
HYSTERESIS_UPWARD_MULTIPLIER: 5,
// Gwei values
// ---------------------------------------------------------------
// 2**0 * 10**9 (= 1,000,000,000) Gwei
MIN_DEPOSIT_AMOUNT: 1000000000,
// 2**5 * 10**9 (= 32,000,000,000) Gwei
MAX_EFFECTIVE_BALANCE: 32000000000,
// 2**0 * 10**9 (= 1,000,000,000) Gwei
EFFECTIVE_BALANCE_INCREMENT: 1000000000,
// Time parameters
// ---------------------------------------------------------------
// 2**0 (= 1) slots 6 seconds
MIN_ATTESTATION_INCLUSION_DELAY: 1,
// [customized] fast epochs
SLOTS_PER_EPOCH: 8,
// 2**0 (= 1) epochs
MIN_SEED_LOOKAHEAD: 1,
// 2**2 (= 4) epochs
MAX_SEED_LOOKAHEAD: 4,
// [customized] higher frequency new deposits from eth1 for testing
EPOCHS_PER_ETH1_VOTING_PERIOD: 4,
// [customized] smaller state
SLOTS_PER_HISTORICAL_ROOT: 64,
// 2**2 (= 4) epochs
MIN_EPOCHS_TO_INACTIVITY_PENALTY: 4,
// State vector lengths
// ---------------------------------------------------------------
// [customized] smaller state
EPOCHS_PER_HISTORICAL_VECTOR: 64,
// [customized] smaller state
EPOCHS_PER_SLASHINGS_VECTOR: 64,
// 2**24 (= 16,777,216) historical roots
HISTORICAL_ROOTS_LIMIT: 16777216,
// 2**40 (= 1,099,511,627,776) validator spots
VALIDATOR_REGISTRY_LIMIT: 1099511627776,
// Reward and penalty quotients
// ---------------------------------------------------------------
// 2**6 (= 64)
BASE_REWARD_FACTOR: 64,
// 2**9 (= 512)
WHISTLEBLOWER_REWARD_QUOTIENT: 512,
// 2**3 (= 8)
PROPOSER_REWARD_QUOTIENT: 8,
// [customized] 2**25 (= 33,554,432)
INACTIVITY_PENALTY_QUOTIENT: 33554432,
// [customized] 2**6 (= 64)
MIN_SLASHING_PENALTY_QUOTIENT: 64,
// [customized] 2 (lower safety margin than Phase 0 genesis but different than mainnet config for testing)
PROPORTIONAL_SLASHING_MULTIPLIER: 2,
// Max operations per block
// ---------------------------------------------------------------
// 2**4 (= 16)
MAX_PROPOSER_SLASHINGS: 16,
// 2**1 (= 2)
MAX_ATTESTER_SLASHINGS: 2,
// 2**7 (= 128)
MAX_ATTESTATIONS: 128,
// 2**4 (= 16)
MAX_DEPOSITS: 16,
// 2**4 (= 16)
MAX_VOLUNTARY_EXITS: 16,
// ALTAIR
/////////
SYNC_COMMITTEE_SIZE: 32,
EPOCHS_PER_SYNC_COMMITTEE_PERIOD: 8,
INACTIVITY_PENALTY_QUOTIENT_ALTAIR: 50331648,
MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR: 64,
PROPORTIONAL_SLASHING_MULTIPLIER_ALTAIR: 2,
MIN_SYNC_COMMITTEE_PARTICIPANTS: 1,
UPDATE_TIMEOUT: 64,
// BELLATRIX
////////////
INACTIVITY_PENALTY_QUOTIENT_BELLATRIX: 16777216,
MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX: 32,
PROPORTIONAL_SLASHING_MULTIPLIER_BELLATRIX: 3,
MAX_BYTES_PER_TRANSACTION: 1073741824,
MAX_TRANSACTIONS_PER_PAYLOAD: 1048576,
BYTES_PER_LOGS_BLOOM: 256,
MAX_EXTRA_DATA_BYTES: 32,
// CAPELLA
//////////
MAX_BLS_TO_EXECUTION_CHANGES: 16,
MAX_WITHDRAWALS_PER_PAYLOAD: 4,
MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP: 16,
// DENEB
///////////
FIELD_ELEMENTS_PER_BLOB: 4096,
// ELECTRA
MAX_DEPOSIT_REQUESTS_PER_PAYLOAD: 8192,
MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD: 16,
MAX_ATTESTER_SLASHINGS_ELECTRA: 1,
MAX_ATTESTATIONS_ELECTRA: 8,
MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP: 2,
MAX_PENDING_DEPOSITS_PER_EPOCH: 16,
// 2**11 * 10**9 (= 2,048,000,000,000) Gwei
MAX_EFFECTIVE_BALANCE_ELECTRA: 2048000000000,
MIN_SLASHING_PENALTY_QUOTIENT_ELECTRA: 4096,
MIN_ACTIVATION_BALANCE: 32000000000,
PENDING_DEPOSITS_LIMIT: 134217728,
PENDING_PARTIAL_WITHDRAWALS_LIMIT: 64,
PENDING_CONSOLIDATIONS_LIMIT: 64,
MAX_CONSOLIDATION_REQUESTS_PER_PAYLOAD: 2,
WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA: 4096,
MAX_BLOB_COMMITMENTS_PER_BLOCK: 4096,
KZG_COMMITMENT_INCLUSION_PROOF_DEPTH: 17,
// FULU
///////////
NUMBER_OF_COLUMNS: 128,
CELLS_PER_EXT_BLOB: 128,
FIELD_ELEMENTS_PER_CELL: 64,
FIELD_ELEMENTS_PER_EXT_BLOB: 8192,
KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH: 4,
// GLOAS
PTC_SIZE: 2,
MAX_PAYLOAD_ATTESTATIONS: 4,
BUILDER_REGISTRY_LIMIT: 1099511627776, // 2**40
BUILDER_PENDING_WITHDRAWALS_LIMIT: 1048576, // 2**20
MAX_BUILDERS_PER_WITHDRAWALS_SWEEP: 16, // 2**4
};