@lodestar/beacon-node 1.51.0-dev.a877514e67 → 1.51.0-dev.aa1ecb7c18
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/validator/index.d.ts +6 -0
- package/lib/api/impl/validator/index.d.ts.map +1 -1
- package/lib/api/impl/validator/index.js +38 -25
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/blocks/importExecutionPayload.d.ts +2 -10
- package/lib/chain/blocks/importExecutionPayload.d.ts.map +1 -1
- package/lib/chain/blocks/importExecutionPayload.js +2 -14
- package/lib/chain/blocks/importExecutionPayload.js.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts +10 -7
- package/lib/chain/blocks/payloadEnvelopeProcessor.d.ts.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeProcessor.js +21 -16
- package/lib/chain/blocks/payloadEnvelopeProcessor.js.map +1 -1
- package/lib/chain/blocks/types.d.ts +4 -1
- package/lib/chain/blocks/types.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlock.js +17 -6
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.js +7 -5
- package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
- package/lib/chain/blocks/verifyPayloadsDataAvailability.d.ts.map +1 -1
- package/lib/chain/blocks/verifyPayloadsDataAvailability.js +1 -3
- package/lib/chain/blocks/verifyPayloadsDataAvailability.js.map +1 -1
- package/lib/chain/bls/interface.d.ts +2 -0
- package/lib/chain/bls/interface.d.ts.map +1 -1
- package/lib/chain/bls/multithread/index.d.ts.map +1 -1
- package/lib/chain/bls/multithread/index.js +8 -6
- package/lib/chain/bls/multithread/index.js.map +1 -1
- package/lib/chain/errors/executionPayloadEnvelope.d.ts +7 -0
- package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
- package/lib/chain/errors/executionPayloadEnvelope.js +1 -0
- package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
- package/lib/chain/validation/executionPayloadEnvelope.d.ts +6 -0
- package/lib/chain/validation/executionPayloadEnvelope.d.ts.map +1 -1
- package/lib/chain/validation/executionPayloadEnvelope.js +53 -0
- package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
- package/lib/db/flatFileStore/flatFileStore.js +5 -5
- package/lib/db/flatFileStore/flatFileStore.js.map +1 -1
- package/lib/db/flatFileStore/slotIndex.d.ts.map +1 -1
- package/lib/db/flatFileStore/slotIndex.js +2 -2
- package/lib/db/flatFileStore/slotIndex.js.map +1 -1
- package/lib/execution/builder/apiClient.d.ts +14 -8
- package/lib/execution/builder/apiClient.d.ts.map +1 -1
- package/lib/execution/builder/apiClient.js +12 -10
- package/lib/execution/builder/apiClient.js.map +1 -1
- package/lib/execution/builder/http.d.ts +2 -0
- package/lib/execution/builder/http.d.ts.map +1 -1
- package/lib/execution/builder/http.js +2 -0
- package/lib/execution/builder/http.js.map +1 -1
- package/lib/execution/engine/utils.d.ts.map +1 -1
- package/lib/execution/engine/utils.js +3 -2
- package/lib/execution/engine/utils.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +1 -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/metrics/server/http.js +5 -5
- package/lib/metrics/server/http.js.map +1 -1
- package/lib/network/gossip/gossipsub.d.ts +1 -0
- package/lib/network/gossip/gossipsub.d.ts.map +1 -1
- package/lib/network/gossip/gossipsub.js +10 -0
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/libp2p/index.d.ts.map +1 -1
- package/lib/network/libp2p/index.js +5 -1
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/network.d.ts +2 -1
- package/lib/network/network.d.ts.map +1 -1
- package/lib/network/network.js +42 -17
- package/lib/network/network.js.map +1 -1
- package/lib/network/options.d.ts +2 -0
- package/lib/network/options.d.ts.map +1 -1
- package/lib/network/options.js.map +1 -1
- package/lib/network/peers/peerManager.d.ts.map +1 -1
- package/lib/network/peers/peerManager.js +28 -1
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts +4 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.js +8 -16
- package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +24 -14
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/index.d.ts +6 -0
- package/lib/network/processor/index.d.ts.map +1 -1
- package/lib/network/processor/index.js +29 -3
- package/lib/network/processor/index.js.map +1 -1
- package/lib/node/nodejs.d.ts +2 -0
- package/lib/node/nodejs.d.ts.map +1 -1
- package/lib/node/nodejs.js +37 -19
- package/lib/node/nodejs.js.map +1 -1
- package/lib/node/options.d.ts +3 -1
- package/lib/node/options.d.ts.map +1 -1
- package/lib/node/options.js +4 -2
- package/lib/node/options.js.map +1 -1
- package/lib/util/file.d.ts.map +1 -1
- package/lib/util/file.js +8 -9
- package/lib/util/file.js.map +1 -1
- package/lib/util/sszBytes.d.ts +5 -0
- package/lib/util/sszBytes.d.ts.map +1 -1
- package/lib/util/sszBytes.js +33 -0
- package/lib/util/sszBytes.js.map +1 -1
- package/package.json +16 -16
- package/src/api/impl/validator/index.ts +43 -29
- package/src/chain/blocks/importExecutionPayload.ts +2 -20
- package/src/chain/blocks/payloadEnvelopeProcessor.ts +32 -21
- package/src/chain/blocks/types.ts +4 -1
- package/src/chain/blocks/verifyBlock.ts +30 -16
- package/src/chain/blocks/verifyBlocksSignatures.ts +7 -5
- package/src/chain/blocks/verifyPayloadsDataAvailability.ts +1 -3
- package/src/chain/bls/interface.ts +2 -0
- package/src/chain/bls/multithread/index.ts +9 -5
- package/src/chain/errors/executionPayloadEnvelope.ts +8 -0
- package/src/chain/validation/executionPayloadEnvelope.ts +68 -1
- package/src/db/flatFileStore/flatFileStore.ts +7 -7
- package/src/db/flatFileStore/slotIndex.ts +4 -3
- package/src/execution/builder/apiClient.ts +16 -13
- package/src/execution/builder/http.ts +4 -0
- package/src/execution/engine/utils.ts +4 -2
- package/src/metrics/metrics/lodestar.ts +5 -0
- package/src/metrics/server/http.ts +5 -5
- package/src/network/gossip/gossipsub.ts +11 -0
- package/src/network/libp2p/index.ts +5 -1
- package/src/network/network.ts +40 -21
- package/src/network/options.ts +2 -0
- package/src/network/peers/peerManager.ts +27 -2
- package/src/network/peers/utils/prioritizePeers.ts +14 -22
- package/src/network/processor/gossipHandlers.ts +29 -16
- package/src/network/processor/index.ts +25 -3
- package/src/node/nodejs.ts +34 -15
- package/src/node/options.ts +5 -1
- package/src/util/file.ts +8 -9
- package/src/util/sszBytes.ts +40 -0
|
@@ -3,6 +3,12 @@ import { ApplicationMethods } from "@lodestar/api/server";
|
|
|
3
3
|
import { ProducedBlockSource } from "@lodestar/types";
|
|
4
4
|
import { ApiOptions } from "../../options.js";
|
|
5
5
|
import { ApiModules } from "../types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Post-gloas cutoff, kept at 1667 BPS (2 seconds for 12s slots) for now.
|
|
8
|
+
*
|
|
9
|
+
* TODO GLOAS: revisit, the block propagates faster as it only commits to a bid and the attestation deadline changed
|
|
10
|
+
*/
|
|
11
|
+
export declare const BLOCK_PRODUCTION_RACE_CUTOFF_GLOAS_BPS = 1667;
|
|
6
12
|
/**
|
|
7
13
|
* Engine block selection reasons tracked in metrics / logs
|
|
8
14
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAmCxD,OAAO,EAQL,mBAAmB,EAUpB,MAAM,iBAAiB,CAAC;AAmDzB,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAmCxD,OAAO,EAQL,mBAAmB,EAUpB,MAAM,iBAAiB,CAAC;AAmDzB,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAmBvC;;;;GAIG;AACH,eAAO,MAAM,sCAAsC,OAAO,CAAC;AA8D3D;;GAEG;AACH,oBAAY,0BAA0B;IACpC,eAAe,qBAAqB;IACpC,YAAY,kBAAkB;IAC9B,cAAc,oBAAoB;IAClC,cAAc,oBAAoB;IAClC,YAAY,mBAAmB;IAC/B,qBAAqB,4BAA4B;IACjD,iBAAiB,uBAAuB;IACxC,UAAU,gBAAgB;IAC1B,eAAe,qBAAqB;CACrC;AAED;;GAEG;AACH,oBAAY,2BAA2B;IACrC,cAAc,oBAAoB;IAClC,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;IAChC,UAAU,gBAAgB;IAC1B,gBAAgB,sBAAsB;CACvC;AAED,MAAM,MAAM,oBAAoB,GAC5B;IACE,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,0BAA0B,CAAC;CACpC,GACD;IACE,MAAM,EAAE,mBAAmB,CAAC,OAAO,CAAC;IACpC,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAEN;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,EAAE,UAAU,GAC1D,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAsnEhD"}
|
|
@@ -16,7 +16,7 @@ import { validateApiAggregateAndProof, validateGossipInclusionList, } from "../.
|
|
|
16
16
|
import { validateGossipProposerPreferences } from "../../../chain/validation/proposerPreferences.js";
|
|
17
17
|
import { validateSyncCommitteeGossipContributionAndProof } from "../../../chain/validation/syncCommitteeContributionAndProof.js";
|
|
18
18
|
import { ZERO_HASH } from "../../../constants/index.js";
|
|
19
|
-
import {
|
|
19
|
+
import { decodeBuilderUrl } from "../../../execution/builder/apiClient.js";
|
|
20
20
|
import { BuilderStatus, NoBidReceived } from "../../../execution/builder/http.js";
|
|
21
21
|
import { getBuilderBidTotalGwei, validateBuilderApiExecutionPayloadBid } from "../../../execution/builder/validateBid.js";
|
|
22
22
|
import { validateGossipFnRetryUnknownRoot } from "../../../network/processor/gossipHandlers.js";
|
|
@@ -36,10 +36,14 @@ import { computeSubnetForCommitteesAtSlot, getPubkeysForIndices, selectBlockProd
|
|
|
36
36
|
* A cutoff of 1667 BPS (2 seconds for 12s slots) gives enough time and if there are unexpected delays
|
|
37
37
|
* it ensures we publish in time as proposals after the attestation deadline will likely be orphaned
|
|
38
38
|
* due to proposer boost reorg.
|
|
39
|
-
*
|
|
40
|
-
* TODO GLOAS: re-evaluate cutoff timing due to attestation deadline changes in gloas
|
|
41
39
|
*/
|
|
42
40
|
const BLOCK_PRODUCTION_RACE_CUTOFF_BPS = 1667;
|
|
41
|
+
/**
|
|
42
|
+
* Post-gloas cutoff, kept at 1667 BPS (2 seconds for 12s slots) for now.
|
|
43
|
+
*
|
|
44
|
+
* TODO GLOAS: revisit, the block propagates faster as it only commits to a bid and the attestation deadline changed
|
|
45
|
+
*/
|
|
46
|
+
export const BLOCK_PRODUCTION_RACE_CUTOFF_GLOAS_BPS = 1667;
|
|
43
47
|
/** Rejection message of the bid block branch when there is no viable bid to commit to */
|
|
44
48
|
const NO_BID_AVAILABLE = "No builder bid available";
|
|
45
49
|
/**
|
|
@@ -712,31 +716,43 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
|
|
|
712
716
|
const builderBidExpected = builderConfig.builders.length > 0 ||
|
|
713
717
|
(!circuitBreakerActive &&
|
|
714
718
|
chain.executionPayloadBidPool.getBestBid(slot, bidParentBlockHash, parentBlockRootHex) !== null);
|
|
715
|
-
//
|
|
716
|
-
//
|
|
717
|
-
const
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
logger.info("Best p2p bid below configured minimum", {
|
|
725
|
-
slot,
|
|
726
|
-
bidValue: prettyGweiToEth(p2pBid.signedBid.message.value),
|
|
727
|
-
minBid: prettyGweiToEth(builderConfig.minBid),
|
|
728
|
-
});
|
|
729
|
-
return null;
|
|
730
|
-
}
|
|
731
|
-
return p2pBid;
|
|
732
|
-
});
|
|
719
|
+
// Calculate cutoff time based on start of the slot, ensures a slow local payload build does
|
|
720
|
+
// not delay the proposal when a builder bid block is available (and vice versa)
|
|
721
|
+
const cutoffMs = Math.max(0, config.getSlotComponentDurationMs(fork, BLOCK_PRODUCTION_RACE_CUTOFF_GLOAS_BPS) - chain.clock.msFromSlot(slot));
|
|
722
|
+
// Give p2p bids the same time to bid up as granted to builder API bid requests via the advertised
|
|
723
|
+
// deadline, the pool is read once the deadline passed and the bid requests settled. A late request
|
|
724
|
+
// does not wait past the race cutoff, a pooled bid is still the fastest fallback if the local block fails
|
|
725
|
+
const bidDeadlinePromise = circuitBreakerActive
|
|
726
|
+
? Promise.resolve()
|
|
727
|
+
: sleep(Math.min(chain.builderApiClient.bidDeadline, cutoffMs));
|
|
733
728
|
// Candidates are ranked by their boosted counted total payment, the p2p bid is governed
|
|
734
729
|
// by the top-level factors and each builder API bid by its own entry. Ties prefer the
|
|
735
730
|
// earliest received builder API bid, so the signed block can be routed back to its
|
|
736
731
|
// builder directly.
|
|
737
732
|
const bestBidPromise = (async () => {
|
|
738
|
-
|
|
733
|
+
// Past the race cutoff a pooled p2p bid is used right away rather than waiting for pending
|
|
734
|
+
// builder API requests, the local block is selected at the cutoff anyway if it is ready
|
|
735
|
+
let [builderApiBids] = await Promise.all([
|
|
736
|
+
Promise.race([builderApiBidsPromise, sleep(cutoffMs).then(() => null)]),
|
|
737
|
+
bidDeadlinePromise,
|
|
738
|
+
]);
|
|
739
739
|
let parentExecutionRequestsPromise = null;
|
|
740
|
+
let p2pBid = circuitBreakerActive
|
|
741
|
+
? null
|
|
742
|
+
: chain.executionPayloadBidPool.getBestBid(slot, bidParentBlockHash, parentBlockRootHex);
|
|
743
|
+
// Discard p2p bids below the proposer's configured floor on the total payment.
|
|
744
|
+
// A p2p bid's total is just its value since gossip validation enforces executionPayment=0.
|
|
745
|
+
if (p2pBid !== null && BigInt(p2pBid.signedBid.message.value) < builderConfig.minBid) {
|
|
746
|
+
logger.info("Best p2p bid below configured minimum", {
|
|
747
|
+
slot,
|
|
748
|
+
bidValue: prettyGweiToEth(p2pBid.signedBid.message.value),
|
|
749
|
+
minBid: prettyGweiToEth(builderConfig.minBid),
|
|
750
|
+
});
|
|
751
|
+
p2pBid = null;
|
|
752
|
+
}
|
|
753
|
+
if (builderApiBids === null) {
|
|
754
|
+
builderApiBids = p2pBid !== null ? [] : await builderApiBidsPromise;
|
|
755
|
+
}
|
|
740
756
|
const candidates = (await Promise.all(builderApiBids.map(async ({ url, entry, signedBid, receivedMs }) => {
|
|
741
757
|
try {
|
|
742
758
|
await validateBuilderApiExecutionPayloadBid(chain, signedBid, {
|
|
@@ -812,9 +828,6 @@ export function getValidatorApi(opts, { chain, config, logger, metrics, network,
|
|
|
812
828
|
const t = metrics?.blockProductionTime.startTimer();
|
|
813
829
|
return fn().finally(() => t?.({ source }));
|
|
814
830
|
};
|
|
815
|
-
// Calculate cutoff time based on start of the slot, ensures a slow local payload build does
|
|
816
|
-
// not delay the proposal when a builder bid block is available (and vice versa)
|
|
817
|
-
const cutoffMs = Math.max(0, config.getSlotComponentDurationMs(fork, BLOCK_PRODUCTION_RACE_CUTOFF_BPS) - chain.clock.msFromSlot(slot));
|
|
818
831
|
// use abort controller to stop waiting for the bid block if the engine block will be selected
|
|
819
832
|
const controller = new AbortController();
|
|
820
833
|
const enginePromise = timed(ProducedBlockSource.engine, () => chain.produceBlock(baseAttrs)).then((engineBlock) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,8 @@ export declare class PayloadError extends Error {
|
|
|
46
46
|
* are applied on the next block via processParentExecutionPayload.
|
|
47
47
|
*
|
|
48
48
|
* The DA wait must have run upstream (range sync awaits DA in `verifyBlocksInEpoch` for the
|
|
49
|
-
* whole segment; gossip / API path
|
|
49
|
+
* whole segment; the gossip / API / unknown-payload sync path waits in `PayloadEnvelopeProcessor`
|
|
50
|
+
* before the import is queued).
|
|
50
51
|
*
|
|
51
52
|
* Steps:
|
|
52
53
|
* 1. Emit `execution_payload_available` event for payload attestation
|
|
@@ -60,13 +61,4 @@ export declare class PayloadError extends Error {
|
|
|
60
61
|
* 9. Emit `execution_payload` event
|
|
61
62
|
*/
|
|
62
63
|
export declare function importExecutionPayload(this: BeaconChain, payloadInput: PayloadEnvelopeInput, dataAvailabilityStatus: DataAvailabilityStatus, opts?: ImportPayloadOpts): Promise<void>;
|
|
63
|
-
/**
|
|
64
|
-
* Process an execution payload envelope end-to-end: wait for DA, then import.
|
|
65
|
-
*
|
|
66
|
-
* Used by the PayloadEnvelopeProcessor queue (gossip / API / unknown-payload sync) — i.e.
|
|
67
|
-
* callers that have NOT already awaited DA themselves. Range sync's inline dispatch in
|
|
68
|
-
* processBlocks skips this wrapper and calls `importExecutionPayload` directly, since
|
|
69
|
-
* `verifyBlocksInEpoch` already awaited DA for the segment.
|
|
70
|
-
*/
|
|
71
|
-
export declare function processExecutionPayload(this: BeaconChain, payloadInput: PayloadEnvelopeInput, signal: AbortSignal, opts?: ImportPayloadOpts): Promise<void>;
|
|
72
64
|
//# sourceMappingURL=importExecutionPayload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importExecutionPayload.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/importExecutionPayload.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,sBAAsB,EAIvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAGhE,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAExC,OAAO,EAAC,oBAAoB,EAAC,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"importExecutionPayload.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/importExecutionPayload.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,sBAAsB,EAIvB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAGhE,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAExC,OAAO,EAAC,oBAAoB,EAAC,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAQ7C,oBAAY,gBAAgB;IAC1B,wBAAwB,2CAA2C;IACnE,sBAAsB,yCAAyC;IAC/D,wBAAwB,2CAA2C;IACnE,gBAAgB,mCAAmC;IACnD,2BAA2B,8CAA8C;IACzE,iBAAiB,oCAAoC;IACrD,gBAAgB,mCAAmC;CACpD;AAED,MAAM,MAAM,gBAAgB,GACxB;IACE,IAAI,EAAE,gBAAgB,CAAC,wBAAwB,CAAC;IAChD,UAAU,EAAE,sBAAsB,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,sBAAsB,CAAC;IAC9C,UAAU,EAAE,sBAAsB,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,wBAAwB,CAAC;IAChD,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC;CACtB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,2BAA2B,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,iBAAiB,CAAC;CAC1C,GACD;IACE,IAAI,EAAE,gBAAgB,CAAC,gBAAgB,CAAC;CACzC,CAAC;AAEN,qBAAa,YAAa,SAAQ,KAAK;IAEnC,QAAQ,CAAC,YAAY,EAAE,oBAAoB;IAC3C,QAAQ,CAAC,IAAI,EAAE,gBAAgB;IAFjC,YACW,YAAY,EAAE,oBAAoB,EAClC,IAAI,EAAE,gBAAgB,EAC/B,OAAO,CAAC,EAAE,MAAM,EAGjB;CACF;AAcD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,oBAAoB,EAClC,sBAAsB,EAAE,sBAAsB,EAC9C,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAoQf"}
|
|
@@ -9,7 +9,6 @@ import { isQueueErrorAborted } from "../../util/queue/index.js";
|
|
|
9
9
|
import { RegenCaller } from "../regen/interface.js";
|
|
10
10
|
import { PayloadEnvelopeInputSource } from "./payloadEnvelopeInput/index.js";
|
|
11
11
|
import { verifyExecutionPayloadEnvelope, verifyExecutionPayloadEnvelopeSignature, } from "./verifyExecutionPayloadEnvelope.js";
|
|
12
|
-
import { verifyPayloadsDataAvailability } from "./verifyPayloadsDataAvailability.js";
|
|
13
12
|
const EVENTSTREAM_EMIT_RECENT_EXECUTION_PAYLOAD_SLOTS = 64;
|
|
14
13
|
export var PayloadErrorCode;
|
|
15
14
|
(function (PayloadErrorCode) {
|
|
@@ -48,7 +47,8 @@ function toForkChoiceExecutionStatus(status) {
|
|
|
48
47
|
* are applied on the next block via processParentExecutionPayload.
|
|
49
48
|
*
|
|
50
49
|
* The DA wait must have run upstream (range sync awaits DA in `verifyBlocksInEpoch` for the
|
|
51
|
-
* whole segment; gossip / API path
|
|
50
|
+
* whole segment; the gossip / API / unknown-payload sync path waits in `PayloadEnvelopeProcessor`
|
|
51
|
+
* before the import is queued).
|
|
52
52
|
*
|
|
53
53
|
* Steps:
|
|
54
54
|
* 1. Emit `execution_payload_available` event for payload attestation
|
|
@@ -259,16 +259,4 @@ export async function importExecutionPayload(payloadInput, dataAvailabilityStatu
|
|
|
259
259
|
delaySec,
|
|
260
260
|
});
|
|
261
261
|
}
|
|
262
|
-
/**
|
|
263
|
-
* Process an execution payload envelope end-to-end: wait for DA, then import.
|
|
264
|
-
*
|
|
265
|
-
* Used by the PayloadEnvelopeProcessor queue (gossip / API / unknown-payload sync) — i.e.
|
|
266
|
-
* callers that have NOT already awaited DA themselves. Range sync's inline dispatch in
|
|
267
|
-
* processBlocks skips this wrapper and calls `importExecutionPayload` directly, since
|
|
268
|
-
* `verifyBlocksInEpoch` already awaited DA for the segment.
|
|
269
|
-
*/
|
|
270
|
-
export async function processExecutionPayload(payloadInput, signal, opts = {}) {
|
|
271
|
-
const { dataAvailabilityStatuses } = await verifyPayloadsDataAvailability(this.config, [payloadInput], signal);
|
|
272
|
-
await importExecutionPayload.call(this, payloadInput, dataAvailabilityStatuses[0], opts);
|
|
273
|
-
}
|
|
274
262
|
//# sourceMappingURL=importExecutionPayload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importExecutionPayload.js","sourceRoot":"","sources":["../../../src/chain/blocks/importExecutionPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;AACrC,OAAO,EACL,eAAe,EAEf,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,yBAAyB,EAAC,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAC,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AAE9D,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAC,0BAA0B,EAAC,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EACL,8BAA8B,EAC9B,uCAAuC,GACxC,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"importExecutionPayload.js","sourceRoot":"","sources":["../../../src/chain/blocks/importExecutionPayload.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,26 @@
|
|
|
1
|
+
import { DataAvailabilityStatus } from "@lodestar/state-transition";
|
|
1
2
|
import { Metrics } from "../../metrics/metrics.js";
|
|
2
3
|
import { JobItemQueue } from "../../util/queue/index.js";
|
|
3
4
|
import type { BeaconChain } from "../chain.js";
|
|
4
5
|
import { PayloadEnvelopeInput } from "../seenCache/seenPayloadEnvelopeInput.js";
|
|
5
6
|
import { ImportPayloadOpts } from "./types.js";
|
|
6
7
|
/**
|
|
7
|
-
* PayloadEnvelopeProcessor
|
|
8
|
+
* PayloadEnvelopeProcessor imports payload envelopes in a queued fashion, one after the other.
|
|
8
9
|
*
|
|
9
|
-
* Jobs are
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* caller observes the real import outcome. Resolving duplicates early instead would let
|
|
10
|
+
* Jobs are triggered only on envelope arrival (gossip or API). The envelope may reach us before the
|
|
11
|
+
* sampled data columns, the data availability wait runs before the job is queued. Duplicate
|
|
12
|
+
* triggers for the same payloadInput are deduped by sharing the in-flight promise: every caller
|
|
13
|
+
* observes the real import outcome. Resolving duplicates early instead would let
|
|
14
14
|
* BlockInputSync mark a still-pending payload as processed, re-queue it, and spin re-processing
|
|
15
15
|
* the same root until OOM while the import is blocked (e.g. EL syncing).
|
|
16
16
|
*/
|
|
17
17
|
export declare class PayloadEnvelopeProcessor {
|
|
18
|
-
readonly
|
|
18
|
+
private readonly chain;
|
|
19
|
+
private readonly signal;
|
|
20
|
+
readonly jobQueue: JobItemQueue<[PayloadEnvelopeInput, DataAvailabilityStatus, ImportPayloadOpts], void>;
|
|
19
21
|
private readonly imports;
|
|
20
22
|
constructor(chain: BeaconChain, metrics: Metrics | null, signal: AbortSignal);
|
|
21
23
|
processPayloadEnvelopeJob(payloadInput: PayloadEnvelopeInput, opts?: ImportPayloadOpts): Promise<void>;
|
|
24
|
+
private waitForDataAndImport;
|
|
22
25
|
}
|
|
23
26
|
//# sourceMappingURL=payloadEnvelopeProcessor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payloadEnvelopeProcessor.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/payloadEnvelopeProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"payloadEnvelopeProcessor.d.ts","sourceRoot":"","sources":["../../../src/chain/blocks/payloadEnvelopeProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,OAAO,EAAC,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAM7C;;;;;;;;;GASG;AACH,qBAAa,wBAAwB;IAKjC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAEtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAC;IACzG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsD;IAE9E,YACmB,KAAK,EAAE,WAAW,EACnC,OAAO,EAAE,OAAO,GAAG,IAAI,EACN,MAAM,EAAE,WAAW,EASrC;IAEK,yBAAyB,CAAC,YAAY,EAAE,oBAAoB,EAAE,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB/G;YAEa,oBAAoB;CAanC"}
|