@lodestar/beacon-node 1.51.0-dev.708700cdf6 → 1.51.0-dev.782eaff74d
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/api.js +1 -1
- package/lib/api/impl/api.js.map +1 -1
- package/lib/api/impl/beacon/blocks/index.d.ts +2 -1
- package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/blocks/index.js +12 -7
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/index.d.ts +2 -1
- package/lib/api/impl/beacon/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/index.js +2 -2
- package/lib/api/impl/beacon/index.js.map +1 -1
- package/lib/api/options.d.ts +2 -0
- package/lib/api/options.d.ts.map +1 -1
- package/lib/api/options.js +1 -0
- package/lib/api/options.js.map +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.js +54 -96
- package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
- package/lib/chain/blocks/importBlock.d.ts.map +1 -1
- package/lib/chain/blocks/importBlock.js +6 -5
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/chain.js +4 -4
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/regen/interface.d.ts +0 -1
- package/lib/chain/regen/interface.d.ts.map +1 -1
- package/lib/chain/regen/interface.js +0 -1
- package/lib/chain/regen/interface.js.map +1 -1
- package/lib/chain/validation/executionPayloadBid.d.ts +0 -15
- package/lib/chain/validation/executionPayloadBid.d.ts.map +1 -1
- package/lib/chain/validation/executionPayloadBid.js +0 -153
- package/lib/chain/validation/executionPayloadBid.js.map +1 -1
- package/lib/db/beacon.d.ts.map +1 -1
- package/lib/db/beacon.js +2 -0
- package/lib/db/beacon.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +3 -0
- package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
- package/lib/metrics/metrics/lodestar.js +5 -0
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +27 -18
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts.map +1 -1
- package/lib/sync/unknownBlock.js +42 -18
- package/lib/sync/unknownBlock.js.map +1 -1
- package/package.json +15 -15
- package/src/api/impl/api.ts +1 -1
- package/src/api/impl/beacon/blocks/index.ts +22 -17
- package/src/api/impl/beacon/index.ts +3 -1
- package/src/api/options.ts +3 -0
- package/src/chain/archiveStore/utils/archiveBlocks.ts +64 -126
- package/src/chain/blocks/importBlock.ts +8 -7
- package/src/chain/chain.ts +4 -4
- package/src/chain/regen/interface.ts +0 -1
- package/src/chain/validation/executionPayloadBid.ts +0 -180
- package/src/db/beacon.ts +5 -0
- package/src/index.ts +2 -0
- package/src/metrics/metrics/lodestar.ts +5 -0
- package/src/network/processor/gossipHandlers.ts +35 -20
- package/src/sync/unknownBlock.ts +47 -28
package/lib/api/impl/api.js
CHANGED
|
@@ -9,7 +9,7 @@ import { getProofApi } from "./proof/index.js";
|
|
|
9
9
|
import { getValidatorApi } from "./validator/index.js";
|
|
10
10
|
export function getApi(opts, modules) {
|
|
11
11
|
return {
|
|
12
|
-
beacon: getBeaconApi(modules),
|
|
12
|
+
beacon: getBeaconApi(opts, modules),
|
|
13
13
|
config: getConfigApi(modules),
|
|
14
14
|
debug: getDebugApi(modules),
|
|
15
15
|
events: getEventsApi(modules),
|
package/lib/api/impl/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/impl/api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,MAAM,UAAU,MAAM,CAAC,IAAgB,EAAE,OAAmB;IAC1D,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/impl/api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,MAAM,UAAU,MAAM,CAAC,IAAgB,EAAE,OAAmB;IAC1D,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;QACnC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;QAC7B,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC;QAC3B,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;QAC7B,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC;QACvC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;QAC/B,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;QACjC,SAAS,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;KAC1C,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { routes } from "@lodestar/api";
|
|
2
2
|
import { ApplicationMethods } from "@lodestar/api/server";
|
|
3
|
+
import { ApiOptions } from "../../../options.js";
|
|
3
4
|
import { ApiModules } from "../../types.js";
|
|
4
|
-
export declare function getBeaconBlockApi({ chain, config, metrics, network, db
|
|
5
|
+
export declare function getBeaconBlockApi(opts: ApiOptions, { chain, config, metrics, network, db }: Pick<ApiModules, "chain" | "config" | "metrics" | "network" | "db">): ApplicationMethods<routes.beacon.block.Endpoints>;
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAW,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAgFlE,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAiB1C,wBAAgB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAW,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAgFlE,OAAO,EAAC,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAiB1C,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAC,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,GACzG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CA2tCnD"}
|
|
@@ -14,7 +14,7 @@ import { BlockError, BlockErrorCode, BlockGossipError, EnvelopeReconstructionErr
|
|
|
14
14
|
import { BlockType, } from "../../../../chain/produceBlock/index.js";
|
|
15
15
|
import { RegenCaller } from "../../../../chain/regen/index.js";
|
|
16
16
|
import { validateGossipBlock, verifyBlockProposerSignature } from "../../../../chain/validation/block.js";
|
|
17
|
-
import {
|
|
17
|
+
import { validateGossipExecutionPayloadBid } from "../../../../chain/validation/executionPayloadBid.js";
|
|
18
18
|
import { validateApiExecutionPayloadEnvelope } from "../../../../chain/validation/executionPayloadEnvelope.js";
|
|
19
19
|
import { OpSource } from "../../../../chain/validatorMonitor.js";
|
|
20
20
|
import { computePreFuluKzgCommitmentsInclusionProof, getBlobSidecars, kzgCommitmentToVersionedHash, reconstructBlobs, } from "../../../../util/blobs.js";
|
|
@@ -33,7 +33,7 @@ const MAX_API_CLOCK_DISPARITY_MS = 1000;
|
|
|
33
33
|
* PeerID of identity keypair to signal self for score reporting
|
|
34
34
|
*/
|
|
35
35
|
const IDENTITY_PEER_ID = ""; // TODO: Compute identity keypair
|
|
36
|
-
export function getBeaconBlockApi({ chain, config, metrics, network, db
|
|
36
|
+
export function getBeaconBlockApi(opts, { chain, config, metrics, network, db }) {
|
|
37
37
|
const publishBlockV2 = async ({ signedBlockContents, broadcastValidation, builderUrl }, context, opts = {}) => {
|
|
38
38
|
const seenTimestampSec = Date.now() / 1000;
|
|
39
39
|
const signedBlock = signedBlockContents.signedBlock;
|
|
@@ -835,13 +835,18 @@ export function getBeaconBlockApi({ chain, config, metrics, network, db, }) {
|
|
|
835
835
|
if (!isForkPostGloas(fork)) {
|
|
836
836
|
throw new ApiError(400, `publishExecutionPayloadBid not supported for pre-gloas fork=${fork}`);
|
|
837
837
|
}
|
|
838
|
-
const validationTimer = metrics?.opPool.executionPayloadBidPool.apiValidationTime.startTimer();
|
|
839
|
-
// TODO: once the builder is tested and can be trusted, skip this local validation
|
|
840
|
-
// to publish faster, accepting peer-score risk if it ever emits an invalid bid.
|
|
841
|
-
await validateApiExecutionPayloadBid(chain, signedExecutionPayloadBid);
|
|
842
|
-
validationTimer?.();
|
|
843
838
|
const elapsedSec = chain.clock.secFromSlot(slot, seenTimestampSec);
|
|
844
839
|
metrics?.gossipExecutionPayloadBid.elapsedTimeTillReceived.observe({ source: OpSource.api }, elapsedSec);
|
|
840
|
+
if (!opts.disableBidValidation) {
|
|
841
|
+
const validationTimer = metrics?.opPool.executionPayloadBidPool.apiValidationTime.startTimer();
|
|
842
|
+
const { proposerIndex } = await validateGossipExecutionPayloadBid(chain, signedExecutionPayloadBid);
|
|
843
|
+
validationTimer?.();
|
|
844
|
+
// Gossip does not deliver our own messages back to us, so a validated bid is added to the
|
|
845
|
+
// pool here to allow a proposer on this node to select it
|
|
846
|
+
const insertOutcome = chain.executionPayloadBidPool.add(signedExecutionPayloadBid, Math.floor(elapsedSec * 1000));
|
|
847
|
+
metrics?.opPool.executionPayloadBidPool.apiInsertOutcome.inc({ insertOutcome });
|
|
848
|
+
chain.validatorMonitor?.registerExecutionPayloadBid(OpSource.api, proposerIndex, bid);
|
|
849
|
+
}
|
|
845
850
|
const sentPeers = await network.publishSignedExecutionPayloadBid(signedExecutionPayloadBid);
|
|
846
851
|
chain.emitter.emit(routes.events.EventType.executionPayloadBid, {
|
|
847
852
|
version: fork,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/blocks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { routes } from "@lodestar/api";
|
|
2
2
|
import { ApplicationMethods } from "@lodestar/api/server";
|
|
3
|
+
import { ApiOptions } from "../../options.js";
|
|
3
4
|
import { ApiModules } from "../types.js";
|
|
4
|
-
export declare function getBeaconApi(modules: Pick<ApiModules, "chain" | "config" | "logger" | "metrics" | "network" | "db" | "sync">): ApplicationMethods<routes.beacon.Endpoints>;
|
|
5
|
+
export declare function getBeaconApi(opts: ApiOptions, modules: Pick<ApiModules, "chain" | "config" | "logger" | "metrics" | "network" | "db" | "sync">): ApplicationMethods<routes.beacon.Endpoints>;
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/beacon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/beacon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAIxD,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAMvC,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC,GAC/F,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAmC7C"}
|
|
@@ -6,8 +6,8 @@ import { getBeaconBlockApi } from "./blocks/index.js";
|
|
|
6
6
|
import { getBeaconPoolApi } from "./pool/index.js";
|
|
7
7
|
import { getBeaconRewardsApi } from "./rewards/index.js";
|
|
8
8
|
import { getBeaconStateApi } from "./state/index.js";
|
|
9
|
-
export function getBeaconApi(modules) {
|
|
10
|
-
const block = getBeaconBlockApi(modules);
|
|
9
|
+
export function getBeaconApi(opts, modules) {
|
|
10
|
+
const block = getBeaconBlockApi(opts, modules);
|
|
11
11
|
const pool = getBeaconPoolApi(modules);
|
|
12
12
|
const state = getBeaconStateApi(modules);
|
|
13
13
|
const rewards = getBeaconRewardsApi(modules);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/beacon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/beacon/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAEnD,MAAM,UAAU,YAAY,CAC1B,IAAgB,EAChB,OAAgG;IAEhG,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAE7C,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAEhC,OAAO;QACL,GAAG,KAAK;QACR,GAAG,IAAI;QACP,GAAG,KAAK;QACR,GAAG,OAAO;QAEV,KAAK,CAAC,UAAU;YACd,OAAO;gBACL,IAAI,EAAE;oBACJ,kBAAkB,EAAE,MAAM,CAAC,oBAAoB;oBAC/C,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;iBACnD;aACF,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,EAAC,IAAI,EAAE,aAAa,EAAC;YAChD,gHAAgH;YAChH,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/F,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,4DAA4D,IAAI,EAAE,CAAC,CAAC;YAC9F,CAAC;YAED,MAAM,WAAW,GAAG,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1G,OAAO,EAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,EAAC,CAAC;QACpD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/lib/api/options.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { BeaconRestApiServerOpts } from "./rest/index.js";
|
|
2
2
|
export type ApiOptions = {
|
|
3
3
|
maxGindicesInProof?: number;
|
|
4
|
+
/** Broadcast execution payload bids submitted via the API without running gossip validation */
|
|
5
|
+
disableBidValidation?: boolean;
|
|
4
6
|
rest: BeaconRestApiServerOpts;
|
|
5
7
|
commit?: string;
|
|
6
8
|
version?: string;
|
package/lib/api/options.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/api/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAA0B,MAAM,iBAAiB,CAAC;AAEjF,MAAM,MAAM,UAAU,GAAG;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/api/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAA0B,MAAM,iBAAiB,CAAC;AAEjF,MAAM,MAAM,UAAU,GAAG;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+FAA+F;IAC/F,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,UAM/B,CAAC"}
|
package/lib/api/options.js
CHANGED
package/lib/api/options.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/api/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/api/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;AAYjF,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,kBAAkB,EAAE,GAAG;IACvB,oBAAoB,EAAE,KAAK;IAC3B,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;CACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiveBlocks.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/archiveBlocks.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,
|
|
1
|
+
{"version":3,"file":"archiveBlocks.d.ts","sourceRoot":"","sources":["../../../../src/chain/archiveStore/utils/archiveBlocks.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EACL,iBAAiB,EAEjB,WAAW,EAEX,UAAU,EAEX,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAyC,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAC,OAAO,EAAC,MAAM,6BAA6B,CAAC;AAIpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAU7D;;GAEG;AACH,oBAAY,wBAAwB;IAElC,UAAU,gBAAgB;IAE1B,WAAW,iBAAiB;CAC7B;AAmBD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,WAAW,EACvB,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,EAChD,MAAM,EAAE,MAAM,EACd,mBAAmB,EAAE,iBAAiB,EACtC,YAAY,EAAE,KAAK,EACnB,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,YAAY,EAAE,OAAO,EACrB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,qBAAqB,CAAC,EAAE,OAAO,EAC/B,wBAAwB,CAAC,EAAE,MAAM,EACjC,cAAc,UAAO,GACpB,OAAO,CAAC,IAAI,CAAC,CA+Nf;AA8GD;;;;;;;GAOG;AACH,wBAAsB,+CAA+C,CACnE,MAAM,EAAE,eAAe,EACvB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,UAAU,EAAE,EAC7B,cAAc,EAAE,OAAO,GACtB,OAAO,CAAC,IAAI,EAAE,CAAC,CAmDjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAC,IAAI,EAAE,IAAI,CAAA;CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CA+C/E"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { ExecutionStatus, PayloadStatus } from "@lodestar/fork-choice";
|
|
2
|
+
import { ExecutionStatus, PayloadStatus, isGloasBlock, } from "@lodestar/fork-choice";
|
|
3
3
|
import { ForkSeq, SLOTS_PER_EPOCH } from "@lodestar/params";
|
|
4
4
|
import { computeEpochAtSlot, computeStartSlotAtEpoch, getBlobDataRetentionStartEpoch } from "@lodestar/state-transition";
|
|
5
|
-
import {
|
|
5
|
+
import { fromHex, prettyPrintIndices, toRootHex } from "@lodestar/utils";
|
|
6
6
|
import { encodeArchivedHeaderEnvelope } from "../../../db/repositories/index.js";
|
|
7
7
|
import { ensureDir, writeIfNotExist } from "../../../util/file.js";
|
|
8
8
|
import { toSignedHeaderEnvelope } from "../../../util/headerEnvelope.js";
|
|
@@ -90,16 +90,6 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
|
|
|
90
90
|
const migratedEntries = await migrateBlobSidecarsFromHotToColdDb(config, db, logger, finalizedCanonicalBlockRoots, currentEpoch);
|
|
91
91
|
logger.verbose("Migrated blobSidecars from hot DB to cold DB", { ...logCtx, migratedEntries });
|
|
92
92
|
}
|
|
93
|
-
// Keep the normal LevelDB hot-to-cold flow for legacy columns. New columns are written
|
|
94
|
-
// directly to flat files, so this only moves fallback data left by older versions.
|
|
95
|
-
if (finalizedPostFulu) {
|
|
96
|
-
const migratedSlots = await migrateDataColumnSidecarsFromHotToColdDb(config, db, logger, finalizedCanonicalBlocks, currentEpoch);
|
|
97
|
-
logger.verbose("Migrated legacy dataColumnSidecars from hot DB to cold DB", {
|
|
98
|
-
...logCtx,
|
|
99
|
-
migratedEntries: migratedSlots.length,
|
|
100
|
-
slotRange: prettyPrintIndices(migratedSlots),
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
93
|
if (finalizedPostGloas) {
|
|
104
94
|
const migratedSlots = await migrateExecutionPayloadEnvelopesFromHotToColdDb(config, db, logger, finalizedCanonicalBlocks, dedupePayloads);
|
|
105
95
|
logger.verbose("Migrated executionPayloadEnvelopes from hot DB to cold DB", {
|
|
@@ -109,38 +99,31 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
|
|
|
109
99
|
});
|
|
110
100
|
}
|
|
111
101
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
if (
|
|
117
|
-
|
|
118
|
-
await Promise.all(nonCanonicalBlockRoots.map(async (root, index) => {
|
|
119
|
-
const block = finalizedNonCanonicalBlocks[index];
|
|
120
|
-
const blockBytes = await db.block.getBinary(root);
|
|
121
|
-
const blockLogCtx = { slot: block.slot, root: block.blockRoot };
|
|
122
|
-
if (blockBytes) {
|
|
123
|
-
await persistOrphanedBlock(block.slot, block.blockRoot, blockBytes, {
|
|
124
|
-
persistOrphanedBlocksDir: persistOrphanedBlocksDir ?? "orphaned_blocks",
|
|
125
|
-
});
|
|
126
|
-
logger.verbose("Persisted orphaned block", { ...logCtx, ...blockLogCtx });
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
logger.warn("Tried to persist orphaned block but no block found", { ...logCtx, ...blockLogCtx });
|
|
130
|
-
}
|
|
131
|
-
}));
|
|
102
|
+
const canonicalRoots = new Set(finalizedCanonicalBlocks.map((block) => block.blockRoot));
|
|
103
|
+
const orphanedBlocks = [];
|
|
104
|
+
const orphanedPayloads = [];
|
|
105
|
+
for (const block of finalizedNonCanonicalBlocks) {
|
|
106
|
+
if (block.payloadStatus === PayloadStatus.FULL) {
|
|
107
|
+
orphanedPayloads.push(block);
|
|
132
108
|
}
|
|
133
|
-
|
|
134
|
-
|
|
109
|
+
// Every Gloas block gets EMPTY before FULL. If only FULL survives pruning, an earlier archive run
|
|
110
|
+
// already handled the root's block-level data.
|
|
111
|
+
const isBlockNode = !isGloasBlock(block) || block.payloadStatus === PayloadStatus.EMPTY;
|
|
112
|
+
if (isBlockNode && !canonicalRoots.has(block.blockRoot)) {
|
|
113
|
+
orphanedBlocks.push(block);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const orphanedBlockRoots = orphanedBlocks.map((block) => fromHex(block.blockRoot));
|
|
117
|
+
if (orphanedPayloads.length > 0) {
|
|
118
|
+
const orphanedPayloadRoots = orphanedPayloads.map((block) => fromHex(block.blockRoot));
|
|
119
|
+
const orphanedPayloadLogCtx = {
|
|
135
120
|
...logCtx,
|
|
136
|
-
count:
|
|
137
|
-
slotRange: prettyPrintIndices(
|
|
121
|
+
count: orphanedPayloads.length,
|
|
122
|
+
slotRange: prettyPrintIndices(orphanedPayloads.map((block) => block.slot).sort((a, b) => a - b)),
|
|
138
123
|
};
|
|
139
|
-
const columnItems =
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
.filter((summary) => config.getForkSeq(summary.slot) >= ForkSeq.fulu && summary.payloadStatus === PayloadStatus.FULL)
|
|
143
|
-
.map((summary) => ({ slot: summary.slot, blockRoot: summary.blockRoot }));
|
|
124
|
+
const columnItems = orphanedPayloads
|
|
125
|
+
.filter((block) => config.getForkSeq(block.slot) >= ForkSeq.fulu)
|
|
126
|
+
.map((block) => ({ slot: block.slot, blockRoot: block.blockRoot }));
|
|
144
127
|
if (columnItems.length > 0) {
|
|
145
128
|
// Delete sidecars first so their block roots remain available to retry cleanup after a failure or crash.
|
|
146
129
|
await db.dataColumns.deleteMany(columnItems);
|
|
@@ -150,17 +133,39 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
|
|
|
150
133
|
slotRange: prettyPrintIndices(columnItems.map(({ slot }) => slot).sort((a, b) => a - b)),
|
|
151
134
|
});
|
|
152
135
|
}
|
|
153
|
-
await db.block.batchDelete(nonCanonicalBlockRoots);
|
|
154
|
-
logger.verbose("Deleted non canonical blocks from hot DB", nonCanonicalLogCtx);
|
|
155
136
|
if (finalizedPostDeneb) {
|
|
156
|
-
await db.blobSidecars.batchDelete(
|
|
157
|
-
logger.verbose("Deleted non canonical blobSidecars from hot DB",
|
|
137
|
+
await db.blobSidecars.batchDelete(orphanedPayloadRoots);
|
|
138
|
+
logger.verbose("Deleted non canonical blobSidecars from hot DB", orphanedPayloadLogCtx);
|
|
158
139
|
}
|
|
159
140
|
if (finalizedPostGloas) {
|
|
160
|
-
await db.executionPayloadEnvelope.batchDelete(
|
|
161
|
-
logger.verbose("Deleted non canonical executionPayloadEnvelopes from hot DB",
|
|
141
|
+
await db.executionPayloadEnvelope.batchDelete(orphanedPayloadRoots);
|
|
142
|
+
logger.verbose("Deleted non canonical executionPayloadEnvelopes from hot DB", orphanedPayloadLogCtx);
|
|
162
143
|
}
|
|
163
144
|
}
|
|
145
|
+
if (orphanedBlocks.length > 0) {
|
|
146
|
+
if (persistOrphanedBlocks) {
|
|
147
|
+
// Persist orphaned blocks to disk before deleting them from hot db
|
|
148
|
+
await Promise.all(orphanedBlocks.map(async (block) => {
|
|
149
|
+
const blockBytes = await db.block.getBinary(fromHex(block.blockRoot));
|
|
150
|
+
const blockLogCtx = { slot: block.slot, root: block.blockRoot };
|
|
151
|
+
if (blockBytes) {
|
|
152
|
+
await persistOrphanedBlock(block.slot, block.blockRoot, blockBytes, {
|
|
153
|
+
persistOrphanedBlocksDir: persistOrphanedBlocksDir ?? "orphaned_blocks",
|
|
154
|
+
});
|
|
155
|
+
logger.verbose("Persisted orphaned block", { ...logCtx, ...blockLogCtx });
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
logger.debug("Tried to persist orphaned block but no block found", { ...logCtx, ...blockLogCtx });
|
|
159
|
+
}
|
|
160
|
+
}));
|
|
161
|
+
}
|
|
162
|
+
await db.block.batchDelete(orphanedBlockRoots);
|
|
163
|
+
logger.verbose("Deleted non canonical blocks from hot DB", {
|
|
164
|
+
...logCtx,
|
|
165
|
+
count: orphanedBlocks.length,
|
|
166
|
+
slotRange: prettyPrintIndices(orphanedBlocks.map((block) => block.slot).sort((a, b) => a - b)),
|
|
167
|
+
});
|
|
168
|
+
}
|
|
164
169
|
// Delete expired blobs
|
|
165
170
|
// Keep only `[current_epoch - max(MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS, archiveDataEpochs)]`
|
|
166
171
|
// if archiveDataEpochs set to Infinity do not prune`
|
|
@@ -210,9 +215,9 @@ export async function archiveBlocks(config, db, forkChoice, lightclientServer, l
|
|
|
210
215
|
logger.verbose("dataColumnSidecars pruning skipped: archiveDataEpochs set to Infinity", logCtx);
|
|
211
216
|
}
|
|
212
217
|
}
|
|
213
|
-
//
|
|
218
|
+
// Pruning potential checkpoint data
|
|
214
219
|
const finalizedCanonicalNonCheckpointBlocks = getNonCheckpointBlocks(finalizedCanonicalBlockRoots);
|
|
215
|
-
const nonCheckpointBlockRoots = [...
|
|
220
|
+
const nonCheckpointBlockRoots = [...orphanedBlockRoots];
|
|
216
221
|
for (const block of finalizedCanonicalNonCheckpointBlocks) {
|
|
217
222
|
nonCheckpointBlockRoots.push(block.root);
|
|
218
223
|
}
|
|
@@ -310,53 +315,6 @@ async function migrateBlobSidecarsFromHotToColdDb(config, db, logger, blocks, cu
|
|
|
310
315
|
}
|
|
311
316
|
return migratedWrappedBlobSidecars;
|
|
312
317
|
}
|
|
313
|
-
// TODO: This function can be simplified further by reducing layers of promises in a loop
|
|
314
|
-
/**
|
|
315
|
-
* Post-gloas the data columns of a Gloas block are tied to its execution payload envelope.
|
|
316
|
-
* Columns only exist once the FULL variant of the block is in the proto-array. Pre-Gloas
|
|
317
|
-
* blocks only have a FULL variant, so the payload-status filter passes them all.
|
|
318
|
-
*/
|
|
319
|
-
async function migrateDataColumnSidecarsFromHotToColdDb(config, db, logger, canonicalBlocks, currentEpoch) {
|
|
320
|
-
const columnBlocks = canonicalBlocks.filter((block) => config.getForkSeq(block.slot) < ForkSeq.gloas || block.payloadStatus === PayloadStatus.FULL);
|
|
321
|
-
if (columnBlocks.length === 0)
|
|
322
|
-
return [];
|
|
323
|
-
const blocks = columnBlocks.map((block) => ({ slot: block.slot, root: fromHex(block.blockRoot) }));
|
|
324
|
-
const migratedSlots = [];
|
|
325
|
-
for (let i = 0; i < blocks.length; i += BLOB_SIDECAR_BATCH_SIZE) {
|
|
326
|
-
const toIdx = Math.min(i + BLOB_SIDECAR_BATCH_SIZE, blocks.length);
|
|
327
|
-
const batch = blocks.slice(i, toIdx);
|
|
328
|
-
if (batch.length === 0)
|
|
329
|
-
break;
|
|
330
|
-
const promises = [];
|
|
331
|
-
for (const block of batch) {
|
|
332
|
-
const blockEpoch = computeEpochAtSlot(block.slot);
|
|
333
|
-
if (config.getForkSeq(block.slot) < ForkSeq.fulu ||
|
|
334
|
-
blockEpoch < getBlobDataRetentionStartEpoch(config, currentEpoch)) {
|
|
335
|
-
continue;
|
|
336
|
-
}
|
|
337
|
-
const dataColumnSidecarBytes = await fromAsync(db.dataColumnSidecar.valuesStreamBinary(block.root));
|
|
338
|
-
if (dataColumnSidecarBytes.length === 0) {
|
|
339
|
-
logger.debug("DataColumnSidecars in forkchoice but missing in hot db, could be already archived", {
|
|
340
|
-
slot: block.slot,
|
|
341
|
-
root: toRootHex(block.root),
|
|
342
|
-
});
|
|
343
|
-
continue;
|
|
344
|
-
}
|
|
345
|
-
logger.verbose("Migrated legacy dataColumnSidecars for block", {
|
|
346
|
-
currentEpoch,
|
|
347
|
-
slot: block.slot,
|
|
348
|
-
root: toRootHex(block.root),
|
|
349
|
-
numSidecars: dataColumnSidecarBytes.length,
|
|
350
|
-
});
|
|
351
|
-
promises.push(db.dataColumnSidecarArchive.putManyBinary(block.slot, dataColumnSidecarBytes.map((entry) => ({ key: entry.id, value: entry.value }))));
|
|
352
|
-
migratedSlots.push(block.slot);
|
|
353
|
-
}
|
|
354
|
-
await Promise.all(promises);
|
|
355
|
-
await db.dataColumnSidecar.deleteMany(batch.map((block) => block.root));
|
|
356
|
-
}
|
|
357
|
-
// Ancestor walk is newest to oldest; sort ascending so `prettyPrintIndices` renders cleanly.
|
|
358
|
-
return migratedSlots.sort((a, b) => a - b);
|
|
359
|
-
}
|
|
360
318
|
/**
|
|
361
319
|
* Post-gloas given a finalized checkpoint at a block root, payload of that block root
|
|
362
320
|
* is not considered finalized, hence they are archived in the next run.
|