Skip to content

Commit 3714320

Browse files
committed
Updated presets for EIP-6110
1 parent 234f711 commit 3714320

File tree

8 files changed

+63
-27
lines changed

8 files changed

+63
-27
lines changed

ethereum/spec/src/main/java/tech/pegasys/teku/spec/config/SpecConfigElectra.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ static SpecConfigElectra required(final SpecConfig specConfig) {
4242

4343
UInt64 getMaxEffectiveBalanceElectra();
4444

45-
int getPendingBalanceDepositsLimit();
45+
int getPendingDepositsLimit();
4646

4747
int getPendingPartialWithdrawalsLimit();
4848

@@ -64,6 +64,8 @@ static SpecConfigElectra required(final SpecConfig specConfig) {
6464

6565
int getMaxPendingPartialsPerWithdrawalsSweep();
6666

67+
int getMaxPendingDepositsPerEpoch();
68+
6769
@Override
6870
Optional<SpecConfigElectra> toVersionElectra();
6971
}

ethereum/spec/src/main/java/tech/pegasys/teku/spec/config/SpecConfigElectraImpl.java

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class SpecConfigElectraImpl extends DelegatingSpecConfigDeneb implements
2727

2828
private final UInt64 minActivationBalance;
2929
private final UInt64 maxEffectiveBalanceElectra;
30-
private final int pendingBalanceDepositsLimit;
30+
private final int pendingDepositsLimit;
3131
private final int pendingPartialWithdrawalsLimit;
3232
private final int pendingConsolidationsLimit;
3333
private final int minSlashingPenaltyQuotientElectra;
@@ -38,6 +38,7 @@ public class SpecConfigElectraImpl extends DelegatingSpecConfigDeneb implements
3838
private final int maxDepositRequestsPerPayload;
3939
private final int maxWithdrawalRequestsPerPayload;
4040
private final int maxPendingPartialsPerWithdrawalsSweep;
41+
private final int maxPendingDepositsPerEpoch;
4142

4243
public SpecConfigElectraImpl(
4344
final SpecConfigDeneb specConfig,
@@ -46,7 +47,7 @@ public SpecConfigElectraImpl(
4647
final UInt64 minPerEpochChurnLimitElectra,
4748
final UInt64 minActivationBalance,
4849
final UInt64 maxEffectiveBalanceElectra,
49-
final int pendingBalanceDepositsLimit,
50+
final int pendingDepositsLimit,
5051
final int pendingPartialWithdrawalsLimit,
5152
final int pendingConsolidationsLimit,
5253
final int minSlashingPenaltyQuotientElectra,
@@ -56,14 +57,15 @@ public SpecConfigElectraImpl(
5657
final int maxConsolidationRequestsPerPayload,
5758
final int maxDepositRequestsPerPayload,
5859
final int maxWithdrawalRequestsPerPayload,
59-
final int maxPendingPartialsPerWithdrawalsSweep) {
60+
final int maxPendingPartialsPerWithdrawalsSweep,
61+
final int maxPendingDepositsPerEpoch) {
6062
super(specConfig);
6163
this.electraForkVersion = electraForkVersion;
6264
this.electraForkEpoch = electraForkEpoch;
6365
this.minPerEpochChurnLimitElectra = minPerEpochChurnLimitElectra;
6466
this.minActivationBalance = minActivationBalance;
6567
this.maxEffectiveBalanceElectra = maxEffectiveBalanceElectra;
66-
this.pendingBalanceDepositsLimit = pendingBalanceDepositsLimit;
68+
this.pendingDepositsLimit = pendingDepositsLimit;
6769
this.pendingPartialWithdrawalsLimit = pendingPartialWithdrawalsLimit;
6870
this.pendingConsolidationsLimit = pendingConsolidationsLimit;
6971
this.minSlashingPenaltyQuotientElectra = minSlashingPenaltyQuotientElectra;
@@ -74,6 +76,7 @@ public SpecConfigElectraImpl(
7476
this.maxDepositRequestsPerPayload = maxDepositRequestsPerPayload;
7577
this.maxWithdrawalRequestsPerPayload = maxWithdrawalRequestsPerPayload;
7678
this.maxPendingPartialsPerWithdrawalsSweep = maxPendingPartialsPerWithdrawalsSweep;
79+
this.maxPendingDepositsPerEpoch = maxPendingDepositsPerEpoch;
7780
}
7881

7982
@Override
@@ -102,8 +105,8 @@ public UInt64 getMaxEffectiveBalanceElectra() {
102105
}
103106

104107
@Override
105-
public int getPendingBalanceDepositsLimit() {
106-
return pendingBalanceDepositsLimit;
108+
public int getPendingDepositsLimit() {
109+
return pendingDepositsLimit;
107110
}
108111

109112
@Override
@@ -156,6 +159,11 @@ public int getMaxPendingPartialsPerWithdrawalsSweep() {
156159
return maxPendingPartialsPerWithdrawalsSweep;
157160
}
158161

162+
@Override
163+
public int getMaxPendingDepositsPerEpoch() {
164+
return maxPendingDepositsPerEpoch;
165+
}
166+
159167
@Override
160168
public Optional<SpecConfigElectra> toVersionElectra() {
161169
return Optional.of(this);
@@ -176,7 +184,7 @@ public boolean equals(final Object o) {
176184
&& Objects.equals(minPerEpochChurnLimitElectra, that.minPerEpochChurnLimitElectra)
177185
&& Objects.equals(minActivationBalance, that.minActivationBalance)
178186
&& Objects.equals(maxEffectiveBalanceElectra, that.maxEffectiveBalanceElectra)
179-
&& pendingBalanceDepositsLimit == that.pendingBalanceDepositsLimit
187+
&& pendingDepositsLimit == that.pendingDepositsLimit
180188
&& pendingPartialWithdrawalsLimit == that.pendingPartialWithdrawalsLimit
181189
&& pendingConsolidationsLimit == that.pendingConsolidationsLimit
182190
&& minSlashingPenaltyQuotientElectra == that.minSlashingPenaltyQuotientElectra
@@ -186,7 +194,8 @@ public boolean equals(final Object o) {
186194
&& maxConsolidationRequestsPerPayload == that.maxConsolidationRequestsPerPayload
187195
&& maxDepositRequestsPerPayload == that.maxDepositRequestsPerPayload
188196
&& maxWithdrawalRequestsPerPayload == that.maxWithdrawalRequestsPerPayload
189-
&& maxPendingPartialsPerWithdrawalsSweep == that.maxPendingPartialsPerWithdrawalsSweep;
197+
&& maxPendingPartialsPerWithdrawalsSweep == that.maxPendingPartialsPerWithdrawalsSweep
198+
&& maxPendingDepositsPerEpoch == that.maxPendingDepositsPerEpoch;
190199
}
191200

192201
@Override
@@ -198,7 +207,7 @@ public int hashCode() {
198207
minPerEpochChurnLimitElectra,
199208
minActivationBalance,
200209
maxEffectiveBalanceElectra,
201-
pendingBalanceDepositsLimit,
210+
pendingDepositsLimit,
202211
pendingPartialWithdrawalsLimit,
203212
pendingConsolidationsLimit,
204213
minSlashingPenaltyQuotientElectra,
@@ -208,6 +217,7 @@ public int hashCode() {
208217
maxConsolidationRequestsPerPayload,
209218
maxDepositRequestsPerPayload,
210219
maxWithdrawalRequestsPerPayload,
211-
maxPendingPartialsPerWithdrawalsSweep);
220+
maxPendingPartialsPerWithdrawalsSweep,
221+
maxPendingDepositsPerEpoch);
212222
}
213223
}

ethereum/spec/src/main/java/tech/pegasys/teku/spec/config/builder/ElectraBuilder.java

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class ElectraBuilder implements ForkConfigBuilder<SpecConfigDeneb, SpecCo
3434
private UInt64 minPerEpochChurnLimitElectra;
3535
private UInt64 minActivationBalance;
3636
private UInt64 maxEffectiveBalanceElectra;
37-
private Integer pendingBalanceDepositsLimit;
37+
private Integer pendingDepositsLimit;
3838
private Integer pendingPartialWithdrawalsLimit;
3939
private Integer pendingConsolidationsLimit;
4040
private Integer minSlashingPenaltyQuotientElectra;
@@ -45,6 +45,7 @@ public class ElectraBuilder implements ForkConfigBuilder<SpecConfigDeneb, SpecCo
4545
private Integer maxDepositRequestsPerPayload;
4646
private Integer maxWithdrawalRequestsPerPayload;
4747
private Integer maxPendingPartialsPerWithdrawalsSweep;
48+
private Integer maxPendingDepositsPerEpoch;
4849

4950
ElectraBuilder() {}
5051

@@ -57,7 +58,7 @@ public SpecConfigElectra build(final SpecConfigDeneb specConfig) {
5758
minPerEpochChurnLimitElectra,
5859
minActivationBalance,
5960
maxEffectiveBalanceElectra,
60-
pendingBalanceDepositsLimit,
61+
pendingDepositsLimit,
6162
pendingPartialWithdrawalsLimit,
6263
pendingConsolidationsLimit,
6364
minSlashingPenaltyQuotientElectra,
@@ -67,7 +68,8 @@ public SpecConfigElectra build(final SpecConfigDeneb specConfig) {
6768
maxConsolidationRequestsPerPayload,
6869
maxDepositRequestsPerPayload,
6970
maxWithdrawalRequestsPerPayload,
70-
maxPendingPartialsPerWithdrawalsSweep);
71+
maxPendingPartialsPerWithdrawalsSweep,
72+
maxPendingDepositsPerEpoch);
7173
}
7274

7375
public ElectraBuilder electraForkEpoch(final UInt64 electraForkEpoch) {
@@ -100,9 +102,9 @@ public ElectraBuilder maxEffectiveBalanceElectra(final UInt64 maxEffectiveBalanc
100102
return this;
101103
}
102104

103-
public ElectraBuilder pendingBalanceDepositsLimit(final Integer pendingBalanceDepositsLimit) {
104-
checkNotNull(pendingBalanceDepositsLimit);
105-
this.pendingBalanceDepositsLimit = pendingBalanceDepositsLimit;
105+
public ElectraBuilder pendingDepositsLimit(final Integer pendingDepositsLimit) {
106+
checkNotNull(pendingDepositsLimit);
107+
this.pendingDepositsLimit = pendingDepositsLimit;
106108
return this;
107109
}
108110

@@ -172,6 +174,12 @@ public ElectraBuilder maxPendingPartialsPerWithdrawalsSweep(
172174
return this;
173175
}
174176

177+
public ElectraBuilder maxPendingDepositsPerEpoch(final Integer maxPendingDepositsPerEpoch) {
178+
checkNotNull(maxPendingDepositsPerEpoch);
179+
this.maxPendingDepositsPerEpoch = maxPendingDepositsPerEpoch;
180+
return this;
181+
}
182+
175183
@Override
176184
public void validate() {
177185
if (electraForkEpoch == null) {
@@ -196,7 +204,7 @@ public Map<String, Object> getValidationMap() {
196204
constants.put("minPerEpochChurnLimitElectra", minPerEpochChurnLimitElectra);
197205
constants.put("minActivationBalance", minActivationBalance);
198206
constants.put("maxEffectiveBalanceElectra", maxEffectiveBalanceElectra);
199-
constants.put("pendingBalanceDepositsLimit", pendingBalanceDepositsLimit);
207+
constants.put("pendingDepositsLimit", pendingDepositsLimit);
200208
constants.put("pendingPartialWithdrawalsLimit", pendingPartialWithdrawalsLimit);
201209
constants.put("pendingConsolidationsLimit", pendingConsolidationsLimit);
202210
constants.put("minSlashingPenaltyQuotientElectra", minSlashingPenaltyQuotientElectra);
@@ -207,6 +215,7 @@ public Map<String, Object> getValidationMap() {
207215
constants.put("maxDepositRequestsPerPayload", maxDepositRequestsPerPayload);
208216
constants.put("maxWithdrawalRequestsPerPayload", maxWithdrawalRequestsPerPayload);
209217
constants.put("maxPendingPartialsPerWithdrawalsSweep", maxPendingPartialsPerWithdrawalsSweep);
218+
constants.put("maxPendingDepositsPerEpoch", maxPendingDepositsPerEpoch);
210219

211220
return constants;
212221
}

ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/state/beaconstate/versions/electra/BeaconStateSchemaElectra.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,7 @@ private static List<SszField> getUniqueFields(final SpecConfig specConfig) {
128128
BeaconStateFields.PENDING_BALANCE_DEPOSITS,
129129
() ->
130130
SszListSchema.create(
131-
pendingBalanceDepositSchema,
132-
specConfigElectra.getPendingBalanceDepositsLimit()));
131+
pendingBalanceDepositSchema, specConfigElectra.getPendingDepositsLimit()));
133132
final SszField pendingPartialWithdrawalsField =
134133
new SszField(
135134
PENDING_PARTIAL_WITHDRAWALS_INDEX,

ethereum/spec/src/main/resources/tech/pegasys/teku/spec/config/presets/mainnet/electra.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ MAX_EFFECTIVE_BALANCE_ELECTRA: 2048000000000
1010
# State list lengths
1111
# ---------------------------------------------------------------
1212
# `uint64(2**27)` (= 134,217,728)
13-
PENDING_BALANCE_DEPOSITS_LIMIT: 134217728
13+
PENDING_DEPOSITS_LIMIT: 134217728
1414
# `uint64(2**27)` (= 134,217,728)
1515
PENDING_PARTIAL_WITHDRAWALS_LIMIT: 134217728
1616
# `uint64(2**18)` (= 262,144)
@@ -42,4 +42,9 @@ MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD: 16
4242
# Withdrawals processing
4343
# ---------------------------------------------------------------
4444
# 2**3 ( = 8) pending withdrawals
45-
MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP: 8
45+
MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP: 8
46+
47+
# Pending deposits processing
48+
# ---------------------------------------------------------------
49+
# 2**4 ( = 4) pending deposits
50+
MAX_PENDING_DEPOSITS_PER_EPOCH: 16

ethereum/spec/src/main/resources/tech/pegasys/teku/spec/config/presets/minimal/electra.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ MAX_EFFECTIVE_BALANCE_ELECTRA: 2048000000000
1010
# State list lengths
1111
# ---------------------------------------------------------------
1212
# `uint64(2**27)` (= 134,217,728)
13-
PENDING_BALANCE_DEPOSITS_LIMIT: 134217728
13+
PENDING_DEPOSITS_LIMIT: 134217728
1414
# [customized] `uint64(2**6)` (= 64)
1515
PENDING_PARTIAL_WITHDRAWALS_LIMIT: 64
1616
# [customized] `uint64(2**6)` (= 64)
@@ -42,4 +42,9 @@ MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD: 2
4242
# Withdrawals processing
4343
# ---------------------------------------------------------------
4444
# 2**0 ( = 1) pending withdrawals
45-
MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP: 1
45+
MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP: 1
46+
47+
# Pending deposits processing
48+
# ---------------------------------------------------------------
49+
# 2**4 ( = 4) pending deposits
50+
MAX_PENDING_DEPOSITS_PER_EPOCH: 16

ethereum/spec/src/main/resources/tech/pegasys/teku/spec/config/presets/swift/electra.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ MAX_EFFECTIVE_BALANCE_ELECTRA: 2048000000000
1010
# State list lengths
1111
# ---------------------------------------------------------------
1212
# `uint64(2**27)` (= 134,217,728)
13-
PENDING_BALANCE_DEPOSITS_LIMIT: 134217728
13+
PENDING_DEPOSITS_LIMIT: 134217728
1414
# [customized] `uint64(2**6)` (= 64)
1515
PENDING_PARTIAL_WITHDRAWALS_LIMIT: 64
1616
# [customized] `uint64(2**6)` (= 64)
@@ -42,4 +42,9 @@ MAX_WITHDRAWAL_REQUESTS_PER_PAYLOAD: 2
4242
# Withdrawals processing
4343
# ---------------------------------------------------------------
4444
# 2**0 ( = 1) pending withdrawals
45-
MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP: 1
45+
MAX_PENDING_PARTIALS_PER_WITHDRAWALS_SWEEP: 1
46+
47+
# Pending deposits processing
48+
# ---------------------------------------------------------------
49+
# 2**4 ( = 4) pending deposits
50+
MAX_PENDING_DEPOSITS_PER_EPOCH: 16

ethereum/spec/src/test/java/tech/pegasys/teku/spec/config/SpecConfigElectraTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ private SpecConfigElectra createRandomElectraConfig(
9595
dataStructureUtil.randomPositiveInt(1),
9696
dataStructureUtil.randomPositiveInt(8192),
9797
dataStructureUtil.randomPositiveInt(16),
98-
dataStructureUtil.randomPositiveInt(8)) {};
98+
dataStructureUtil.randomPositiveInt(8),
99+
dataStructureUtil.randomPositiveInt(16)) {};
99100
}
100101
}

0 commit comments

Comments
 (0)