@lodestar/beacon-node 1.34.0-dev.61783cf265 → 1.34.0-dev.684db9fff1
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.js +3 -5
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +5 -5
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.js +9 -4
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/debug/index.js +2 -2
- package/lib/api/impl/debug/index.js.map +1 -1
- package/lib/api/impl/validator/index.js +29 -23
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/impl/validator/utils.d.ts +3 -3
- package/lib/api/impl/validator/utils.js +2 -2
- package/lib/api/impl/validator/utils.js.map +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.js +19 -20
- package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
- package/lib/chain/blocks/utils/zebraBanner.d.ts +2 -0
- package/lib/chain/blocks/utils/zebraBanner.js +45 -0
- package/lib/chain/blocks/utils/zebraBanner.js.map +1 -0
- package/lib/chain/blocks/verifyBlock.js +18 -5
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js +7 -34
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/chain.js +28 -20
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/forkChoice/index.d.ts +2 -1
- package/lib/chain/forkChoice/index.js +2 -2
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js +13 -3
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/attestationPool.d.ts +1 -1
- package/lib/chain/opPools/attestationPool.js +7 -7
- package/lib/chain/prepareNextSlot.js +2 -1
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/validation/aggregateAndProof.d.ts +1 -1
- package/lib/chain/validation/aggregateAndProof.js +8 -8
- package/lib/chain/validation/aggregateAndProof.js.map +1 -1
- package/lib/chain/validation/attestation.d.ts +3 -3
- package/lib/chain/validation/attestation.js +10 -10
- package/lib/chain/validation/attestation.js.map +1 -1
- package/lib/chain/validation/dataColumnSidecar.d.ts +2 -1
- package/lib/chain/validation/dataColumnSidecar.js +17 -8
- package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
- package/lib/db/beacon.d.ts +3 -3
- package/lib/db/beacon.js +3 -3
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/interface.d.ts +3 -3
- package/lib/db/repositories/dataColumnSidecar.d.ts +26 -0
- package/lib/db/repositories/dataColumnSidecar.js +39 -0
- package/lib/db/repositories/dataColumnSidecar.js.map +1 -0
- package/lib/db/repositories/dataColumnSidecarArchive.d.ts +24 -0
- package/lib/db/repositories/dataColumnSidecarArchive.js +39 -0
- package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -0
- package/lib/db/repositories/index.d.ts +2 -2
- package/lib/db/repositories/index.js +2 -2
- package/lib/db/repositories/index.js.map +1 -1
- package/lib/execution/engine/http.js +10 -5
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/mock.d.ts +4 -1
- package/lib/execution/engine/mock.js +54 -16
- package/lib/execution/engine/mock.js.map +1 -1
- package/lib/execution/engine/types.d.ts +3 -3
- package/lib/execution/engine/types.js.map +1 -1
- package/lib/metrics/metrics/beacon.d.ts +1 -23
- package/lib/metrics/metrics/beacon.js +5 -61
- package/lib/metrics/metrics/beacon.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +5 -0
- package/lib/metrics/metrics/lodestar.js +14 -0
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/metrics/metrics.d.ts +2 -1
- package/lib/metrics/metrics.js +3 -0
- package/lib/metrics/metrics.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +620 -92
- package/lib/network/interface.d.ts +3 -3
- package/lib/network/network.d.ts +3 -3
- package/lib/network/network.js +1 -1
- package/lib/network/network.js.map +1 -1
- package/lib/network/options.js +2 -2
- package/lib/network/peers/discover.js +1 -1
- package/lib/network/peers/discover.js.map +1 -1
- package/lib/network/peers/peerManager.js +9 -6
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts +2 -1
- package/lib/network/peers/utils/prioritizePeers.js +5 -5
- package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +13 -13
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +7 -2
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +4 -4
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -3
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts +2 -2
- package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +2 -2
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js +2 -3
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +3 -3
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +55 -46
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +2 -2
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +43 -35
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/index.js +4 -3
- package/lib/network/reqresp/handlers/index.js.map +1 -1
- package/lib/network/reqresp/rateLimit.js +11 -5
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/network/reqresp/types.d.ts +3 -3
- package/lib/network/reqresp/types.js +3 -3
- package/lib/network/reqresp/types.js.map +1 -1
- package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts +14 -0
- package/lib/network/reqresp/utils/dataColumnResponseValidation.js +56 -0
- package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -0
- package/lib/sync/unknownBlock.d.ts +44 -3
- package/lib/sync/unknownBlock.js +272 -193
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/util/dataColumns.d.ts +3 -3
- package/lib/util/dataColumns.js +30 -26
- package/lib/util/dataColumns.js.map +1 -1
- package/lib/util/sszBytes.d.ts +2 -0
- package/lib/util/sszBytes.js +23 -0
- package/lib/util/sszBytes.js.map +1 -1
- package/lib/util/types.d.ts +7 -0
- package/lib/util/types.js +3 -0
- package/lib/util/types.js.map +1 -1
- package/package.json +17 -18
- package/lib/db/repositories/dataColumnSidecars.d.ts +0 -47
- package/lib/db/repositories/dataColumnSidecars.js +0 -40
- package/lib/db/repositories/dataColumnSidecars.js.map +0 -1
- package/lib/db/repositories/dataColumnSidecarsArchive.d.ts +0 -15
- package/lib/db/repositories/dataColumnSidecarsArchive.js +0 -23
- package/lib/db/repositories/dataColumnSidecarsArchive.js.map +0 -1
|
@@ -13,10 +13,10 @@ export declare function computeSubnetForCommitteesAtSlot(slot: Slot, committeesA
|
|
|
13
13
|
* See benchmark -> packages/beacon-node/test/perf/api/impl/validator/attester.test.ts
|
|
14
14
|
*/
|
|
15
15
|
export declare function getPubkeysForIndices(validators: BeaconStateAllForks["validators"], indexes: ValidatorIndex[]): BLSPubkey[];
|
|
16
|
-
export declare function selectBlockProductionSource({ builderSelection,
|
|
16
|
+
export declare function selectBlockProductionSource({ builderSelection, engineExecutionPayloadValue, builderExecutionPayloadValue, builderBoostFactor, }: {
|
|
17
17
|
builderSelection: routes.validator.BuilderSelection;
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
engineExecutionPayloadValue: bigint;
|
|
19
|
+
builderExecutionPayloadValue: bigint;
|
|
20
20
|
builderBoostFactor: bigint;
|
|
21
21
|
}): BlockSelectionResult;
|
|
22
22
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -32,7 +32,7 @@ export function getPubkeysForIndices(validators, indexes) {
|
|
|
32
32
|
}
|
|
33
33
|
return pubkeys;
|
|
34
34
|
}
|
|
35
|
-
export function selectBlockProductionSource({ builderSelection,
|
|
35
|
+
export function selectBlockProductionSource({ builderSelection, engineExecutionPayloadValue, builderExecutionPayloadValue, builderBoostFactor, }) {
|
|
36
36
|
switch (builderSelection) {
|
|
37
37
|
case routes.validator.BuilderSelection.ExecutionAlways:
|
|
38
38
|
case routes.validator.BuilderSelection.ExecutionOnly:
|
|
@@ -45,7 +45,7 @@ export function selectBlockProductionSource({ builderSelection, engineBlockValue
|
|
|
45
45
|
if (builderBoostFactor === MAX_BUILDER_BOOST_FACTOR) {
|
|
46
46
|
return { source: ProducedBlockSource.builder, reason: BuilderBlockSelectionReason.BuilderPreferred };
|
|
47
47
|
}
|
|
48
|
-
if (
|
|
48
|
+
if (engineExecutionPayloadValue >= (builderExecutionPayloadValue * builderBoostFactor) / BigInt(100)) {
|
|
49
49
|
return { source: ProducedBlockSource.engine, reason: EngineBlockSelectionReason.BlockValue };
|
|
50
50
|
}
|
|
51
51
|
return { source: ProducedBlockSource.builder, reason: BuilderBlockSelectionReason.BlockValue };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/api/impl/validator/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,wBAAwB,EAAC,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAsB,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAA4B,mBAAmB,EAAiC,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAuB,2BAA2B,EAAE,0BAA0B,EAAC,MAAM,YAAY,CAAC;AAEzG,MAAM,UAAU,gCAAgC,CAC9C,IAAU,EACV,gBAAwB,EACxB,cAA8B;IAE9B,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,yBAAyB,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;IAC1E,OAAO,CAAC,yBAAyB,GAAG,cAAc,CAAC,GAAG,wBAAwB,CAAC;AACjF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAA6C,EAC7C,OAAyB;IAEzB,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,2BAA2B;IAEpE,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,kBAAkB,KAAK,sCAAsC,aAAa,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,0FAA0F;QAC1F,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAC1C,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/api/impl/validator/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,wBAAwB,EAAC,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAsB,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAA4B,mBAAmB,EAAiC,MAAM,iBAAiB,CAAC;AAC/G,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAuB,2BAA2B,EAAE,0BAA0B,EAAC,MAAM,YAAY,CAAC;AAEzG,MAAM,UAAU,gCAAgC,CAC9C,IAAU,EACV,gBAAwB,EACxB,cAA8B;IAE9B,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,yBAAyB,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;IAC1E,OAAO,CAAC,yBAAyB,GAAG,cAAc,CAAC,GAAG,wBAAwB,CAAC;AACjF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAA6C,EAC7C,OAAyB;IAEzB,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,2BAA2B;IAEpE,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,kBAAkB,KAAK,sCAAsC,aAAa,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,0FAA0F;QAC1F,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAC1C,gBAAgB,EAChB,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,GAMnB;IACC,QAAQ,gBAAgB,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,eAAe,CAAC;QACvD,KAAK,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa;YAClD,OAAO,EAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,0BAA0B,CAAC,eAAe,EAAC,CAAC;QAElG,KAAK,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAC/C,KAAK,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;YACjD,IAAI,kBAAkB,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,OAAO,EAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,0BAA0B,CAAC,eAAe,EAAC,CAAC;YAClG,CAAC;YAED,IAAI,kBAAkB,KAAK,wBAAwB,EAAE,CAAC;gBACpD,OAAO,EAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,2BAA2B,CAAC,gBAAgB,EAAC,CAAC;YACrG,CAAC;YAED,IAAI,2BAA2B,IAAI,CAAC,4BAA4B,GAAG,kBAAkB,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrG,OAAO,EAAC,MAAM,EAAE,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,0BAA0B,CAAC,UAAU,EAAC,CAAC;YAC7F,CAAC;YAED,OAAO,EAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,2BAA2B,CAAC,UAAU,EAAC,CAAC;QAC/F,CAAC;QAED,KAAK,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAC;QACrD,KAAK,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW;YAChD,OAAO,EAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,2BAA2B,CAAC,gBAAgB,EAAC,CAAC;IACvG,CAAC;AACH,CAAC"}
|
|
@@ -83,7 +83,7 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
|
|
|
83
83
|
logger.verbose("Deleted non canonical blobSidecars from hot DB");
|
|
84
84
|
}
|
|
85
85
|
if (finalizedPostFulu) {
|
|
86
|
-
await db.
|
|
86
|
+
await db.dataColumnSidecar.deleteMany(nonCanonicalBlockRoots);
|
|
87
87
|
logger.verbose("Deleted non canonical dataColumnSidecars from hot DB");
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -116,11 +116,11 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
|
|
|
116
116
|
const dataColumnSidecarsArchiveWindow = Math.max(config.MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS, archiveDataEpochs ?? 0);
|
|
117
117
|
const dataColumnSidecarsMinEpoch = currentEpoch - dataColumnSidecarsArchiveWindow;
|
|
118
118
|
if (dataColumnSidecarsMinEpoch >= config.FULU_FORK_EPOCH) {
|
|
119
|
-
const slotsToDelete = await db.
|
|
120
|
-
lt: computeStartSlotAtEpoch(dataColumnSidecarsMinEpoch),
|
|
121
|
-
});
|
|
119
|
+
const slotsToDelete = (await db.dataColumnSidecarArchive.keys({
|
|
120
|
+
lt: db.dataColumnSidecarArchive.getMaxKeyRaw(computeStartSlotAtEpoch(dataColumnSidecarsMinEpoch)),
|
|
121
|
+
})).map((p) => p.prefix);
|
|
122
122
|
if (slotsToDelete.length > 0) {
|
|
123
|
-
await db.
|
|
123
|
+
await db.dataColumnSidecarArchive.deleteMany(slotsToDelete);
|
|
124
124
|
logger.verbose(`dataColumnSidecars prune: batchDelete range ${slotsToDelete[0]}..${slotsToDelete.at(-1)}`);
|
|
125
125
|
}
|
|
126
126
|
else {
|
|
@@ -220,6 +220,7 @@ async function migrateBlobSidecarsFromHotToColdDb(config, db, blocks, currentEpo
|
|
|
220
220
|
}
|
|
221
221
|
return migratedWrappedBlobSidecars;
|
|
222
222
|
}
|
|
223
|
+
// TODO: This function can be simplified further by reducing layers of promises in a loop
|
|
223
224
|
async function migrateDataColumnSidecarsFromHotToColdDb(config, db, blocks, currentEpoch) {
|
|
224
225
|
let migratedWrappedDataColumns = 0;
|
|
225
226
|
for (let i = 0; i < blocks.length; i += BLOB_SIDECAR_BATCH_SIZE) {
|
|
@@ -228,28 +229,26 @@ async function migrateDataColumnSidecarsFromHotToColdDb(config, db, blocks, curr
|
|
|
228
229
|
// processCanonicalBlocks
|
|
229
230
|
if (canonicalBlocks.length === 0)
|
|
230
231
|
break;
|
|
232
|
+
const promises = [];
|
|
231
233
|
// load Buffer instead of ssz deserialized to improve performance
|
|
232
|
-
const
|
|
233
|
-
.filter((block) => {
|
|
234
|
+
for (const block of canonicalBlocks) {
|
|
234
235
|
const blockSlot = block.slot;
|
|
235
236
|
const blockEpoch = computeEpochAtSlot(blockSlot);
|
|
236
|
-
|
|
237
|
+
if (config.getForkSeq(blockSlot) < ForkSeq.fulu ||
|
|
237
238
|
// if block is out of ${config.MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS}, skip this step
|
|
238
|
-
blockEpoch
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
const
|
|
242
|
-
if (!
|
|
239
|
+
blockEpoch < currentEpoch - config.MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS) {
|
|
240
|
+
continue;
|
|
241
|
+
}
|
|
242
|
+
const dataColumnSidecarBytes = await db.dataColumnSidecar.valuesBinary(block.root);
|
|
243
|
+
if (!dataColumnSidecarBytes) {
|
|
243
244
|
throw Error(`No dataColumnSidecars found for slot ${block.slot} root ${toHex(block.root)}`);
|
|
244
245
|
}
|
|
245
|
-
|
|
246
|
-
|
|
246
|
+
promises.push(db.dataColumnSidecarArchive.putManyBinary(block.slot, dataColumnSidecarBytes.map((p) => ({ key: p.id, value: p.value }))));
|
|
247
|
+
migratedWrappedDataColumns += dataColumnSidecarBytes.length;
|
|
248
|
+
}
|
|
249
|
+
promises.push(db.dataColumnSidecar.deleteMany(canonicalBlocks.map((block) => block.root)));
|
|
247
250
|
// put to blockArchive db and delete block db
|
|
248
|
-
await Promise.all(
|
|
249
|
-
db.dataColumnSidecarsArchive.batchPutBinary(canonicalDataColumnSidecarsEntries),
|
|
250
|
-
db.dataColumnSidecars.batchDelete(canonicalBlocks.map((block) => block.root)),
|
|
251
|
-
]);
|
|
252
|
-
migratedWrappedDataColumns += canonicalDataColumnSidecarsEntries.length;
|
|
251
|
+
await Promise.all(promises);
|
|
253
252
|
}
|
|
254
253
|
return migratedWrappedDataColumns;
|
|
255
254
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiveBlocks.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/archiveBlocks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"archiveBlocks.js","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/archiveBlocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export const FULU_ZEBRA_BANNER = String.raw `
|
|
2
|
+
|
|
3
|
+
@
|
|
4
|
+
------------ @---@
|
|
5
|
+
----------@--@@-@@@@ @-----@
|
|
6
|
+
------@@@@@@@@-@-@@@@@@@-@@@-----@--@@--
|
|
7
|
+
------@@@@@@@@@--@@@@@@@@@@----@@@@@@@@--@---
|
|
8
|
+
----@@@@@@@@@@---DA---@@@@@@@--@---@@@@@@@--@--
|
|
9
|
+
----@@@@@@@@@---DAT---DA---@@@@@--@-@--@@@@@@--
|
|
10
|
+
-------@@@@@@@@@@@@@---DAT--DAT---@@@@--@---@@@@@-
|
|
11
|
+
----@@@@@@@@@@@@@@@--DATA---DAT--DATAD@@-@--@--@@@@--
|
|
12
|
+
---@@@@@@@@@@@@@@--DAT---DATA---DAT-DATAD@@@--@@--@@@--@--
|
|
13
|
+
-@@@@@@@@@@@--DATA----DAT---DAT--DAT-DA-DAT@@@@--@@-@-@-@---
|
|
14
|
+
---@@@@@@@@@@@@---DAT----DAT---DAT-DAT-DAT-DA-@-@@-@---@-@-@--
|
|
15
|
+
---@@@@@@@@@@-DAT----DAT----DAT--DAT-DAT--DA-DA-@--@--@--@-@-@-@-
|
|
16
|
+
--@--@@@@@@@@@@@--DAT----DATA--DATA-DAT-DAT--DA-DA-@@--@--@--@-@@-@-@
|
|
17
|
+
---@@@@@@@-@@-DATA---DATA---DAT--DATA-DAT--DA--DA-DA--@--@-@@-@-@--@-@-@
|
|
18
|
+
--@@@@@@@-@-DAT--DAT---DATA--DATA-DATA-DAT--DAT-DA-DA--@-@----------@-@-@-
|
|
19
|
+
--------@@@@@@@@@-@--DAT--DAT--DATA--DATA--DAT--DAT-DAT-DA-DA-@--@-@-F-U-L-U---@-@-
|
|
20
|
+
---DAT--DATA-DATA--DAT-DA-DAT--DAT--DATA--DATA--DATA-DAT--DA-DA-D--@-@--@---------@@--@-
|
|
21
|
+
DATAD-DATAD-DATA--DAT-DA-DATA-DATA--DATA---DAT--DATA--DAT-D--D-DA-@@---@--@-----@@@@@--@-
|
|
22
|
+
DATA-DATADA-DATA-DAT-DA--DATA-DATA--DATAD--DATA--DAT--DAT-D-DA-DA-@---@--@-@-@------@@@-@-
|
|
23
|
+
DAT-DATADA--DATA-DA-DAT--DAT--DATA---DATA--DATA--DATA--DATA-DADA-DA--@-@--@@---@@@@---@@-@-
|
|
24
|
+
DA--DATADA--DATA-DA-DAT--DAT--DATA---DATA--DATAD-DATA--DAT-DADADA@-@@-@--@---@----@@@@--@-@-
|
|
25
|
+
D--DATADA--DATA-DA--DAT--DAT--DATA---DATA---DATA--DAT--DAT-DATADA-@@-@-@@--@@@@------@@--@@@-
|
|
26
|
+
---DATAD---DATA-DA-DAT---DAT---DAT---DATA---DATA--DATA-DA--DATAD-@@-@-@@--@@----@@@@---@@-@@@
|
|
27
|
+
--DATADA--DATA-DAT-DAT---DAT---DAT---DATAD--DATA--DATA-DA-DADADADA-@@-@@-@@---@@@@@@@----@-@@-
|
|
28
|
+
-DATADA--DATAD-DAT-DAT- -DAT---DAT--DATADA--DATAD--DAT-DA-D-DAD--@@@-@@@@@--@@@-------@@@@@-@@-
|
|
29
|
+
-DATAD--DATAD-DAT--DAT---DAT---DAT--DATADA--DATAD--DAT-D-DA-D- -@-@@@@-@@@@--@@@------@@@-@@-
|
|
30
|
+
DATAD--DATAD--DAT--DATA--DATA--DAT--DATADA--DATADA-DATAD-DA- --@@--@@@-@@@---@@@@@-@@@-@@-
|
|
31
|
+
DATA---DATA--DATA--DATA---DAT--DAT--DATADA---DATAD-DATA-D- --@@-@@--@@@@@--@@@-@@-@@
|
|
32
|
+
DAT---DATA---DATA--DATA---DATADATA---DATADA--DATAD-DATA- --@@--@@@---@@@@@@@@@@@-
|
|
33
|
+
DA---DATA---D--DA---DATA---DATADAT---DATADA--DATAD-DAT- --@@--@@---@@@@@@@@@@
|
|
34
|
+
D---DATA---DA--DAT---DATA---DATADAT---DATAD--DATADA-- --@@----@@@@@@@@@@@
|
|
35
|
+
---DATA--DATA--DATA---DATA---DATADAT--DATADA-DATAD- -@@@@@@@@@@@@@@@
|
|
36
|
+
--DATAD-DATA-DA-DATA---DATA---DATADAT--DATAD---D- -@@@@@@@@@@@@@-
|
|
37
|
+
--DATA-DATA-DAT--DATA---DATA---DATADAT--DATAD-- -@@@@@@@@@@@@-
|
|
38
|
+
DATAD-DATA--DATA--DATA---DATA---DATADA---DAT- -@@PEERDAS@-
|
|
39
|
+
DATA--DAT-DAT-DAT--DAT---DATAD----DATA-DAT- --@@@@@@-
|
|
40
|
+
DATA-DAT-DATA-DAT--DATA---DATAD----DAT-@- ----
|
|
41
|
+
DATADATADATADA-DAT---DAT---DATAD---DAT--
|
|
42
|
+
DATADATADATADA--DAT---DAT---DATAD---DA-
|
|
43
|
+
|
|
44
|
+
`;
|
|
45
|
+
//# sourceMappingURL=zebraBanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zebraBanner.js","sourceRoot":"","sources":["../../../../src/chain/blocks/utils/zebraBanner.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C1C,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ExecutionStatus } from "@lodestar/fork-choice";
|
|
2
|
-
import { ForkName } from "@lodestar/params";
|
|
2
|
+
import { ForkName, isForkPostFulu } from "@lodestar/params";
|
|
3
3
|
import { DataAvailabilityStatus, computeEpochAtSlot, isStateValidatorsNodesPopulated, } from "@lodestar/state-transition";
|
|
4
4
|
import { toRootHex } from "@lodestar/utils";
|
|
5
5
|
import { BlockError, BlockErrorCode } from "../errors/index.js";
|
|
@@ -9,6 +9,7 @@ import { DENEB_BLOWFISH_BANNER } from "./utils/blowfishBanner.js";
|
|
|
9
9
|
import { ELECTRA_GIRAFFE_BANNER } from "./utils/giraffeBanner.js";
|
|
10
10
|
import { CAPELLA_OWL_BANNER } from "./utils/ownBanner.js";
|
|
11
11
|
import { POS_PANDA_MERGE_TRANSITION_BANNER } from "./utils/pandaMergeTransitionBanner.js";
|
|
12
|
+
import { FULU_ZEBRA_BANNER } from "./utils/zebraBanner.js";
|
|
12
13
|
import { verifyBlocksDataAvailability } from "./verifyBlocksDataAvailability.js";
|
|
13
14
|
import { verifyBlocksExecutionPayload } from "./verifyBlocksExecutionPayloads.js";
|
|
14
15
|
import { verifyBlocksSignatures } from "./verifyBlocksSignatures.js";
|
|
@@ -97,11 +98,11 @@ export async function verifyBlocksInEpoch(parentBlock, blocksInput, opts) {
|
|
|
97
98
|
// TODO: Will this banner be logged during syncing?
|
|
98
99
|
logOnPowBlock(this.logger, this.config, segmentExecStatus.mergeBlockFound);
|
|
99
100
|
}
|
|
100
|
-
const
|
|
101
|
-
const
|
|
101
|
+
const fromForkBoundary = this.config.getForkBoundaryAtEpoch(computeEpochAtSlot(parentBlock.slot));
|
|
102
|
+
const toForkBoundary = this.config.getForkBoundaryAtEpoch(computeEpochAtSlot(lastBlock.message.slot));
|
|
102
103
|
// If transition through toFork, note won't happen if ${toFork}_EPOCH = 0, will log double on re-org
|
|
103
|
-
if (
|
|
104
|
-
switch (
|
|
104
|
+
if (toForkBoundary.fork !== fromForkBoundary.fork) {
|
|
105
|
+
switch (toForkBoundary.fork) {
|
|
105
106
|
case ForkName.capella:
|
|
106
107
|
this.logger.info(CAPELLA_OWL_BANNER);
|
|
107
108
|
this.logger.info("Activating withdrawals", { epoch: this.config.CAPELLA_FORK_EPOCH });
|
|
@@ -114,9 +115,21 @@ export async function verifyBlocksInEpoch(parentBlock, blocksInput, opts) {
|
|
|
114
115
|
this.logger.info(ELECTRA_GIRAFFE_BANNER);
|
|
115
116
|
this.logger.info("Activating maxEB", { epoch: this.config.ELECTRA_FORK_EPOCH });
|
|
116
117
|
break;
|
|
118
|
+
case ForkName.fulu:
|
|
119
|
+
this.logger.info(FULU_ZEBRA_BANNER);
|
|
120
|
+
this.logger.info("Activating peerDAS", { epoch: this.config.FULU_FORK_EPOCH });
|
|
121
|
+
break;
|
|
117
122
|
default:
|
|
118
123
|
}
|
|
119
124
|
}
|
|
125
|
+
if (isForkPostFulu(fromForkBoundary.fork)) {
|
|
126
|
+
const fromBlobParameters = this.config.getBlobParameters(fromForkBoundary.epoch);
|
|
127
|
+
const toBlobParameters = this.config.getBlobParameters(toForkBoundary.epoch);
|
|
128
|
+
if (toBlobParameters.epoch !== fromBlobParameters.epoch) {
|
|
129
|
+
const { epoch, maxBlobsPerBlock } = toBlobParameters;
|
|
130
|
+
this.logger.info("Activating BPO fork", { epoch, maxBlobsPerBlock });
|
|
131
|
+
}
|
|
132
|
+
}
|
|
120
133
|
}
|
|
121
134
|
if (segmentExecStatus.execAborted === null) {
|
|
122
135
|
const { executionStatuses, executionTime } = segmentExecStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifyBlock.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAa,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"verifyBlock.js","sourceRoot":"","sources":["../../../src/chain/blocks/verifyBlock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { ForkName,
|
|
2
|
-
import {
|
|
3
|
-
import { toRootHex } from "@lodestar/utils";
|
|
4
|
-
import { toHex } from "@lodestar/utils";
|
|
1
|
+
import { ForkName, isForkPostDeneb, isForkPostFulu } from "@lodestar/params";
|
|
2
|
+
import { toHex, toRootHex } from "@lodestar/utils";
|
|
5
3
|
import { BlockInputType } from "./types.js";
|
|
6
4
|
/**
|
|
7
5
|
* Persists block input data to DB. This operation must be eventually completed if a block is imported to the fork-choice.
|
|
@@ -38,38 +36,22 @@ export async function writeBlockInputToDb(blocksInput) {
|
|
|
38
36
|
// NOTE: Old data is pruned on archive
|
|
39
37
|
if (isForkPostFulu(blockData.fork)) {
|
|
40
38
|
const { custodyConfig } = this;
|
|
41
|
-
const {
|
|
39
|
+
const { custodyColumns } = custodyConfig;
|
|
42
40
|
const blobsLen = block.message.body.blobKzgCommitments.length;
|
|
43
41
|
let dataColumnsLen;
|
|
44
|
-
let dataColumnsIndex;
|
|
45
42
|
if (blobsLen === 0) {
|
|
46
43
|
dataColumnsLen = 0;
|
|
47
|
-
dataColumnsIndex = new Uint8Array(NUMBER_OF_COLUMNS);
|
|
48
44
|
}
|
|
49
45
|
else {
|
|
50
46
|
dataColumnsLen = custodyColumns.length;
|
|
51
|
-
dataColumnsIndex = custodyColumnsIndex;
|
|
52
47
|
}
|
|
53
48
|
const blockDataColumns = blockData.dataColumns;
|
|
54
49
|
const dataColumnSidecars = blockDataColumns.filter((dataColumnSidecar) => custodyColumns.includes(dataColumnSidecar.index));
|
|
55
50
|
if (dataColumnSidecars.length !== dataColumnsLen) {
|
|
56
51
|
throw Error(`Invalid dataColumnSidecars=${dataColumnSidecars.length} for custody expected custodyColumnsLen=${dataColumnsLen}`);
|
|
57
52
|
}
|
|
58
|
-
|
|
59
|
-
blobsLen * (ssz.fulu.Cell.fixedSize + ssz.deneb.KZGCommitment.fixedSize + ssz.deneb.KZGProof.fixedSize);
|
|
60
|
-
const slot = block.message.slot;
|
|
61
|
-
const writeData = {
|
|
62
|
-
blockRoot,
|
|
63
|
-
slot,
|
|
64
|
-
dataColumnsLen,
|
|
65
|
-
dataColumnsSize,
|
|
66
|
-
dataColumnsIndex,
|
|
67
|
-
dataColumnSidecars,
|
|
68
|
-
};
|
|
69
|
-
fnPromises.push(this.db.dataColumnSidecars.add(writeData));
|
|
53
|
+
fnPromises.push(this.db.dataColumnSidecar.putMany(blockRoot, dataColumnSidecars));
|
|
70
54
|
this.logger.debug("Persisted dataColumnSidecars to hot DB", {
|
|
71
|
-
dataColumnsSize,
|
|
72
|
-
dataColumnsLen,
|
|
73
55
|
dataColumnSidecars: dataColumnSidecars.length,
|
|
74
56
|
slot: block.message.slot,
|
|
75
57
|
root: blockRootHex,
|
|
@@ -114,22 +96,13 @@ export async function removeEagerlyPersistedBlockInputs(blockInputs) {
|
|
|
114
96
|
}
|
|
115
97
|
else {
|
|
116
98
|
const { custodyConfig } = this;
|
|
117
|
-
const {
|
|
99
|
+
const { custodyColumns } = custodyConfig;
|
|
118
100
|
const dataColumnsLen = custodyColumns.length;
|
|
119
101
|
const dataColumnSidecars = blockData.dataColumns.filter((dataColumnSidecar) => custodyColumns.includes(dataColumnSidecar.index));
|
|
120
102
|
if (dataColumnSidecars.length !== dataColumnsLen) {
|
|
121
103
|
throw Error(`Invalid dataColumnSidecars=${dataColumnSidecars.length} for custody expected custodyColumnsLen=${dataColumnsLen}`);
|
|
122
104
|
}
|
|
123
|
-
|
|
124
|
-
const dataColumnsSize = ssz.fulu.Cell.fixedSize * blobsLen;
|
|
125
|
-
dataColumnsToRemove.push({
|
|
126
|
-
blockRoot,
|
|
127
|
-
slot,
|
|
128
|
-
dataColumnsLen,
|
|
129
|
-
dataColumnsSize,
|
|
130
|
-
dataColumnsIndex,
|
|
131
|
-
dataColumnSidecars,
|
|
132
|
-
});
|
|
105
|
+
dataColumnsToRemove.push(blockRoot);
|
|
133
106
|
}
|
|
134
107
|
}
|
|
135
108
|
}
|
|
@@ -138,7 +111,7 @@ export async function removeEagerlyPersistedBlockInputs(blockInputs) {
|
|
|
138
111
|
// TODO: Batch DB operations not with Promise.all but with level db ops
|
|
139
112
|
this.db.block.batchRemove(blockToRemove),
|
|
140
113
|
this.db.blobSidecars.batchRemove(blobsToRemove),
|
|
141
|
-
this.db.
|
|
114
|
+
this.db.dataColumnSidecar.deleteMany(dataColumnsToRemove),
|
|
142
115
|
]);
|
|
143
116
|
}
|
|
144
117
|
//# sourceMappingURL=writeBlockInputToDb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeBlockInputToDb.js","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"writeBlockInputToDb.js","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"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"}
|
package/lib/chain/chain.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { PubkeyIndexMap } from "@chainsafe/pubkey-index-map";
|
|
3
3
|
import { ExecutionStatus, UpdateHeadOpt } from "@lodestar/fork-choice";
|
|
4
|
-
import {
|
|
5
|
-
import { computeAnchorCheckpoint, computeEndSlotAtEpoch, computeEpochAtSlot, computeStartSlotAtEpoch, createCachedBeaconState, getEffectiveBalanceIncrementsZeroInactive, isCachedBeaconState, processSlots, } from "@lodestar/state-transition";
|
|
4
|
+
import { EFFECTIVE_BALANCE_INCREMENT, GENESIS_SLOT, SLOTS_PER_EPOCH, isForkPostElectra } from "@lodestar/params";
|
|
5
|
+
import { computeAnchorCheckpoint, computeEndSlotAtEpoch, computeEpochAtSlot, computeStartSlotAtEpoch, createCachedBeaconState, getEffectiveBalanceIncrementsZeroInactive, getEffectiveBalancesFromStateBytes, isCachedBeaconState, processSlots, } from "@lodestar/state-transition";
|
|
6
6
|
import { isBlindedBeaconBlock, } from "@lodestar/types";
|
|
7
7
|
import { fromHex, gweiToWei, isErrorAborted, pruneSetToMax, sleep, toRootHex } from "@lodestar/utils";
|
|
8
|
-
import { getEffectiveBalancesFromStateBytes } from "@lodestar/state-transition";
|
|
9
8
|
import { GENESIS_EPOCH, ZERO_HASH } from "../constants/index.js";
|
|
10
9
|
import { BuilderStatus } from "../execution/builder/http.js";
|
|
11
10
|
import { computeNodeIdFromPrivateKey } from "../network/subnets/interface.js";
|
|
@@ -112,7 +111,7 @@ export class BeaconChain {
|
|
|
112
111
|
this.seenContributionAndProof = new SeenContributionAndProof(metrics);
|
|
113
112
|
this.seenAttestationDatas = new SeenAttestationDatas(metrics, this.opts?.attDataCacheSlotDistance);
|
|
114
113
|
const nodeId = computeNodeIdFromPrivateKey(privateKey);
|
|
115
|
-
const initialCustodyGroupCount = opts.initialCustodyGroupCount ?? (opts.supernode ? NUMBER_OF_CUSTODY_GROUPS : config.CUSTODY_REQUIREMENT);
|
|
114
|
+
const initialCustodyGroupCount = opts.initialCustodyGroupCount ?? (opts.supernode ? config.NUMBER_OF_CUSTODY_GROUPS : config.CUSTODY_REQUIREMENT);
|
|
116
115
|
this.metrics?.peerDas.targetCustodyGroupCount.set(initialCustodyGroupCount);
|
|
117
116
|
this.custodyConfig = new CustodyConfig({
|
|
118
117
|
nodeId,
|
|
@@ -185,7 +184,7 @@ export class BeaconChain {
|
|
|
185
184
|
blockStateCache.add(cachedState);
|
|
186
185
|
blockStateCache.setHeadState(cachedState);
|
|
187
186
|
checkpointStateCache.add(checkpoint, cachedState);
|
|
188
|
-
const forkChoice = initializeForkChoice(config, emitter, clock.currentSlot, cachedState, opts, this.justifiedBalancesGetter.bind(this), logger);
|
|
187
|
+
const forkChoice = initializeForkChoice(config, emitter, clock.currentSlot, cachedState, opts, this.justifiedBalancesGetter.bind(this), metrics, logger);
|
|
189
188
|
const regen = new QueuedStateRegenerator({
|
|
190
189
|
config,
|
|
191
190
|
forkChoice,
|
|
@@ -732,13 +731,6 @@ export class BeaconChain {
|
|
|
732
731
|
// syncContributionAndProofPool tracks metrics on its own
|
|
733
732
|
metrics.opPool.blsToExecutionChangePoolSize.set(this.opPool.blsToExecutionChangeSize);
|
|
734
733
|
metrics.chain.blacklistedBlocks.set(this.blacklistedBlocks.size);
|
|
735
|
-
const forkChoiceMetrics = this.forkChoice.getMetrics();
|
|
736
|
-
metrics.forkChoice.votes.set(forkChoiceMetrics.votes);
|
|
737
|
-
metrics.forkChoice.queuedAttestations.set(forkChoiceMetrics.queuedAttestations);
|
|
738
|
-
metrics.forkChoice.validatedAttestationDatas.set(forkChoiceMetrics.validatedAttestationDatas);
|
|
739
|
-
metrics.forkChoice.balancesLength.set(forkChoiceMetrics.balancesLength);
|
|
740
|
-
metrics.forkChoice.nodes.set(forkChoiceMetrics.nodes);
|
|
741
|
-
metrics.forkChoice.indices.set(forkChoiceMetrics.indices);
|
|
742
734
|
const headState = this.getHeadState();
|
|
743
735
|
const fork = this.config.getForkName(headState.slot);
|
|
744
736
|
if (isForkPostElectra(fork)) {
|
|
@@ -838,19 +830,35 @@ export class BeaconChain {
|
|
|
838
830
|
// of all custody groups regardless of validator effective balances
|
|
839
831
|
return;
|
|
840
832
|
}
|
|
841
|
-
// Update custody requirement based on finalized state
|
|
842
|
-
const stateOrBytes = (await this.getStateOrBytesByCheckpoint(finalizedCheckpoint))?.state;
|
|
843
|
-
if (!stateOrBytes) {
|
|
844
|
-
throw Error(`No finalized state for epoch ${finalizedCheckpoint.epoch} and root ${finalizedCheckpoint.rootHex} to update target custody group count`);
|
|
845
|
-
}
|
|
846
833
|
// Validators attached to the node
|
|
847
834
|
const validatorIndices = this.beaconProposerCache.getValidatorIndices();
|
|
835
|
+
// Update custody requirement based on finalized state
|
|
848
836
|
let effectiveBalances;
|
|
849
|
-
|
|
850
|
-
|
|
837
|
+
const effectiveBalanceIncrements = this.checkpointBalancesCache.get(finalizedCheckpoint);
|
|
838
|
+
if (effectiveBalanceIncrements) {
|
|
839
|
+
effectiveBalances = validatorIndices.map((index) => (effectiveBalanceIncrements[index] ?? 0) * EFFECTIVE_BALANCE_INCREMENT);
|
|
851
840
|
}
|
|
852
841
|
else {
|
|
853
|
-
|
|
842
|
+
// If there's no cached effective balances, get the state from disk and parse them out
|
|
843
|
+
this.logger.debug("No cached finalized effective balances to update target custody group count", {
|
|
844
|
+
finalizedEpoch: finalizedCheckpoint.epoch,
|
|
845
|
+
finalizedRoot: finalizedCheckpoint.rootHex,
|
|
846
|
+
});
|
|
847
|
+
const stateOrBytes = (await this.getStateOrBytesByCheckpoint(finalizedCheckpoint))?.state;
|
|
848
|
+
if (!stateOrBytes) {
|
|
849
|
+
// If even the state is not available, we cannot update the custody group count
|
|
850
|
+
this.logger.debug("No finalized state or bytes available to update target custody group count", {
|
|
851
|
+
finalizedEpoch: finalizedCheckpoint.epoch,
|
|
852
|
+
finalizedRoot: finalizedCheckpoint.rootHex,
|
|
853
|
+
});
|
|
854
|
+
return;
|
|
855
|
+
}
|
|
856
|
+
if (stateOrBytes instanceof Uint8Array) {
|
|
857
|
+
effectiveBalances = getEffectiveBalancesFromStateBytes(this.config, stateOrBytes, validatorIndices);
|
|
858
|
+
}
|
|
859
|
+
else {
|
|
860
|
+
effectiveBalances = validatorIndices.map((index) => stateOrBytes.validators.get(index).effectiveBalance ?? 0);
|
|
861
|
+
}
|
|
854
862
|
}
|
|
855
863
|
const targetCustodyGroupCount = getValidatorsCustodyRequirement(this.config, effectiveBalances);
|
|
856
864
|
// Only update if target is increased
|