-
-
Notifications
You must be signed in to change notification settings - Fork 348
/
Copy pathminimal.ts
139 lines (127 loc) Β· 4.33 KB
/
minimal.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
import {BeaconPreset} from "../types.js";
// Minimal preset
// https://github.com/ethereum/consensus-specs/tree/dev/presets/minimal
/* eslint-disable @typescript-eslint/naming-convention */
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,
MAX_BLOB_COMMITMENTS_PER_BLOCK: 16,
MAX_BLOBS_PER_BLOCK: 6,
KZG_COMMITMENT_INCLUSION_PROOF_DEPTH: 9,
// ELECTRA
MAX_DEPOSIT_REQUESTS_PER_PAYLOAD: 4,
MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD: 2,
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: 1,
WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA: 4096,
};