@lodestar/beacon-node 1.29.0-dev.9bc0958841 → 1.29.0-dev.a167888f80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/impl/beacon/blocks/index.d.ts +1 -1
- package/lib/api/impl/beacon/blocks/index.js +3 -3
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +1 -1
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/validator/index.js +3 -3
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/getHistoricalState.js +1 -1
- package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/worker.js +0 -1
- package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
- package/lib/chain/blocks/importBlock.js +3 -3
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlock.js +1 -1
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +2 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +2 -2
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
- package/lib/chain/chain.d.ts +4 -1
- package/lib/chain/chain.js +10 -3
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/interface.d.ts +2 -0
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts +28 -8
- package/lib/chain/opPools/aggregatedAttestationPool.js +176 -63
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/options.d.ts +2 -1
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/produceBlock/computeNewStateRoot.js +1 -1
- package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
- package/lib/chain/regen/queued.d.ts +1 -0
- package/lib/chain/regen/queued.js +1 -0
- package/lib/chain/regen/queued.js.map +1 -1
- package/lib/chain/regen/regen.d.ts +3 -0
- package/lib/chain/regen/regen.js +3 -3
- package/lib/chain/regen/regen.js.map +1 -1
- package/lib/{metrics → chain}/validatorMonitor.d.ts +3 -2
- package/lib/{metrics → chain}/validatorMonitor.js +54 -51
- package/lib/chain/validatorMonitor.js.map +1 -0
- package/lib/metrics/metrics/lodestar.d.ts +37 -3
- package/lib/metrics/metrics/lodestar.js +70 -3
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/metrics/metrics.d.ts +2 -6
- package/lib/metrics/metrics.js +2 -12
- package/lib/metrics/metrics.js.map +1 -1
- package/lib/metrics/options.d.ts +1 -2
- package/lib/metrics/options.js.map +1 -1
- package/lib/network/libp2p/index.js +6 -0
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +5 -5
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/node/nodejs.d.ts +4 -1
- package/lib/node/nodejs.js +9 -2
- package/lib/node/nodejs.js.map +1 -1
- package/lib/node/options.d.ts +2 -0
- package/lib/node/options.js +2 -0
- package/lib/node/options.js.map +1 -1
- package/package.json +14 -14
- package/lib/metrics/validatorMonitor.js.map +0 -1
|
@@ -15,6 +15,14 @@ import { pruneBySlot, signatureFromBytesNoCheck } from "./utils.js";
|
|
|
15
15
|
* how does participation looks like in attestations.
|
|
16
16
|
*/
|
|
17
17
|
const MAX_RETAINED_ATTESTATIONS_PER_GROUP = 4;
|
|
18
|
+
/**
|
|
19
|
+
* This is the same to MAX_RETAINED_ATTESTATIONS_PER_GROUP but for electra.
|
|
20
|
+
* As monitored in hoodi, max attestations per group could be up to > 10. But since electra we can
|
|
21
|
+
* consolidate attestations across committees, so we can just pick up to 8 attestations per group.
|
|
22
|
+
* Also the MatchingDataAttestationGroup.getAttestationsForBlock() is improved not to have to scan each
|
|
23
|
+
* committee member for previous slot.
|
|
24
|
+
*/
|
|
25
|
+
const MAX_RETAINED_ATTESTATIONS_PER_GROUP_ELECTRA = 8;
|
|
18
26
|
/**
|
|
19
27
|
* Pre-electra, each slot has 64 committees, and each block has 128 attestations max so in average
|
|
20
28
|
* we get 2 attestation per groups.
|
|
@@ -24,14 +32,23 @@ const MAX_RETAINED_ATTESTATIONS_PER_GROUP = 4;
|
|
|
24
32
|
*/
|
|
25
33
|
const MAX_ATTESTATIONS_PER_GROUP = 3;
|
|
26
34
|
/**
|
|
27
|
-
* For electra,
|
|
28
|
-
*
|
|
29
|
-
*
|
|
35
|
+
* For electra, there is on chain aggregation of attestations across committees, so we can just pick up to 8
|
|
36
|
+
* attestations per group, sort by scores to get first 8.
|
|
37
|
+
* The new algorithm helps not to include useless attestations so we usually cannot get up to 8.
|
|
38
|
+
* The more consolidations we have per block, the less likely we have to scan all slots in the pool.
|
|
39
|
+
* This is max attestations returned per group, it does not make sense to have this number greater
|
|
40
|
+
* than MAX_RETAINED_ATTESTATIONS_PER_GROUP_ELECTRA or MAX_ATTESTATIONS_ELECTRA.
|
|
30
41
|
*/
|
|
31
|
-
const MAX_ATTESTATIONS_PER_GROUP_ELECTRA =
|
|
42
|
+
const MAX_ATTESTATIONS_PER_GROUP_ELECTRA = Math.min(MAX_RETAINED_ATTESTATIONS_PER_GROUP_ELECTRA, MAX_ATTESTATIONS_ELECTRA);
|
|
43
|
+
export var ScannedSlotsTerminationReason;
|
|
44
|
+
(function (ScannedSlotsTerminationReason) {
|
|
45
|
+
ScannedSlotsTerminationReason["MaxConsolidationReached"] = "max_consolidation_reached";
|
|
46
|
+
ScannedSlotsTerminationReason["ScannedAllSlots"] = "scanned_all_slots";
|
|
47
|
+
ScannedSlotsTerminationReason["SlotBeforePreviousEpoch"] = "slot_before_previous_epoch";
|
|
48
|
+
})(ScannedSlotsTerminationReason || (ScannedSlotsTerminationReason = {}));
|
|
32
49
|
/**
|
|
33
50
|
* Maintain a pool of aggregated attestations. Attestations can be retrieved for inclusion in a block
|
|
34
|
-
* or api. The returned attestations are aggregated to
|
|
51
|
+
* or api. The returned attestations are aggregated to maximize the number of validators that can be
|
|
35
52
|
* included.
|
|
36
53
|
* Note that we want to remove attestations with attesters that were included in the chain.
|
|
37
54
|
*/
|
|
@@ -78,7 +95,7 @@ export class AggregatedAttestationPool {
|
|
|
78
95
|
assert.notNull(committeeIndex, "Committee index should not be null in aggregated attestation pool");
|
|
79
96
|
let attestationGroup = attestationGroupByIndex.get(committeeIndex);
|
|
80
97
|
if (!attestationGroup) {
|
|
81
|
-
attestationGroup = new MatchingDataAttestationGroup(committee, attestation.data);
|
|
98
|
+
attestationGroup = new MatchingDataAttestationGroup(this.config, committee, attestation.data);
|
|
82
99
|
attestationGroupByIndex.set(committeeIndex, attestationGroup);
|
|
83
100
|
}
|
|
84
101
|
return attestationGroup.add({
|
|
@@ -134,16 +151,16 @@ export class AggregatedAttestationPool {
|
|
|
134
151
|
(ForkSeq[fork] >= ForkSeq.deneb || stateSlot <= slot + SLOTS_PER_EPOCH))) {
|
|
135
152
|
continue; // Invalid attestations
|
|
136
153
|
}
|
|
137
|
-
const
|
|
154
|
+
const inclusionDistance = stateSlot - slot;
|
|
138
155
|
for (const attestationGroupByIndex of attestationGroupByIndexByDataHash.values()) {
|
|
139
156
|
for (const [committeeIndex, attestationGroup] of attestationGroupByIndex.entries()) {
|
|
140
|
-
const
|
|
141
|
-
if (
|
|
157
|
+
const notSeenCommitteeMembers = notSeenValidatorsFn(epoch, slot, committeeIndex);
|
|
158
|
+
if (notSeenCommitteeMembers === null || notSeenCommitteeMembers.size === 0) {
|
|
142
159
|
continue;
|
|
143
160
|
}
|
|
144
161
|
if (slotCount > 2 &&
|
|
145
162
|
attestationsByScore.length >= MAX_ATTESTATIONS &&
|
|
146
|
-
|
|
163
|
+
notSeenCommitteeMembers.size / inclusionDistance < minScore) {
|
|
147
164
|
// after 2 slots, there are a good chance that we have 2 * MAX_ATTESTATIONS attestations and break the for loop early
|
|
148
165
|
// if not, we may have to scan all slots in the pool
|
|
149
166
|
// if we have enough attestations and the max possible score is lower than scores of `attestationsByScore`, we should skip
|
|
@@ -160,8 +177,9 @@ export class AggregatedAttestationPool {
|
|
|
160
177
|
// These properties should not change after being validate in gossip
|
|
161
178
|
// IF they have to be validated, do it only with one attestation per group since same data
|
|
162
179
|
// The committeeCountPerSlot can be precomputed once per slot
|
|
163
|
-
|
|
164
|
-
|
|
180
|
+
const getAttestationsResult = attestationGroup.getAttestationsForBlock(fork, state.epochCtx.effectiveBalanceIncrements, notSeenCommitteeMembers, MAX_ATTESTATIONS_PER_GROUP);
|
|
181
|
+
for (const { attestation, newSeenEffectiveBalance } of getAttestationsResult.result) {
|
|
182
|
+
const score = newSeenEffectiveBalance / inclusionDistance;
|
|
165
183
|
if (score < minScore) {
|
|
166
184
|
minScore = score;
|
|
167
185
|
}
|
|
@@ -200,6 +218,8 @@ export class AggregatedAttestationPool {
|
|
|
200
218
|
const slots = Array.from(this.attestationGroupByIndexByDataHexBySlot.keys()).sort((a, b) => b - a);
|
|
201
219
|
// Track score of each `AttestationsConsolidation`
|
|
202
220
|
const consolidations = new Map();
|
|
221
|
+
let scannedSlots = 0;
|
|
222
|
+
let stopReason = null;
|
|
203
223
|
slot: for (const slot of slots) {
|
|
204
224
|
const attestationGroupByIndexByDataHash = this.attestationGroupByIndexByDataHexBySlot.get(slot);
|
|
205
225
|
// should not happen
|
|
@@ -207,16 +227,24 @@ export class AggregatedAttestationPool {
|
|
|
207
227
|
throw Error(`No aggregated attestation pool for slot=${slot}`);
|
|
208
228
|
}
|
|
209
229
|
const epoch = computeEpochAtSlot(slot);
|
|
230
|
+
if (epoch < statePrevEpoch) {
|
|
231
|
+
// we process slot in desc order, this means next slot is not eligible, we should stop
|
|
232
|
+
stopReason = ScannedSlotsTerminationReason.SlotBeforePreviousEpoch;
|
|
233
|
+
break;
|
|
234
|
+
}
|
|
210
235
|
// validateAttestation condition: Attestation target epoch not in previous or current epoch
|
|
211
236
|
if (!(epoch === stateEpoch || epoch === statePrevEpoch)) {
|
|
212
237
|
continue; // Invalid attestations
|
|
213
238
|
}
|
|
214
239
|
// validateAttestation condition: Attestation slot not within inclusion window
|
|
215
240
|
if (!(slot + MIN_ATTESTATION_INCLUSION_DELAY <= stateSlot)) {
|
|
241
|
+
// this should not happen as slot is decreased so no need to track in metric
|
|
216
242
|
continue; // Invalid attestations
|
|
217
243
|
}
|
|
218
|
-
const
|
|
219
|
-
|
|
244
|
+
const inclusionDistance = stateSlot - slot;
|
|
245
|
+
let returnedAttestationsPerSlot = 0;
|
|
246
|
+
let totalAttestationsPerSlot = 0;
|
|
247
|
+
// CommitteeIndex 0 1 2 ... Consolidation (sameAttDataCons)
|
|
220
248
|
// Attestations att00 --- att10 --- att20 --- 0 (att 00 10 20)
|
|
221
249
|
// att01 --- - --- att21 --- 1 (att 01 __ 21)
|
|
222
250
|
// - --- - --- att22 --- 2 (att __ __ 22)
|
|
@@ -225,14 +253,17 @@ export class AggregatedAttestationPool {
|
|
|
225
253
|
const sameAttDataCons = [];
|
|
226
254
|
const allAttestationGroups = Array.from(attestationGroupByIndex.values());
|
|
227
255
|
if (allAttestationGroups.length === 0) {
|
|
256
|
+
this.metrics?.opPool.aggregatedAttestationPool.packedAttestations.emptyAttestationData.inc();
|
|
228
257
|
continue;
|
|
229
258
|
}
|
|
230
259
|
if (!validateAttestationDataFn(allAttestationGroups[0].data)) {
|
|
260
|
+
this.metrics?.opPool.aggregatedAttestationPool.packedAttestations.invalidAttestationData.inc();
|
|
231
261
|
continue;
|
|
232
262
|
}
|
|
233
263
|
for (const [committeeIndex, attestationGroup] of attestationGroupByIndex.entries()) {
|
|
234
|
-
const
|
|
235
|
-
if (
|
|
264
|
+
const notSeenCommitteeMembers = notSeenValidatorsFn(epoch, slot, committeeIndex);
|
|
265
|
+
if (notSeenCommitteeMembers === null || notSeenCommitteeMembers.size === 0) {
|
|
266
|
+
this.metrics?.opPool.aggregatedAttestationPool.packedAttestations.seenCommittees.inc();
|
|
236
267
|
continue;
|
|
237
268
|
}
|
|
238
269
|
// cannot apply this optimization like pre-electra because consolidation needs to be done across committees:
|
|
@@ -244,37 +275,73 @@ export class AggregatedAttestationPool {
|
|
|
244
275
|
// These properties should not change after being validate in gossip
|
|
245
276
|
// IF they have to be validated, do it only with one attestation per group since same data
|
|
246
277
|
// The committeeCountPerSlot can be precomputed once per slot
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
278
|
+
const getAttestationGroupResult = attestationGroup.getAttestationsForBlock(fork, state.epochCtx.effectiveBalanceIncrements, notSeenCommitteeMembers, MAX_ATTESTATIONS_PER_GROUP_ELECTRA);
|
|
279
|
+
const attestationsSameGroup = getAttestationGroupResult.result;
|
|
280
|
+
returnedAttestationsPerSlot += attestationsSameGroup.length;
|
|
281
|
+
totalAttestationsPerSlot += getAttestationGroupResult.totalAttestations;
|
|
282
|
+
for (const [i, attestationNonParticipation] of attestationsSameGroup.entries()) {
|
|
283
|
+
// sameAttDataCons shares the same index for different committees so we use index `i` here
|
|
250
284
|
if (sameAttDataCons[i] === undefined) {
|
|
251
285
|
sameAttDataCons[i] = {
|
|
252
286
|
byCommittee: new Map(),
|
|
253
287
|
attData: attestationNonParticipation.attestation.data,
|
|
254
|
-
|
|
288
|
+
totalNewSeenEffectiveBalance: 0,
|
|
289
|
+
newSeenAttesters: 0,
|
|
290
|
+
notSeenAttesters: 0,
|
|
291
|
+
totalAttesters: 0,
|
|
255
292
|
};
|
|
256
293
|
}
|
|
257
|
-
sameAttDataCons[i]
|
|
258
|
-
|
|
294
|
+
const sameAttDataCon = sameAttDataCons[i];
|
|
295
|
+
// committeeIndex was from a map so it should be unique, but just in case
|
|
296
|
+
if (!sameAttDataCon.byCommittee.has(committeeIndex)) {
|
|
297
|
+
sameAttDataCon.byCommittee.set(committeeIndex, attestationNonParticipation);
|
|
298
|
+
sameAttDataCon.totalNewSeenEffectiveBalance += attestationNonParticipation.newSeenEffectiveBalance;
|
|
299
|
+
sameAttDataCon.newSeenAttesters += attestationNonParticipation.newSeenAttesters;
|
|
300
|
+
sameAttDataCon.notSeenAttesters += attestationNonParticipation.notSeenCommitteeMembers.size;
|
|
301
|
+
sameAttDataCon.totalAttesters += attestationGroup.committee.length;
|
|
302
|
+
}
|
|
259
303
|
}
|
|
260
304
|
} // all committees are processed
|
|
305
|
+
this.metrics?.opPool.aggregatedAttestationPool.packedAttestations.returnedAttestations.set({ inclusionDistance }, returnedAttestationsPerSlot);
|
|
306
|
+
this.metrics?.opPool.aggregatedAttestationPool.packedAttestations.scannedAttestations.set({ inclusionDistance }, totalAttestationsPerSlot);
|
|
261
307
|
// after all committees are processed, we have a list of sameAttDataCons
|
|
262
308
|
for (const consolidation of sameAttDataCons) {
|
|
263
|
-
const score = consolidation.
|
|
309
|
+
const score = consolidation.totalNewSeenEffectiveBalance / inclusionDistance;
|
|
264
310
|
consolidations.set(consolidation, score);
|
|
265
311
|
// Stop accumulating attestations there are enough that may have good scoring
|
|
266
312
|
if (consolidations.size >= MAX_ATTESTATIONS_ELECTRA * 2) {
|
|
313
|
+
stopReason = ScannedSlotsTerminationReason.MaxConsolidationReached;
|
|
267
314
|
break slot;
|
|
268
315
|
}
|
|
269
316
|
}
|
|
270
317
|
}
|
|
318
|
+
// finished processing a slot
|
|
319
|
+
scannedSlots++;
|
|
271
320
|
}
|
|
321
|
+
this.metrics?.opPool.aggregatedAttestationPool.packedAttestations.totalConsolidations.set(consolidations.size);
|
|
272
322
|
const sortedConsolidationsByScore = Array.from(consolidations.entries())
|
|
273
323
|
.sort((a, b) => b[1] - a[1])
|
|
274
324
|
.map(([consolidation, _]) => consolidation)
|
|
275
325
|
.slice(0, MAX_ATTESTATIONS_ELECTRA);
|
|
276
326
|
// on chain aggregation is expensive, only do it after all
|
|
277
|
-
|
|
327
|
+
const packedAttestationsMetrics = this.metrics?.opPool.aggregatedAttestationPool.packedAttestations;
|
|
328
|
+
const packedAttestations = new Array(sortedConsolidationsByScore.length);
|
|
329
|
+
for (const [i, consolidation] of sortedConsolidationsByScore.entries()) {
|
|
330
|
+
packedAttestations[i] = aggregateConsolidation(consolidation);
|
|
331
|
+
// record metrics of packed attestations
|
|
332
|
+
packedAttestationsMetrics?.committeeCount.set({ index: i }, consolidation.byCommittee.size);
|
|
333
|
+
packedAttestationsMetrics?.totalAttesters.set({ index: i }, consolidation.totalAttesters);
|
|
334
|
+
packedAttestationsMetrics?.nonParticipation.set({ index: i }, consolidation.notSeenAttesters);
|
|
335
|
+
packedAttestationsMetrics?.inclusionDistance.set({ index: i }, stateSlot - packedAttestations[i].data.slot);
|
|
336
|
+
packedAttestationsMetrics?.newSeenAttesters.set({ index: i }, consolidation.newSeenAttesters);
|
|
337
|
+
packedAttestationsMetrics?.totalEffectiveBalance.set({ index: i }, consolidation.totalNewSeenEffectiveBalance);
|
|
338
|
+
}
|
|
339
|
+
if (stopReason === null) {
|
|
340
|
+
stopReason = ScannedSlotsTerminationReason.ScannedAllSlots;
|
|
341
|
+
}
|
|
342
|
+
packedAttestationsMetrics?.scannedSlots.set({ reason: stopReason }, scannedSlots);
|
|
343
|
+
packedAttestationsMetrics?.poolSlots.set(slots.length);
|
|
344
|
+
return packedAttestations;
|
|
278
345
|
}
|
|
279
346
|
/**
|
|
280
347
|
* Get all attestations optionally filtered by `attestation.data.slot`
|
|
@@ -304,7 +371,7 @@ export class AggregatedAttestationPool {
|
|
|
304
371
|
return attestations;
|
|
305
372
|
}
|
|
306
373
|
onScrapeMetrics(metrics) {
|
|
307
|
-
const
|
|
374
|
+
const poolMetrics = metrics.opPool.aggregatedAttestationPool;
|
|
308
375
|
const allSlots = Array.from(this.attestationGroupByIndexByDataHexBySlot.keys());
|
|
309
376
|
// last item is current slot, we want the previous one, if available.
|
|
310
377
|
const previousSlot = allSlots.length > 1 ? (allSlots.at(-2) ?? null) : null;
|
|
@@ -314,7 +381,7 @@ export class AggregatedAttestationPool {
|
|
|
314
381
|
if (previousSlot !== null) {
|
|
315
382
|
const groupByIndexByDataHex = this.attestationGroupByIndexByDataHexBySlot.get(previousSlot);
|
|
316
383
|
if (groupByIndexByDataHex != null) {
|
|
317
|
-
|
|
384
|
+
poolMetrics.attDataPerSlot.set(groupByIndexByDataHex.size);
|
|
318
385
|
let maxAttestations = 0;
|
|
319
386
|
let committeeCount = 0;
|
|
320
387
|
for (const groupByIndex of groupByIndexByDataHex.values()) {
|
|
@@ -322,13 +389,13 @@ export class AggregatedAttestationPool {
|
|
|
322
389
|
for (const group of groupByIndex.values()) {
|
|
323
390
|
const attestationCountInGroup = group.getAttestationCount();
|
|
324
391
|
maxAttestations = Math.max(maxAttestations, attestationCountInGroup);
|
|
325
|
-
|
|
392
|
+
poolMetrics.attestationsPerCommittee.observe(attestationCountInGroup);
|
|
326
393
|
committeeCount += 1;
|
|
327
394
|
attestationCount += attestationCountInGroup;
|
|
328
395
|
}
|
|
329
396
|
}
|
|
330
|
-
|
|
331
|
-
|
|
397
|
+
poolMetrics.maxAttestationsPerCommittee.set(maxAttestations);
|
|
398
|
+
poolMetrics.committeesPerSlot.set(committeeCount);
|
|
332
399
|
}
|
|
333
400
|
}
|
|
334
401
|
for (const [slot, attestationGroupByIndexByDataHex] of this.attestationGroupByIndexByDataHexBySlot) {
|
|
@@ -343,8 +410,8 @@ export class AggregatedAttestationPool {
|
|
|
343
410
|
}
|
|
344
411
|
}
|
|
345
412
|
}
|
|
346
|
-
|
|
347
|
-
|
|
413
|
+
poolMetrics.size.set(attestationCount);
|
|
414
|
+
poolMetrics.uniqueData.set(attestationDataCount);
|
|
348
415
|
}
|
|
349
416
|
}
|
|
350
417
|
/**
|
|
@@ -354,9 +421,8 @@ export class AggregatedAttestationPool {
|
|
|
354
421
|
* Use committee instead of aggregationBits to improve performance.
|
|
355
422
|
*/
|
|
356
423
|
export class MatchingDataAttestationGroup {
|
|
357
|
-
constructor(
|
|
358
|
-
|
|
359
|
-
committee, data) {
|
|
424
|
+
constructor(config, committee, data) {
|
|
425
|
+
this.config = config;
|
|
360
426
|
this.committee = committee;
|
|
361
427
|
this.data = data;
|
|
362
428
|
this.attestations = [];
|
|
@@ -396,42 +462,86 @@ export class MatchingDataAttestationGroup {
|
|
|
396
462
|
this.attestations.splice(index, 1);
|
|
397
463
|
}
|
|
398
464
|
this.attestations.push(attestation);
|
|
465
|
+
const maxRetained = isForkPostElectra(this.config.getForkName(this.data.slot))
|
|
466
|
+
? MAX_RETAINED_ATTESTATIONS_PER_GROUP_ELECTRA
|
|
467
|
+
: MAX_RETAINED_ATTESTATIONS_PER_GROUP;
|
|
399
468
|
// Remove the attestations with less participation
|
|
400
|
-
if (this.attestations.length >
|
|
469
|
+
if (this.attestations.length > maxRetained) {
|
|
470
|
+
// ideally we should sort by effective balance but there is no state/effectiveBalance here
|
|
471
|
+
// it's rare to see > 8 attestations per group in electra anyway
|
|
401
472
|
this.attestations.sort((a, b) => b.trueBitsCount - a.trueBitsCount);
|
|
402
|
-
this.attestations.splice(
|
|
473
|
+
this.attestations.splice(maxRetained, this.attestations.length - maxRetained);
|
|
403
474
|
}
|
|
404
475
|
return InsertOutcome.NewData;
|
|
405
476
|
}
|
|
406
477
|
/**
|
|
407
478
|
* Get AttestationNonParticipant for this groups of same attestation data.
|
|
408
|
-
* @param
|
|
479
|
+
* @param notSeenCommitteeMembers not seen committee members, i.e. indices in the same committee (starting from 0 till (committee.size - 1))
|
|
409
480
|
* @returns an array of AttestationNonParticipant
|
|
410
481
|
*/
|
|
411
|
-
getAttestationsForBlock(fork,
|
|
482
|
+
getAttestationsForBlock(fork, effectiveBalanceIncrements, notSeenCommitteeMembers, maxAttestation) {
|
|
412
483
|
const attestations = [];
|
|
484
|
+
const excluded = new Set();
|
|
485
|
+
for (let i = 0; i < maxAttestation; i++) {
|
|
486
|
+
const mostValuableAttestation = this.getMostValuableAttestation(fork, effectiveBalanceIncrements, notSeenCommitteeMembers, excluded);
|
|
487
|
+
if (mostValuableAttestation === null) {
|
|
488
|
+
// stop looking for attestation because all attesters are seen or no attestation has missing attesters
|
|
489
|
+
break;
|
|
490
|
+
}
|
|
491
|
+
attestations.push(mostValuableAttestation);
|
|
492
|
+
excluded.add(mostValuableAttestation.attestation);
|
|
493
|
+
// this will narrow down the notSeenCommitteeMembers for the next iteration
|
|
494
|
+
// so usually it will not take much time, however it could take more time during
|
|
495
|
+
// non-finality of the network when there is low participation, but in this case
|
|
496
|
+
// we pre-aggregate aggregated attestations and bound the total attestations per group
|
|
497
|
+
notSeenCommitteeMembers = mostValuableAttestation.notSeenCommitteeMembers;
|
|
498
|
+
}
|
|
499
|
+
return { result: attestations, totalAttestations: this.attestations.length };
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Select the attestation with the highest total effective balance of not seen validators.
|
|
503
|
+
*/
|
|
504
|
+
getMostValuableAttestation(fork, effectiveBalanceIncrements, notSeenCommitteeMembers, excluded) {
|
|
505
|
+
if (notSeenCommitteeMembers.size === 0) {
|
|
506
|
+
// no more attesters to consider
|
|
507
|
+
return null;
|
|
508
|
+
}
|
|
413
509
|
const isPostElectra = isForkPostElectra(fork);
|
|
510
|
+
let maxNewSeenEffectiveBalance = 0;
|
|
511
|
+
let mostValuableAttestation = null;
|
|
414
512
|
for (const { attestation } of this.attestations) {
|
|
415
513
|
if ((isPostElectra && !isElectraAttestation(attestation)) ||
|
|
416
514
|
(!isPostElectra && isElectraAttestation(attestation))) {
|
|
417
515
|
continue;
|
|
418
516
|
}
|
|
419
|
-
|
|
517
|
+
if (excluded.has(attestation)) {
|
|
518
|
+
continue;
|
|
519
|
+
}
|
|
520
|
+
const notSeen = new Set();
|
|
521
|
+
// we prioritize total effective balance over attester count
|
|
522
|
+
let newSeenEffectiveBalance = 0;
|
|
523
|
+
let newSeenAttesters = 0;
|
|
420
524
|
const { aggregationBits } = attestation;
|
|
421
|
-
for (const notSeenIndex of
|
|
525
|
+
for (const notSeenIndex of notSeenCommitteeMembers) {
|
|
422
526
|
if (aggregationBits.get(notSeenIndex)) {
|
|
423
|
-
|
|
527
|
+
newSeenEffectiveBalance += effectiveBalanceIncrements[this.committee[notSeenIndex]];
|
|
528
|
+
newSeenAttesters++;
|
|
529
|
+
}
|
|
530
|
+
else {
|
|
531
|
+
notSeen.add(notSeenIndex);
|
|
424
532
|
}
|
|
425
533
|
}
|
|
426
|
-
if (
|
|
427
|
-
|
|
534
|
+
if (newSeenEffectiveBalance > maxNewSeenEffectiveBalance) {
|
|
535
|
+
maxNewSeenEffectiveBalance = newSeenEffectiveBalance;
|
|
536
|
+
mostValuableAttestation = {
|
|
537
|
+
attestation,
|
|
538
|
+
newSeenEffectiveBalance,
|
|
539
|
+
newSeenAttesters,
|
|
540
|
+
notSeenCommitteeMembers: notSeen,
|
|
541
|
+
};
|
|
428
542
|
}
|
|
429
543
|
}
|
|
430
|
-
|
|
431
|
-
if (attestations.length <= maxAttestation) {
|
|
432
|
-
return attestations;
|
|
433
|
-
}
|
|
434
|
-
return attestations.sort((a, b) => b.notSeenAttesterCount - a.notSeenAttesterCount).slice(0, maxAttestation);
|
|
544
|
+
return mostValuableAttestation;
|
|
435
545
|
}
|
|
436
546
|
/** Get attestations for API. */
|
|
437
547
|
getAttestations() {
|
|
@@ -477,13 +587,14 @@ export function aggregateConsolidation({ byCommittee, attData }) {
|
|
|
477
587
|
* has already attested or not.
|
|
478
588
|
*/
|
|
479
589
|
export function getNotSeenValidatorsFn(state) {
|
|
480
|
-
|
|
590
|
+
const stateSlot = state.slot;
|
|
591
|
+
if (state.config.getForkName(stateSlot) === ForkName.phase0) {
|
|
481
592
|
// Get attestations to be included in a phase0 block.
|
|
482
593
|
// As we are close to altair, this is not really important, it's mainly for e2e.
|
|
483
594
|
// The performance is not great due to the different BeaconState data structure to altair.
|
|
484
595
|
// check for phase0 block already
|
|
485
596
|
const phase0State = state;
|
|
486
|
-
const stateEpoch = computeEpochAtSlot(
|
|
597
|
+
const stateEpoch = computeEpochAtSlot(stateSlot);
|
|
487
598
|
const previousEpochParticipants = extractParticipationPhase0(phase0State.previousEpochAttestations.getAllReadonly(), state);
|
|
488
599
|
const currentEpochParticipants = extractParticipationPhase0(phase0State.currentEpochAttestations.getAllReadonly(), state);
|
|
489
600
|
return (epoch, slot, committeeIndex) => {
|
|
@@ -492,13 +603,13 @@ export function getNotSeenValidatorsFn(state) {
|
|
|
492
603
|
return null;
|
|
493
604
|
}
|
|
494
605
|
const committee = state.epochCtx.getBeaconCommittee(slot, committeeIndex);
|
|
495
|
-
const
|
|
606
|
+
const notSeenCommitteeMembers = new Set();
|
|
496
607
|
for (const [i, validatorIndex] of committee.entries()) {
|
|
497
608
|
if (!participants.has(validatorIndex)) {
|
|
498
|
-
|
|
609
|
+
notSeenCommitteeMembers.add(i);
|
|
499
610
|
}
|
|
500
611
|
}
|
|
501
|
-
return
|
|
612
|
+
return notSeenCommitteeMembers.size === 0 ? null : notSeenCommitteeMembers;
|
|
502
613
|
};
|
|
503
614
|
}
|
|
504
615
|
// altair and future forks
|
|
@@ -509,7 +620,7 @@ export function getNotSeenValidatorsFn(state) {
|
|
|
509
620
|
const altairState = state;
|
|
510
621
|
const previousParticipation = altairState.previousEpochParticipation.getAll();
|
|
511
622
|
const currentParticipation = altairState.currentEpochParticipation.getAll();
|
|
512
|
-
const stateEpoch = computeEpochAtSlot(
|
|
623
|
+
const stateEpoch = computeEpochAtSlot(stateSlot);
|
|
513
624
|
// this function could be called multiple times with same slot + committeeIndex
|
|
514
625
|
const cachedNotSeenValidators = new Map();
|
|
515
626
|
return (epoch, slot, committeeIndex) => {
|
|
@@ -518,22 +629,23 @@ export function getNotSeenValidatorsFn(state) {
|
|
|
518
629
|
return null;
|
|
519
630
|
}
|
|
520
631
|
const cacheKey = slot + "_" + committeeIndex;
|
|
521
|
-
let
|
|
522
|
-
if (
|
|
632
|
+
let notSeenCommitteeMembers = cachedNotSeenValidators.get(cacheKey);
|
|
633
|
+
if (notSeenCommitteeMembers != null) {
|
|
523
634
|
// if all validators are seen then return null, we don't need to check for any attestations of same committee again
|
|
524
|
-
return
|
|
635
|
+
return notSeenCommitteeMembers.size === 0 ? null : notSeenCommitteeMembers;
|
|
525
636
|
}
|
|
526
637
|
const committee = state.epochCtx.getBeaconCommittee(slot, committeeIndex);
|
|
527
|
-
|
|
638
|
+
notSeenCommitteeMembers = new Set();
|
|
528
639
|
for (const [i, validatorIndex] of committee.entries()) {
|
|
529
640
|
// no need to check flagIsTimelySource as if validator is not seen, it's participation status is 0
|
|
530
|
-
|
|
531
|
-
|
|
641
|
+
// attestations for the previous slot are not included in the state, so we don't need to check for them
|
|
642
|
+
if (slot === stateSlot - 1 || participationStatus[validatorIndex] === 0) {
|
|
643
|
+
notSeenCommitteeMembers.add(i);
|
|
532
644
|
}
|
|
533
645
|
}
|
|
534
|
-
cachedNotSeenValidators.set(cacheKey,
|
|
646
|
+
cachedNotSeenValidators.set(cacheKey, notSeenCommitteeMembers);
|
|
535
647
|
// if all validators are seen then return null, we don't need to check for any attestations of same committee again
|
|
536
|
-
return
|
|
648
|
+
return notSeenCommitteeMembers.size === 0 ? null : notSeenCommitteeMembers;
|
|
537
649
|
};
|
|
538
650
|
}
|
|
539
651
|
export function extractParticipationPhase0(attestations, state) {
|
|
@@ -579,8 +691,9 @@ export function getValidateAttestationDataFn(forkChoice, state) {
|
|
|
579
691
|
else {
|
|
580
692
|
return false;
|
|
581
693
|
}
|
|
582
|
-
if (!ssz.phase0.Checkpoint.equals(attData.source, justifiedCheckpoint))
|
|
694
|
+
if (!ssz.phase0.Checkpoint.equals(attData.source, justifiedCheckpoint)) {
|
|
583
695
|
return false;
|
|
696
|
+
}
|
|
584
697
|
// Shuffling can't have changed if we're in the first few epochs
|
|
585
698
|
// Also we can't look back 2 epochs if target epoch is 1 or less
|
|
586
699
|
if (stateEpoch < 2 || targetEpoch < 2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregatedAttestationPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/aggregatedAttestationPool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aggregatedAttestationPool.js","sourceRoot":"","sources":["../../../src/chain/opPools/aggregatedAttestationPool.ts"],"names":[],"mappings":"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"}
|
package/lib/chain/options.d.ts
CHANGED
|
@@ -5,8 +5,9 @@ import { LightClientServerOpts } from "./lightClient/index.js";
|
|
|
5
5
|
import { ShufflingCacheOpts } from "./shufflingCache.js";
|
|
6
6
|
import { FIFOBlockStateCacheOpts } from "./stateCache/fifoBlockStateCache.js";
|
|
7
7
|
import { PersistentCheckpointStateCacheOpts } from "./stateCache/persistentCheckpointsCache.js";
|
|
8
|
+
import { ValidatorMonitorOpts } from "./validatorMonitor.js";
|
|
8
9
|
export { ArchiveMode, DEFAULT_ARCHIVE_MODE };
|
|
9
|
-
export type IChainOptions = BlockProcessOpts & PoolOpts & SeenCacheOpts & ForkChoiceOpts & ArchiveStoreOpts & FIFOBlockStateCacheOpts & PersistentCheckpointStateCacheOpts & ShufflingCacheOpts & LightClientServerOpts & {
|
|
10
|
+
export type IChainOptions = BlockProcessOpts & PoolOpts & SeenCacheOpts & ForkChoiceOpts & ArchiveStoreOpts & FIFOBlockStateCacheOpts & PersistentCheckpointStateCacheOpts & ShufflingCacheOpts & ValidatorMonitorOpts & LightClientServerOpts & {
|
|
10
11
|
blsVerifyAllMainThread?: boolean;
|
|
11
12
|
blsVerifyAllMultiThread?: boolean;
|
|
12
13
|
blacklistedBlocks?: string[];
|
package/lib/chain/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mCAAmC,EAAC,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAC,cAAc,IAAI,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAmB,MAAM,6BAA6B,CAAC;AAI1E,OAAO,EAAC,wBAAwB,EAA0B,MAAM,qCAAqC,CAAC;AAEtG,OAAO,EAAC,qCAAqC,EAAC,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/chain/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mCAAmC,EAAC,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAC,cAAc,IAAI,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAmB,MAAM,6BAA6B,CAAC;AAI1E,OAAO,EAAC,wBAAwB,EAA0B,MAAM,qCAAqC,CAAC;AAEtG,OAAO,EAAC,qCAAqC,EAAC,MAAM,4CAA4C,CAAC;AAGjG,OAAO,EAAC,WAAW,EAAE,oBAAoB,EAAC,CAAC;AAuF3C,MAAM,CAAC,MAAM,mBAAmB,GAAkB;IAChD,sBAAsB,EAAE,KAAK;IAC7B,uBAAuB,EAAE,KAAK;IAC9B,iBAAiB,EAAE,EAAE;IACrB,qBAAqB,EAAE,KAAK;IAC5B,aAAa,EAAE,IAAI;IACnB,kBAAkB,EAAE,KAAK;IACzB,iBAAiB,EAAE,IAAI;IACvB,+BAA+B,EAAE,mCAAmC;IACpE,qBAAqB,EAAE,uBAAuB,CAAC,qBAAqB;IACpE,gCAAgC,EAAE,KAAK;IACvC,0BAA0B,EAAE,IAAI;IAChC,WAAW,EAAE,oBAAoB;IACjC,YAAY,EAAE,KAAK;IACnB,qBAAqB,EAAE,KAAK;IAC5B,0EAA0E;IAC1E,uGAAuG;IACvG,YAAY,EAAE,EAAE;IAChB,6BAA6B,EAAE,MAAM;IACrC,qEAAqE;IACrE,gGAAgG;IAChG,wGAAwG;IACxG,kCAAkC,EAAE,CAAC;IACrC,iBAAiB,EAAE,IAAI;IACvB,4DAA4D;IAC5D,qEAAqE;IACrE,uFAAuF;IACvF,wDAAwD;IACxD,8BAA8B,EAAE,IAAI;IACpC,cAAc,EAAE,wBAAwB;IACxC,wBAAwB,EAAE,qCAAqC;CAChE,CAAC"}
|
|
@@ -21,7 +21,7 @@ export function computeNewStateRoot(metrics, state, block) {
|
|
|
21
21
|
verifySignatures: false,
|
|
22
22
|
// Preserve cache in source state, since the resulting state is not added to the state cache
|
|
23
23
|
dontTransferCache: true,
|
|
24
|
-
}, metrics);
|
|
24
|
+
}, { metrics });
|
|
25
25
|
const { attestations, syncAggregate, slashing } = postState.proposerRewards;
|
|
26
26
|
const proposerReward = BigInt(attestations + syncAggregate + slashing);
|
|
27
27
|
const hashTreeRootTimer = metrics?.stateHashTreeRootTime.startTimer({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeNewStateRoot.js","sourceRoot":"","sources":["../../../src/chain/produceBlock/computeNewStateRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAGnD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAuB,EACvB,KAAgC,EAChC,KAAuC;IAEvC,uGAAuG;IACvG,MAAM,aAAa,GAAG,EAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAC,CAAC;IAE7D,MAAM,SAAS,GAAG,eAAe,CAC/B,KAAK,EACL,aAAa,EACb;QACE,2FAA2F;QAC3F,sBAAsB,EAAE,sBAAsB,CAAC,KAAK;QACpD,yGAAyG;QACzG,mBAAmB,EAAE,mBAAmB,CAAC,SAAS;QAClD,uFAAuF;QACvF,eAAe,EAAE,KAAK;QACtB,8DAA8D;QAC9D,cAAc,EAAE,KAAK;QACrB,4EAA4E;QAC5E,gBAAgB,EAAE,KAAK;QACvB,4FAA4F;QAC5F,iBAAiB,EAAE,IAAI;KACxB,EACD,OAAO,
|
|
1
|
+
{"version":3,"file":"computeNewStateRoot.js","sourceRoot":"","sources":["../../../src/chain/produceBlock/computeNewStateRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAGnD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAuB,EACvB,KAAgC,EAChC,KAAuC;IAEvC,uGAAuG;IACvG,MAAM,aAAa,GAAG,EAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAC,CAAC;IAE7D,MAAM,SAAS,GAAG,eAAe,CAC/B,KAAK,EACL,aAAa,EACb;QACE,2FAA2F;QAC3F,sBAAsB,EAAE,sBAAsB,CAAC,KAAK;QACpD,yGAAyG;QACzG,mBAAmB,EAAE,mBAAmB,CAAC,SAAS;QAClD,uFAAuF;QACvF,eAAe,EAAE,KAAK;QACtB,8DAA8D;QAC9D,cAAc,EAAE,KAAK;QACrB,4EAA4E;QAC5E,gBAAgB,EAAE,KAAK;QACvB,4FAA4F;QAC5F,iBAAiB,EAAE,IAAI;KACxB,EACD,EAAC,OAAO,EAAC,CACV,CAAC;IAEF,MAAM,EAAC,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAC,GAAG,SAAS,CAAC,eAAe,CAAC;IAC1E,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,GAAG,aAAa,GAAG,QAAQ,CAAC,CAAC;IAEvE,MAAM,iBAAiB,GAAG,OAAO,EAAE,qBAAqB,CAAC,UAAU,CAAC;QAClE,MAAM,EAAE,uBAAuB,CAAC,mBAAmB;KACpD,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;IAC9C,iBAAiB,EAAE,EAAE,CAAC;IAEtB,OAAO,EAAC,YAAY,EAAE,cAAc,EAAC,CAAC;AACxC,CAAC"}
|
|
@@ -29,6 +29,7 @@ export declare class QueuedStateRegenerator implements IStateRegenerator {
|
|
|
29
29
|
private readonly blockStateCache;
|
|
30
30
|
private readonly checkpointStateCache;
|
|
31
31
|
private readonly metrics;
|
|
32
|
+
private readonly validatorMonitor;
|
|
32
33
|
private readonly logger;
|
|
33
34
|
constructor(modules: QueuedStateRegeneratorModules);
|
|
34
35
|
init(): Promise<void>;
|