Socket
Socket
Sign inDemoInstall

@chainsafe/lodestar-params

Package Overview
Dependencies
2
Maintainers
3
Versions
846
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.10.0 to 0.10.1

lib/beaconParams.d.ts

20

lib/interface.d.ts

@@ -12,2 +12,3 @@ /**

SHUFFLE_ROUND_COUNT: number;
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: number;
MIN_GENESIS_TIME: number;

@@ -17,3 +18,4 @@ HYSTERESIS_QUOTIENT: number;

HYSTERESIS_UPWARD_MULTIPLIER: number;
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: number;
SAFE_SLOTS_TO_UPDATE_JUSTIFIED: number;
ETH1_FOLLOW_DISTANCE: number;
TARGET_AGGREGATORS_PER_COMMITTEE: number;

@@ -23,3 +25,3 @@ RANDOM_SUBNETS_PER_VALIDATOR: number;

SECONDS_PER_ETH1_BLOCK: number;
DEPOSIT_CONTRACT_ADDRESS: number;
DEPOSIT_CONTRACT_ADDRESS: Buffer;
MIN_DEPOSIT_AMOUNT: bigint;

@@ -29,6 +31,4 @@ MAX_EFFECTIVE_BALANCE: bigint;

EFFECTIVE_BALANCE_INCREMENT: bigint;
SAFE_SLOTS_TO_UPDATE_JUSTIFIED: number;
GENESIS_FORK_VERSION: Buffer;
BLS_WITHDRAWAL_PREFIX: Buffer;
GENESIS_FORK_VERSION: Buffer;
GENESIS_START_SHARD: number;
GENESIS_DELAY: number;

@@ -41,6 +41,6 @@ SECONDS_PER_SLOT: number;

EPOCHS_PER_ETH1_VOTING_PERIOD: number;
ETH1_FOLLOW_DISTANCE: number;
SLOTS_PER_HISTORICAL_ROOT: number;
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: number;
SHARD_COMMITTEE_PERIOD: number;
MAX_EPOCHS_PER_CROSSLINK: number;
MIN_EPOCHS_TO_INACTIVITY_PENALTY: number;

@@ -52,3 +52,2 @@ EPOCHS_PER_HISTORICAL_VECTOR: number;

BASE_REWARD_FACTOR: number;
BASE_REWARDS_PER_EPOCH: number;
WHISTLEBLOWER_REWARD_QUOTIENT: number;

@@ -63,2 +62,9 @@ PROPOSER_REWARD_QUOTIENT: number;

MAX_VOLUNTARY_EXITS: number;
DOMAIN_BEACON_PROPOSER: Buffer;
DOMAIN_BEACON_ATTESTER: Buffer;
DOMAIN_RANDAO: Buffer;
DOMAIN_DEPOSIT: Buffer;
DOMAIN_VOLUNTARY_EXIT: Buffer;
DOMAIN_SELECTION_PROOF: Buffer;
DOMAIN_AGGREGATE_AND_PROOF: Buffer;
ALL_FORKS: IFork[];

@@ -65,0 +71,0 @@ }

@@ -15,3 +15,3 @@ "use strict";

// @ts-ignore
const mainnetYaml = "# Mainnet preset\n# Note: the intention of this file (for now) is to illustrate what a mainnet configuration could look like.\n# Some of these constants may still change before the launch of Phase 0.\n\n\n# Misc\n# ---------------------------------------------------------------\n# 2**6 (= 64)\nMAX_COMMITTEES_PER_SLOT: 64\n# 2**7 (= 128)\nTARGET_COMMITTEE_SIZE: 128\n# 2**11 (= 2,048)\nMAX_VALIDATORS_PER_COMMITTEE: 2048\n# 2**2 (= 4)\nMIN_PER_EPOCH_CHURN_LIMIT: 4\n# 2**16 (= 65,536)\nCHURN_LIMIT_QUOTIENT: 65536\n# See issue 563\nSHUFFLE_ROUND_COUNT: 90\n# `2**14` (= 16,384)\nMIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 16384\n# Jan 3, 2020\nMIN_GENESIS_TIME: 1578009600\n# 4\nHYSTERESIS_QUOTIENT: 4\n# 1 (minus 0.25)\nHYSTERESIS_DOWNWARD_MULTIPLIER: 1\n# 5 (plus 1.25)\nHYSTERESIS_UPWARD_MULTIPLIER: 5\n\n\n# Fork Choice\n# ---------------------------------------------------------------\n# 2**3 (= 8)\nSAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8\n\n\n# Validator\n# ---------------------------------------------------------------\n# 2**10 (= 1,024)\nETH1_FOLLOW_DISTANCE: 1024\n# 2**4 (= 16)\nTARGET_AGGREGATORS_PER_COMMITTEE: 16\n# 2**0 (= 1)\nRANDOM_SUBNETS_PER_VALIDATOR: 1\n# 2**8 (= 256)\nEPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256\n# 14 (estimate from Eth1 mainnet)\nSECONDS_PER_ETH1_BLOCK: 14\n\n\n# Deposit contract\n# ---------------------------------------------------------------\n# **TBD**\nDEPOSIT_CONTRACT_ADDRESS: 0x1234567890123456789012345678901234567890\n\n\n# Gwei values\n# ---------------------------------------------------------------\n# 2**0 * 10**9 (= 1,000,000,000) Gwei\nMIN_DEPOSIT_AMOUNT: 1000000000\n# 2**5 * 10**9 (= 32,000,000,000) Gwei\nMAX_EFFECTIVE_BALANCE: 32000000000\n# 2**4 * 10**9 (= 16,000,000,000) Gwei\nEJECTION_BALANCE: 16000000000\n# 2**0 * 10**9 (= 1,000,000,000) Gwei\nEFFECTIVE_BALANCE_INCREMENT: 1000000000\n\n\n# Initial values\n# ---------------------------------------------------------------\n# Mainnet initial fork version, recommend altering for testnets\nGENESIS_FORK_VERSION: 0x00000000\nBLS_WITHDRAWAL_PREFIX: 0x00\n\n\n# Time parameters\n# ---------------------------------------------------------------\n# 172800 seconds (2 days)\nGENESIS_DELAY: 172800\n# 12 seconds\nSECONDS_PER_SLOT: 12\n# 2**0 (= 1) slots 12 seconds\nMIN_ATTESTATION_INCLUSION_DELAY: 1\n# 2**5 (= 32) slots 6.4 minutes\nSLOTS_PER_EPOCH: 32\n# 2**0 (= 1) epochs 6.4 minutes\nMIN_SEED_LOOKAHEAD: 1\n# 2**2 (= 4) epochs 25.6 minutes\nMAX_SEED_LOOKAHEAD: 4\n# 2**5 (= 32) epochs ~3.4 hours\nEPOCHS_PER_ETH1_VOTING_PERIOD: 32\n# 2**13 (= 8,192) slots ~13 hours\nSLOTS_PER_HISTORICAL_ROOT: 8192\n# 2**8 (= 256) epochs ~27 hours\nMIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256\n# 2**8 (= 256) epochs ~27 hours\nSHARD_COMMITTEE_PERIOD: 256\n# 2**6 (= 64) epochs ~7 hours\nMAX_EPOCHS_PER_CROSSLINK: 64\n# 2**2 (= 4) epochs 25.6 minutes\nMIN_EPOCHS_TO_INACTIVITY_PENALTY: 4\n\n\n# State vector lengths\n# ---------------------------------------------------------------\n# 2**16 (= 65,536) epochs ~0.8 years\nEPOCHS_PER_HISTORICAL_VECTOR: 65536\n# 2**13 (= 8,192) epochs ~36 days\nEPOCHS_PER_SLASHINGS_VECTOR: 8192\n# 2**24 (= 16,777,216) historical roots, ~26,131 years\nHISTORICAL_ROOTS_LIMIT: 16777216\n# 2**40 (= 1,099,511,627,776) validator spots\nVALIDATOR_REGISTRY_LIMIT: 1099511627776\n\n\n# Reward and penalty quotients\n# ---------------------------------------------------------------\n# 2**6 (= 64)\nBASE_REWARD_FACTOR: 64\n# 2**9 (= 512)\nWHISTLEBLOWER_REWARD_QUOTIENT: 512\n# 2**3 (= 8)\nPROPOSER_REWARD_QUOTIENT: 8\n# 2**24 (= 16,777,216)\nINACTIVITY_PENALTY_QUOTIENT: 16777216\n# 2**5 (= 32)\nMIN_SLASHING_PENALTY_QUOTIENT: 32\n\n\n# Max operations per block\n# ---------------------------------------------------------------\n# 2**4 (= 16)\nMAX_PROPOSER_SLASHINGS: 16\n# 2**1 (= 2)\nMAX_ATTESTER_SLASHINGS: 2\n# 2**7 (= 128)\nMAX_ATTESTATIONS: 128\n# 2**4 (= 16)\nMAX_DEPOSITS: 16\n# 2**4 (= 16)\nMAX_VOLUNTARY_EXITS: 16\n\n\n# Signature domains\n# ---------------------------------------------------------------\nDOMAIN_BEACON_PROPOSER: 0x00000000\nDOMAIN_BEACON_ATTESTER: 0x01000000\nDOMAIN_RANDAO: 0x02000000\nDOMAIN_DEPOSIT: 0x03000000\nDOMAIN_VOLUNTARY_EXIT: 0x04000000\nDOMAIN_SELECTION_PROOF: 0x05000000\nDOMAIN_AGGREGATE_AND_PROOF: 0x06000000\n# Phase 1\nDOMAIN_SHARD_PROPOSAL: 0x80000000\nDOMAIN_SHARD_COMMITTEE: 0x81000000\nDOMAIN_LIGHT_CLIENT: 0x82000000\nDOMAIN_CUSTODY_BIT_SLASHING: 0x83000000\n\n\n# Phase 1: Upgrade from Phase 0\n# ---------------------------------------------------------------\nPHASE_1_FORK_VERSION: 0x01000000\n# [STUB]\nPHASE_1_GENESIS_SLOT: 32\nINITIAL_ACTIVE_SHARDS: 64\n\n# Phase 1: General\n# ---------------------------------------------------------------\n# 2**10` (= 1024)\nMAX_SHARDS: 1024\n# 2**3 (= 8) | online epochs | ~51 min\nONLINE_PERIOD: 8\n# 2**7 (= 128)\nLIGHT_CLIENT_COMMITTEE_SIZE: 128\n# 2**8 (= 256) | epochs | ~27 hours\nLIGHT_CLIENT_COMMITTEE_PERIOD: 256\n# 2**18 (= 262,144)\nSHARD_BLOCK_CHUNK_SIZE: 262144\n# 2**2 (= 4)\nMAX_SHARD_BLOCK_CHUNKS: 4\n# 3 * 2**16` (= 196,608)\nTARGET_SHARD_BLOCK_SIZE: 196608\n# Note: MAX_SHARD_BLOCKS_PER_ATTESTATION is derived from the list length.\nSHARD_BLOCK_OFFSETS: [1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233]\n# len(SHARD_BLOCK_OFFSETS)\nMAX_SHARD_BLOCKS_PER_ATTESTATION: 12\n# 2**14 (= 16,384) Gwei\nMAX_GASPRICE: 16384\n# 2**3 (= 8) Gwei\nMIN_GASPRICE: 8\n# 2**3 (= 8)\nGASPRICE_ADJUSTMENT_COEFFICIENT: 8\n\n\n# Phase 1: Custody Game\n# ---------------------------------------------------------------\n\n# Time parameters\n# 2**1 (= 2) epochs, 12.8 minutes\nRANDAO_PENALTY_EPOCHS: 2\n# 2**14 (= 16,384) epochs ~73 days\nEARLY_DERIVED_SECRET_PENALTY_MAX_FUTURE_EPOCHS: 16384\n# 2**11 (= 2,048) epochs, ~9 days\nEPOCHS_PER_CUSTODY_PERIOD: 2048\n# 2**11 (= 2,048) epochs, ~9 days\nCUSTODY_PERIOD_TO_RANDAO_PADDING: 2048\n# 2**7 (= 128) epochs, ~14 hours\nMAX_REVEAL_LATENESS_DECREMENT: 128\n\n# Max operations\n# 2**8 (= 256)\nMAX_CUSTODY_KEY_REVEALS: 256\nMAX_EARLY_DERIVED_SECRET_REVEALS: 1\nMAX_CUSTODY_SLASHINGS: 1\n\n# Reward and penalty quotients\nEARLY_DERIVED_SECRET_REVEAL_SLOT_REWARD_MULTIPLE: 2\n# 2**8 (= 256)\nMINOR_REWARD_QUOTIENT: 256";
const mainnetYaml = "# Mainnet preset\n# Note: the intention of this file (for now) is to illustrate what a mainnet configuration could look like.\n# Some of these constants may still change before the launch of Phase 0.\n\n\n# Misc\n# ---------------------------------------------------------------\n# 2**6 (= 64)\nMAX_COMMITTEES_PER_SLOT: 64\n# 2**7 (= 128)\nTARGET_COMMITTEE_SIZE: 128\n# 2**11 (= 2,048)\nMAX_VALIDATORS_PER_COMMITTEE: 2048\n# 2**2 (= 4)\nMIN_PER_EPOCH_CHURN_LIMIT: 4\n# 2**16 (= 65,536)\nCHURN_LIMIT_QUOTIENT: 65536\n# See issue 563\nSHUFFLE_ROUND_COUNT: 90\n# `2**14` (= 16,384)\nMIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 16384\n# Jan 3, 2020\nMIN_GENESIS_TIME: 1578009600\n# 4\nHYSTERESIS_QUOTIENT: 4\n# 1 (minus 0.25)\nHYSTERESIS_DOWNWARD_MULTIPLIER: 1\n# 5 (plus 1.25)\nHYSTERESIS_UPWARD_MULTIPLIER: 5\n\n\n# Fork Choice\n# ---------------------------------------------------------------\n# 2**3 (= 8)\nSAFE_SLOTS_TO_UPDATE_JUSTIFIED: 8\n\n\n# Validator\n# ---------------------------------------------------------------\n# 2**10 (= 1,024)\nETH1_FOLLOW_DISTANCE: 1024\n# 2**4 (= 16)\nTARGET_AGGREGATORS_PER_COMMITTEE: 16\n# 2**0 (= 1)\nRANDOM_SUBNETS_PER_VALIDATOR: 1\n# 2**8 (= 256)\nEPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256\n# 14 (estimate from Eth1 mainnet)\nSECONDS_PER_ETH1_BLOCK: 14\n\n\n# Deposit contract\n# ---------------------------------------------------------------\n# **TBD**\nDEPOSIT_CONTRACT_ADDRESS: 0x1234567890123456789012345678901234567890\n\n\n# Gwei values\n# ---------------------------------------------------------------\n# 2**0 * 10**9 (= 1,000,000,000) Gwei\nMIN_DEPOSIT_AMOUNT: 1000000000\n# 2**5 * 10**9 (= 32,000,000,000) Gwei\nMAX_EFFECTIVE_BALANCE: 32000000000\n# 2**4 * 10**9 (= 16,000,000,000) Gwei\nEJECTION_BALANCE: 16000000000\n# 2**0 * 10**9 (= 1,000,000,000) Gwei\nEFFECTIVE_BALANCE_INCREMENT: 1000000000\n\n\n# Initial values\n# ---------------------------------------------------------------\n# Mainnet initial fork version, recommend altering for testnets\nGENESIS_FORK_VERSION: 0x00000000\nBLS_WITHDRAWAL_PREFIX: 0x00\n\n\n# Time parameters\n# ---------------------------------------------------------------\n# 172800 seconds (2 days)\nGENESIS_DELAY: 172800\n# 12 seconds\nSECONDS_PER_SLOT: 12\n# 2**0 (= 1) slots 12 seconds\nMIN_ATTESTATION_INCLUSION_DELAY: 1\n# 2**5 (= 32) slots 6.4 minutes\nSLOTS_PER_EPOCH: 32\n# 2**0 (= 1) epochs 6.4 minutes\nMIN_SEED_LOOKAHEAD: 1\n# 2**2 (= 4) epochs 25.6 minutes\nMAX_SEED_LOOKAHEAD: 4\n# 2**5 (= 32) epochs ~3.4 hours\nEPOCHS_PER_ETH1_VOTING_PERIOD: 32\n# 2**13 (= 8,192) slots ~13 hours\nSLOTS_PER_HISTORICAL_ROOT: 8192\n# 2**8 (= 256) epochs ~27 hours\nMIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256\n# 2**8 (= 256) epochs ~27 hours\nSHARD_COMMITTEE_PERIOD: 256\n# 2**6 (= 64) epochs ~7 hours\nMAX_EPOCHS_PER_CROSSLINK: 64\n# 2**2 (= 4) epochs 25.6 minutes\nMIN_EPOCHS_TO_INACTIVITY_PENALTY: 4\n\n\n# State vector lengths\n# ---------------------------------------------------------------\n# 2**16 (= 65,536) epochs ~0.8 years\nEPOCHS_PER_HISTORICAL_VECTOR: 65536\n# 2**13 (= 8,192) epochs ~36 days\nEPOCHS_PER_SLASHINGS_VECTOR: 8192\n# 2**24 (= 16,777,216) historical roots, ~26,131 years\nHISTORICAL_ROOTS_LIMIT: 16777216\n# 2**40 (= 1,099,511,627,776) validator spots\nVALIDATOR_REGISTRY_LIMIT: 1099511627776\n\n\n# Reward and penalty quotients\n# ---------------------------------------------------------------\n# 2**6 (= 64)\nBASE_REWARD_FACTOR: 64\n# 2**9 (= 512)\nWHISTLEBLOWER_REWARD_QUOTIENT: 512\n# 2**3 (= 8)\nPROPOSER_REWARD_QUOTIENT: 8\n# 2**24 (= 16,777,216)\nINACTIVITY_PENALTY_QUOTIENT: 16777216\n# 2**5 (= 32)\nMIN_SLASHING_PENALTY_QUOTIENT: 32\n\n\n# Max operations per block\n# ---------------------------------------------------------------\n# 2**4 (= 16)\nMAX_PROPOSER_SLASHINGS: 16\n# 2**1 (= 2)\nMAX_ATTESTER_SLASHINGS: 2\n# 2**7 (= 128)\nMAX_ATTESTATIONS: 128\n# 2**4 (= 16)\nMAX_DEPOSITS: 16\n# 2**4 (= 16)\nMAX_VOLUNTARY_EXITS: 16\n\n\n# Signature domains\n# ---------------------------------------------------------------\nDOMAIN_BEACON_PROPOSER: 0x00000000\nDOMAIN_BEACON_ATTESTER: 0x01000000\nDOMAIN_RANDAO: 0x02000000\nDOMAIN_DEPOSIT: 0x03000000\nDOMAIN_VOLUNTARY_EXIT: 0x04000000\nDOMAIN_SELECTION_PROOF: 0x05000000\nDOMAIN_AGGREGATE_AND_PROOF: 0x06000000\n";
const params = (0, _utils.createIBeaconParams)((0, _jsYaml.load)(mainnetYaml, {

@@ -18,0 +18,0 @@ schema: _utils.schema

@@ -15,3 +15,3 @@ "use strict";

// @ts-ignore
const minimalYaml = "# Minimal preset\n\n\n# Misc\n# ---------------------------------------------------------------\n\n# [customized] Just 4 committees for slot for testing purposes\nMAX_COMMITTEES_PER_SLOT: 4\n# [customized] unsecure, but fast\nTARGET_COMMITTEE_SIZE: 4\n# 2**11 (= 2,048)\nMAX_VALIDATORS_PER_COMMITTEE: 2048\n# 2**2 (= 4)\nMIN_PER_EPOCH_CHURN_LIMIT: 4\n# 2**16 (= 65,536)\nCHURN_LIMIT_QUOTIENT: 65536\n# [customized] Faster, but unsecure.\nSHUFFLE_ROUND_COUNT: 10\n# [customized]\nMIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 64\n# Jan 3, 2020\nMIN_GENESIS_TIME: 1578009600\n# 4\nHYSTERESIS_QUOTIENT: 4\n# 1 (minus 0.25)\nHYSTERESIS_DOWNWARD_MULTIPLIER: 1\n# 5 (plus 1.25)\nHYSTERESIS_UPWARD_MULTIPLIER: 5\n\n\n\n# Fork Choice\n# ---------------------------------------------------------------\n# 2**1 (= 1)\nSAFE_SLOTS_TO_UPDATE_JUSTIFIED: 2\n\n\n# Validator\n# ---------------------------------------------------------------\n# [customized] process deposits more quickly, but insecure\nETH1_FOLLOW_DISTANCE: 16\n# 2**4 (= 16)\nTARGET_AGGREGATORS_PER_COMMITTEE: 16\n# 2**0 (= 1)\nRANDOM_SUBNETS_PER_VALIDATOR: 1\n# 2**8 (= 256)\nEPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256\n# 14 (estimate from Eth1 mainnet)\nSECONDS_PER_ETH1_BLOCK: 14\n\n\n# Deposit contract\n# ---------------------------------------------------------------\n# **TBD**\nDEPOSIT_CONTRACT_ADDRESS: 0x1234567890123456789012345678901234567890\n\n\n# Gwei values\n# ---------------------------------------------------------------\n# 2**0 * 10**9 (= 1,000,000,000) Gwei\nMIN_DEPOSIT_AMOUNT: 1000000000\n# 2**5 * 10**9 (= 32,000,000,000) Gwei\nMAX_EFFECTIVE_BALANCE: 32000000000\n# 2**4 * 10**9 (= 16,000,000,000) Gwei\nEJECTION_BALANCE: 16000000000\n# 2**0 * 10**9 (= 1,000,000,000) Gwei\nEFFECTIVE_BALANCE_INCREMENT: 1000000000\n\n\n# Initial values\n# ---------------------------------------------------------------\n# Highest byte set to 0x01 to avoid collisions with mainnet versioning\nGENESIS_FORK_VERSION: 0x00000001\nBLS_WITHDRAWAL_PREFIX: 0x00\n\n\n# Time parameters\n# ---------------------------------------------------------------\n# [customized] Faster to spin up testnets, but does not give validator reasonable warning time for genesis\nGENESIS_DELAY: 300\n# [customized] Faster for testing purposes\nSECONDS_PER_SLOT: 6\n# 2**0 (= 1) slots 6 seconds\nMIN_ATTESTATION_INCLUSION_DELAY: 1\n# [customized] fast epochs\nSLOTS_PER_EPOCH: 8\n# 2**0 (= 1) epochs\nMIN_SEED_LOOKAHEAD: 1\n# 2**2 (= 4) epochs\nMAX_SEED_LOOKAHEAD: 4\n# [customized] higher frequency new deposits from eth1 for testing\nEPOCHS_PER_ETH1_VOTING_PERIOD: 4\n# [customized] smaller state\nSLOTS_PER_HISTORICAL_ROOT: 64\n# 2**8 (= 256) epochs\nMIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256\n# [customized] higher frequency of committee turnover and faster time to acceptable voluntary exit\nSHARD_COMMITTEE_PERIOD: 64\n# [customized] fast catchup crosslinks\nMAX_EPOCHS_PER_CROSSLINK: 4\n# 2**2 (= 4) epochs\nMIN_EPOCHS_TO_INACTIVITY_PENALTY: 4\n\n\n# State vector lengths\n# ---------------------------------------------------------------\n# [customized] smaller state\nEPOCHS_PER_HISTORICAL_VECTOR: 64\n# [customized] smaller state\nEPOCHS_PER_SLASHINGS_VECTOR: 64\n# 2**24 (= 16,777,216) historical roots\nHISTORICAL_ROOTS_LIMIT: 16777216\n# 2**40 (= 1,099,511,627,776) validator spots\nVALIDATOR_REGISTRY_LIMIT: 1099511627776\n\n\n# Reward and penalty quotients\n# ---------------------------------------------------------------\n# 2**6 (= 64)\nBASE_REWARD_FACTOR: 64\n# 2**9 (= 512)\nWHISTLEBLOWER_REWARD_QUOTIENT: 512\n# 2**3 (= 8)\nPROPOSER_REWARD_QUOTIENT: 8\n# 2**24 (= 16,777,216)\nINACTIVITY_PENALTY_QUOTIENT: 16777216\n# 2**5 (= 32)\nMIN_SLASHING_PENALTY_QUOTIENT: 32\n\n\n# Max operations per block\n# ---------------------------------------------------------------\n# 2**4 (= 16)\nMAX_PROPOSER_SLASHINGS: 16\n# 2**1 (= 2)\nMAX_ATTESTER_SLASHINGS: 2\n# 2**7 (= 128)\nMAX_ATTESTATIONS: 128\n# 2**4 (= 16)\nMAX_DEPOSITS: 16\n# 2**4 (= 16)\nMAX_VOLUNTARY_EXITS: 16\n\n\n# Signature domains\n# ---------------------------------------------------------------\nDOMAIN_BEACON_PROPOSER: 0x00000000\nDOMAIN_BEACON_ATTESTER: 0x01000000\nDOMAIN_RANDAO: 0x02000000\nDOMAIN_DEPOSIT: 0x03000000\nDOMAIN_VOLUNTARY_EXIT: 0x04000000\nDOMAIN_SELECTION_PROOF: 0x05000000\nDOMAIN_AGGREGATE_AND_PROOF: 0x06000000\n# Phase 1\nDOMAIN_SHARD_PROPOSAL: 0x80000000\nDOMAIN_SHARD_COMMITTEE: 0x81000000\nDOMAIN_LIGHT_CLIENT: 0x82000000\nDOMAIN_CUSTODY_BIT_SLASHING: 0x83000000\n\n\n# Phase 1: Upgrade from Phase 0\n# ---------------------------------------------------------------\n# [customized] for testnet distinction\nPHASE_1_FORK_VERSION: 0x01000001\n# [customized] for testing\nPHASE_1_GENESIS_SLOT: 8\n# [customized] reduced for testing\nINITIAL_ACTIVE_SHARDS: 4\n\n\n# Phase 1: General\n# ---------------------------------------------------------------\n# [customized] reduced for testing\nMAX_SHARDS: 8\n# 2**3 (= 8) | online epochs\nONLINE_PERIOD: 8\n# 2**7 (= 128)\nLIGHT_CLIENT_COMMITTEE_SIZE: 128\n# 2**8 (= 256) | epochs\nLIGHT_CLIENT_COMMITTEE_PERIOD: 256\n# 2**18 (= 262,144)\nSHARD_BLOCK_CHUNK_SIZE: 262144\n# 2**2 (= 4)\nMAX_SHARD_BLOCK_CHUNKS: 4\n# 3 * 2**16` (= 196,608)\nTARGET_SHARD_BLOCK_SIZE: 196608\n# Note: MAX_SHARD_BLOCKS_PER_ATTESTATION is derived from the list length.\nSHARD_BLOCK_OFFSETS: [1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233]\n# len(SHARD_BLOCK_OFFSETS)\nMAX_SHARD_BLOCKS_PER_ATTESTATION: 12\n# 2**14 (= 16,384) Gwei\nMAX_GASPRICE: 16384\n# 2**3 (= 8) Gwei\nMIN_GASPRICE: 8\n# 2**3 (= 8)\nGASPRICE_ADJUSTMENT_COEFFICIENT: 8\n\n\n# Phase 1: Custody Game\n# ---------------------------------------------------------------\n\n# Time parameters\n# 2**1 (= 2) epochs\nRANDAO_PENALTY_EPOCHS: 2\n# [customized] quicker for testing\nEARLY_DERIVED_SECRET_PENALTY_MAX_FUTURE_EPOCHS: 4096\n# 2**11 (= 2,048) epochs\nEPOCHS_PER_CUSTODY_PERIOD: 2048\n# 2**11 (= 2,048) epochs\nCUSTODY_PERIOD_TO_RANDAO_PADDING: 2048\n# 2**7 (= 128) epochs\nMAX_REVEAL_LATENESS_DECREMENT: 128\n\n# Max operations\n# 2**8 (= 256)\nMAX_CUSTODY_KEY_REVEALS: 256\nMAX_EARLY_DERIVED_SECRET_REVEALS: 1\nMAX_CUSTODY_SLASHINGS: 1\n\n# Reward and penalty quotients\nEARLY_DERIVED_SECRET_REVEAL_SLOT_REWARD_MULTIPLE: 2\n# 2**8 (= 256)\nMINOR_REWARD_QUOTIENT: 256";
const minimalYaml = "# Minimal preset\n\n\n# Misc\n# ---------------------------------------------------------------\n\n# [customized] Just 4 committees for slot for testing purposes\nMAX_COMMITTEES_PER_SLOT: 4\n# [customized] unsecure, but fast\nTARGET_COMMITTEE_SIZE: 4\n# 2**11 (= 2,048)\nMAX_VALIDATORS_PER_COMMITTEE: 2048\n# 2**2 (= 4)\nMIN_PER_EPOCH_CHURN_LIMIT: 4\n# 2**16 (= 65,536)\nCHURN_LIMIT_QUOTIENT: 65536\n# [customized] Faster, but unsecure.\nSHUFFLE_ROUND_COUNT: 10\n# [customized]\nMIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 64\n# Jan 3, 2020\nMIN_GENESIS_TIME: 1578009600\n# 4\nHYSTERESIS_QUOTIENT: 4\n# 1 (minus 0.25)\nHYSTERESIS_DOWNWARD_MULTIPLIER: 1\n# 5 (plus 1.25)\nHYSTERESIS_UPWARD_MULTIPLIER: 5\n\n\n\n# Fork Choice\n# ---------------------------------------------------------------\n# 2**1 (= 1)\nSAFE_SLOTS_TO_UPDATE_JUSTIFIED: 2\n\n\n# Validator\n# ---------------------------------------------------------------\n# [customized] process deposits more quickly, but insecure\nETH1_FOLLOW_DISTANCE: 16\n# 2**4 (= 16)\nTARGET_AGGREGATORS_PER_COMMITTEE: 16\n# 2**0 (= 1)\nRANDOM_SUBNETS_PER_VALIDATOR: 1\n# 2**8 (= 256)\nEPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION: 256\n# 14 (estimate from Eth1 mainnet)\nSECONDS_PER_ETH1_BLOCK: 14\n\n\n# Deposit contract\n# ---------------------------------------------------------------\n# **TBD**\nDEPOSIT_CONTRACT_ADDRESS: 0x1234567890123456789012345678901234567890\n\n\n# Gwei values\n# ---------------------------------------------------------------\n# 2**0 * 10**9 (= 1,000,000,000) Gwei\nMIN_DEPOSIT_AMOUNT: 1000000000\n# 2**5 * 10**9 (= 32,000,000,000) Gwei\nMAX_EFFECTIVE_BALANCE: 32000000000\n# 2**4 * 10**9 (= 16,000,000,000) Gwei\nEJECTION_BALANCE: 16000000000\n# 2**0 * 10**9 (= 1,000,000,000) Gwei\nEFFECTIVE_BALANCE_INCREMENT: 1000000000\n\n\n# Initial values\n# ---------------------------------------------------------------\n# Highest byte set to 0x01 to avoid collisions with mainnet versioning\nGENESIS_FORK_VERSION: 0x00000001\nBLS_WITHDRAWAL_PREFIX: 0x00\n\n\n# Time parameters\n# ---------------------------------------------------------------\n# [customized] Faster to spin up testnets, but does not give validator reasonable warning time for genesis\nGENESIS_DELAY: 300\n# [customized] Faster for testing purposes\nSECONDS_PER_SLOT: 6\n# 2**0 (= 1) slots 6 seconds\nMIN_ATTESTATION_INCLUSION_DELAY: 1\n# [customized] fast epochs\nSLOTS_PER_EPOCH: 8\n# 2**0 (= 1) epochs\nMIN_SEED_LOOKAHEAD: 1\n# 2**2 (= 4) epochs\nMAX_SEED_LOOKAHEAD: 4\n# [customized] higher frequency new deposits from eth1 for testing\nEPOCHS_PER_ETH1_VOTING_PERIOD: 4\n# [customized] smaller state\nSLOTS_PER_HISTORICAL_ROOT: 64\n# 2**8 (= 256) epochs\nMIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256\n# [customized] higher frequency of committee turnover and faster time to acceptable voluntary exit\nSHARD_COMMITTEE_PERIOD: 64\n# [customized] fast catchup crosslinks\nMAX_EPOCHS_PER_CROSSLINK: 4\n# 2**2 (= 4) epochs\nMIN_EPOCHS_TO_INACTIVITY_PENALTY: 4\n\n\n# State vector lengths\n# ---------------------------------------------------------------\n# [customized] smaller state\nEPOCHS_PER_HISTORICAL_VECTOR: 64\n# [customized] smaller state\nEPOCHS_PER_SLASHINGS_VECTOR: 64\n# 2**24 (= 16,777,216) historical roots\nHISTORICAL_ROOTS_LIMIT: 16777216\n# 2**40 (= 1,099,511,627,776) validator spots\nVALIDATOR_REGISTRY_LIMIT: 1099511627776\n\n\n# Reward and penalty quotients\n# ---------------------------------------------------------------\n# 2**6 (= 64)\nBASE_REWARD_FACTOR: 64\n# 2**9 (= 512)\nWHISTLEBLOWER_REWARD_QUOTIENT: 512\n# 2**3 (= 8)\nPROPOSER_REWARD_QUOTIENT: 8\n# 2**24 (= 16,777,216)\nINACTIVITY_PENALTY_QUOTIENT: 16777216\n# 2**5 (= 32)\nMIN_SLASHING_PENALTY_QUOTIENT: 32\n\n\n# Max operations per block\n# ---------------------------------------------------------------\n# 2**4 (= 16)\nMAX_PROPOSER_SLASHINGS: 16\n# 2**1 (= 2)\nMAX_ATTESTER_SLASHINGS: 2\n# 2**7 (= 128)\nMAX_ATTESTATIONS: 128\n# 2**4 (= 16)\nMAX_DEPOSITS: 16\n# 2**4 (= 16)\nMAX_VOLUNTARY_EXITS: 16\n\n\n# Signature domains\n# ---------------------------------------------------------------\nDOMAIN_BEACON_PROPOSER: 0x00000000\nDOMAIN_BEACON_ATTESTER: 0x01000000\nDOMAIN_RANDAO: 0x02000000\nDOMAIN_DEPOSIT: 0x03000000\nDOMAIN_VOLUNTARY_EXIT: 0x04000000\nDOMAIN_SELECTION_PROOF: 0x05000000\nDOMAIN_AGGREGATE_AND_PROOF: 0x06000000\n";
const params = (0, _utils.createIBeaconParams)((0, _jsYaml.load)(minimalYaml, {

@@ -18,0 +18,0 @@ schema: _utils.schema

import { Schema } from "js-yaml";
import { TypeMap } from "./types";
import { IBeaconParams } from "./interface";
export declare function createIBeaconParams(params: Record<string, unknown>): Partial<IBeaconParams>;
export declare function convertTypes(params: Record<string, unknown>, typeMap: TypeMap<string, unknown>): Partial<IBeaconParams>;
export declare function createIBeaconParams(input: Record<string, unknown>): Partial<IBeaconParams>;
export declare const schema: Schema;

@@ -7,3 +7,2 @@ "use strict";

exports.createIBeaconParams = createIBeaconParams;
exports.convertTypes = convertTypes;
exports.schema = void 0;

@@ -13,32 +12,12 @@

var _types = require("./types");
var _beaconParams = require("./beaconParams");
var constants = _interopRequireWildcard(require("./constants"));
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function createIBeaconParams(params) {
return convertTypes(params, _types.typeMap);
}
function convertTypes(params, typeMap) {
for (const k in params) {
if (params.hasOwnProperty(k)) {
if (typeMap[k]) {
params[k] = typeMap[k](params[k]);
} else {
params[k] = Number(params[k]);
}
function createIBeaconParams(input) {
const params = {};
Object.entries(_beaconParams.BeaconParams.fields).forEach(([fieldName, fieldType]) => {
if (input[fieldName]) {
params[fieldName] = fieldType.fromJson(input[fieldName]);
}
}
return _objectSpread({}, params, {}, constants);
});
return params;
}

@@ -45,0 +24,0 @@

{
"name": "@chainsafe/lodestar-params",
"version": "0.10.0",
"version": "0.10.1",
"description": "Chain parameters required for lodestar",

@@ -52,5 +52,6 @@ "author": "ChainSafe Systems",

"dependencies": {
"@chainsafe/ssz": "^0.6.9",
"js-yaml": "^3.13.1"
},
"gitHead": "3f4c0201b01e4526703f157f5b882795287f85c8"
"gitHead": "9c221554b06ed5cd7caa8c6ba85c4c5cb6df4278"
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc