@chainsafe/eth2.0-params
Version:
Chain parameters required for eth2.0
143 lines (108 loc) • 7.09 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MAX_VOLUNTARY_EXITS = exports.MAX_DEPOSITS = exports.MAX_ATTESTATIONS = exports.MAX_ATTESTER_SLASHINGS = exports.MAX_PROPOSER_SLASHINGS = exports.MIN_SLASHING_PENALTY_QUOTIENT = exports.INACTIVITY_PENALTY_QUOTIENT = exports.PROPOSER_REWARD_QUOTIENT = exports.WHISTLEBLOWING_REWARD_QUOTIENT = exports.BASE_REWARD_FACTOR = exports.VALIDATOR_REGISTRY_LIMIT = exports.HISTORICAL_ROOTS_LIMIT = exports.EPOCHS_PER_SLASHINGS_VECTOR = exports.EPOCHS_PER_HISTORICAL_VECTOR = exports.MIN_EPOCHS_TO_INACTIVITY_PENALTY = exports.PERSISTENT_COMMITTEE_PERIOD = exports.MIN_VALIDATOR_WITHDRAWAL_DELAY = exports.SLOTS_PER_HISTORICAL_ROOT = exports.ETH1_FOLLOW_DISTANCE = exports.SLOTS_PER_ETH1_VOTING_PERIOD = exports.MAX_SEED_LOOKAHEAD = exports.MIN_SEED_LOOKAHEAD = exports.SLOTS_PER_EPOCH = exports.MIN_ATTESTATION_INCLUSION_DELAY = exports.SECONDS_PER_SLOT = exports.GENESIS_START_SHARD = exports.GENESIS_FORK_VERSION = exports.BLS_WITHDRAWAL_PREFIX_BYTE = exports.GENESIS_EPOCH = exports.SAFE_SLOTS_TO_UPDATE_JUSTIFIED = exports.GENESIS_SLOT = exports.EFFECTIVE_BALANCE_INCREMENT = exports.EJECTION_BALANCE = exports.MAX_EFFECTIVE_BALANCE = exports.MIN_DEPOSIT_AMOUNT = exports.DEPOSIT_CONTRACT_TREE_DEPTH = exports.DEPOSIT_CONTRACT_ADDRESS = exports.TARGET_AGGREGATORS_PER_COMMITTEE = exports.MIN_GENESIS_TIME = exports.MIN_GENESIS_ACTIVE_VALIDATOR_COUNT = exports.SHUFFLE_ROUND_COUNT = exports.BASE_REWARDS_PER_EPOCH = exports.CHURN_LIMIT_QUOTIENT = exports.MIN_PER_EPOCH_CHURN_LIMIT = exports.MAX_VALIDATORS_PER_COMMITTEE = exports.TARGET_COMMITTEE_SIZE = exports.MAX_COMMITTEES_PER_SLOT = void 0;
/**
* @module params/presets/mainnet
*/
// Misc
const MAX_COMMITTEES_PER_SLOT = 2 ** 6; // 64 committees
exports.MAX_COMMITTEES_PER_SLOT = MAX_COMMITTEES_PER_SLOT;
const TARGET_COMMITTEE_SIZE = 2 ** 7; // 128 validators
exports.TARGET_COMMITTEE_SIZE = TARGET_COMMITTEE_SIZE;
const MAX_VALIDATORS_PER_COMMITTEE = 2 ** 11; // 2048
exports.MAX_VALIDATORS_PER_COMMITTEE = MAX_VALIDATORS_PER_COMMITTEE;
const MIN_PER_EPOCH_CHURN_LIMIT = 2 ** 2; // 4
exports.MIN_PER_EPOCH_CHURN_LIMIT = MIN_PER_EPOCH_CHURN_LIMIT;
const CHURN_LIMIT_QUOTIENT = 2 ** 16; // 65536
exports.CHURN_LIMIT_QUOTIENT = CHURN_LIMIT_QUOTIENT;
const BASE_REWARDS_PER_EPOCH = 4;
exports.BASE_REWARDS_PER_EPOCH = BASE_REWARDS_PER_EPOCH;
const SHUFFLE_ROUND_COUNT = 90;
exports.SHUFFLE_ROUND_COUNT = SHUFFLE_ROUND_COUNT;
const MIN_GENESIS_ACTIVE_VALIDATOR_COUNT = 2 ** 14;
exports.MIN_GENESIS_ACTIVE_VALIDATOR_COUNT = MIN_GENESIS_ACTIVE_VALIDATOR_COUNT;
const MIN_GENESIS_TIME = 1578009600;
exports.MIN_GENESIS_TIME = MIN_GENESIS_TIME;
const TARGET_AGGREGATORS_PER_COMMITTEE = 16; // Deposit contract
exports.TARGET_AGGREGATORS_PER_COMMITTEE = TARGET_AGGREGATORS_PER_COMMITTEE;
const DEPOSIT_CONTRACT_ADDRESS = 0;
exports.DEPOSIT_CONTRACT_ADDRESS = DEPOSIT_CONTRACT_ADDRESS;
const DEPOSIT_CONTRACT_TREE_DEPTH = 2 ** 5; // 32
// Gwei Values
exports.DEPOSIT_CONTRACT_TREE_DEPTH = DEPOSIT_CONTRACT_TREE_DEPTH;
const MIN_DEPOSIT_AMOUNT = 2n ** 0n * BigInt(1e9); // 1,000,000,000 Gwei
exports.MIN_DEPOSIT_AMOUNT = MIN_DEPOSIT_AMOUNT;
const MAX_EFFECTIVE_BALANCE = 2n ** 5n * BigInt(1e9); // 32,000,000,000 Gwei
exports.MAX_EFFECTIVE_BALANCE = MAX_EFFECTIVE_BALANCE;
const EJECTION_BALANCE = 2n ** 4n * BigInt(1e9); // 16,000,000,000 Gwei
exports.EJECTION_BALANCE = EJECTION_BALANCE;
const EFFECTIVE_BALANCE_INCREMENT = 2n ** 0n * BigInt(1e9); // 1,000,000,000 Gwei
// Initial values
exports.EFFECTIVE_BALANCE_INCREMENT = EFFECTIVE_BALANCE_INCREMENT;
const GENESIS_SLOT = 0;
exports.GENESIS_SLOT = GENESIS_SLOT;
const SAFE_SLOTS_TO_UPDATE_JUSTIFIED = 8;
exports.SAFE_SLOTS_TO_UPDATE_JUSTIFIED = SAFE_SLOTS_TO_UPDATE_JUSTIFIED;
const GENESIS_EPOCH = 0;
exports.GENESIS_EPOCH = GENESIS_EPOCH;
const BLS_WITHDRAWAL_PREFIX_BYTE = Buffer.alloc(1, 0);
exports.BLS_WITHDRAWAL_PREFIX_BYTE = BLS_WITHDRAWAL_PREFIX_BYTE;
const GENESIS_FORK_VERSION = Buffer.alloc(4, 0);
exports.GENESIS_FORK_VERSION = GENESIS_FORK_VERSION;
const GENESIS_START_SHARD = 0; // Time parameters
exports.GENESIS_START_SHARD = GENESIS_START_SHARD;
const SECONDS_PER_SLOT = 12;
exports.SECONDS_PER_SLOT = SECONDS_PER_SLOT;
const MIN_ATTESTATION_INCLUSION_DELAY = 2 ** 0; // slots || 12 seconds
exports.MIN_ATTESTATION_INCLUSION_DELAY = MIN_ATTESTATION_INCLUSION_DELAY;
const SLOTS_PER_EPOCH = 2 ** 5; // slots || 6.4 minutes
exports.SLOTS_PER_EPOCH = SLOTS_PER_EPOCH;
const MIN_SEED_LOOKAHEAD = 2 ** 0; // epochs || 6.4 minutes
exports.MIN_SEED_LOOKAHEAD = MIN_SEED_LOOKAHEAD;
const MAX_SEED_LOOKAHEAD = 2 ** 2; // epochs || 25.6 minutes
exports.MAX_SEED_LOOKAHEAD = MAX_SEED_LOOKAHEAD;
const SLOTS_PER_ETH1_VOTING_PERIOD = 2 ** 10; // slots || ~1.7 hours
exports.SLOTS_PER_ETH1_VOTING_PERIOD = SLOTS_PER_ETH1_VOTING_PERIOD;
const ETH1_FOLLOW_DISTANCE = 2 ** 10; // blocks || ~4 hours
exports.ETH1_FOLLOW_DISTANCE = ETH1_FOLLOW_DISTANCE;
const SLOTS_PER_HISTORICAL_ROOT = 2 ** 13; // slots || ~13 hours
exports.SLOTS_PER_HISTORICAL_ROOT = SLOTS_PER_HISTORICAL_ROOT;
const MIN_VALIDATOR_WITHDRAWAL_DELAY = 2 ** 8; // epochs || ~27 hours
exports.MIN_VALIDATOR_WITHDRAWAL_DELAY = MIN_VALIDATOR_WITHDRAWAL_DELAY;
const PERSISTENT_COMMITTEE_PERIOD = 2 ** 11; // epochs || 9 days
exports.PERSISTENT_COMMITTEE_PERIOD = PERSISTENT_COMMITTEE_PERIOD;
const MIN_EPOCHS_TO_INACTIVITY_PENALTY = 2 ** 2; // 25.6 minutes
// State list lengths
exports.MIN_EPOCHS_TO_INACTIVITY_PENALTY = MIN_EPOCHS_TO_INACTIVITY_PENALTY;
const EPOCHS_PER_HISTORICAL_VECTOR = 2 ** 16;
exports.EPOCHS_PER_HISTORICAL_VECTOR = EPOCHS_PER_HISTORICAL_VECTOR;
const EPOCHS_PER_SLASHINGS_VECTOR = 2 ** 13;
exports.EPOCHS_PER_SLASHINGS_VECTOR = EPOCHS_PER_SLASHINGS_VECTOR;
const HISTORICAL_ROOTS_LIMIT = 2 ** 24;
exports.HISTORICAL_ROOTS_LIMIT = HISTORICAL_ROOTS_LIMIT;
const VALIDATOR_REGISTRY_LIMIT = 2 ** 40; // Reward and penalty quotients
exports.VALIDATOR_REGISTRY_LIMIT = VALIDATOR_REGISTRY_LIMIT;
const BASE_REWARD_FACTOR = 2 ** 6; // 32
exports.BASE_REWARD_FACTOR = BASE_REWARD_FACTOR;
const WHISTLEBLOWING_REWARD_QUOTIENT = 2 ** 9; // 512
exports.WHISTLEBLOWING_REWARD_QUOTIENT = WHISTLEBLOWING_REWARD_QUOTIENT;
const PROPOSER_REWARD_QUOTIENT = 2 ** 3; // 8
exports.PROPOSER_REWARD_QUOTIENT = PROPOSER_REWARD_QUOTIENT;
const INACTIVITY_PENALTY_QUOTIENT = 2n ** 25n; // 33,554,432
exports.INACTIVITY_PENALTY_QUOTIENT = INACTIVITY_PENALTY_QUOTIENT;
const MIN_SLASHING_PENALTY_QUOTIENT = 2 ** 5; // 32
// Max operations per block
exports.MIN_SLASHING_PENALTY_QUOTIENT = MIN_SLASHING_PENALTY_QUOTIENT;
const MAX_PROPOSER_SLASHINGS = 2 ** 4; // 16
exports.MAX_PROPOSER_SLASHINGS = MAX_PROPOSER_SLASHINGS;
const MAX_ATTESTER_SLASHINGS = 2 ** 0; // 1
exports.MAX_ATTESTER_SLASHINGS = MAX_ATTESTER_SLASHINGS;
const MAX_ATTESTATIONS = 2 ** 7; // 128
exports.MAX_ATTESTATIONS = MAX_ATTESTATIONS;
const MAX_DEPOSITS = 2 ** 4; // 16
exports.MAX_DEPOSITS = MAX_DEPOSITS;
const MAX_VOLUNTARY_EXITS = 2 ** 4; // 16
exports.MAX_VOLUNTARY_EXITS = MAX_VOLUNTARY_EXITS;
//# sourceMappingURL=mainnet.js.map