@lodestar/beacon-node 1.44.0-dev.c8732e0f70 → 1.44.0-dev.c874e6b4ce
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.map +1 -1
- package/lib/api/impl/validator/index.js +14 -2
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/errors/payloadAttestation.d.ts +6 -0
- package/lib/chain/errors/payloadAttestation.d.ts.map +1 -1
- package/lib/chain/errors/payloadAttestation.js +1 -0
- package/lib/chain/errors/payloadAttestation.js.map +1 -1
- package/lib/chain/prepareNextSlot.js +1 -1
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +3 -3
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/validation/executionPayloadBid.js +22 -5
- package/lib/chain/validation/executionPayloadBid.js.map +1 -1
- package/lib/chain/validation/payloadAttestationMessage.js +10 -0
- package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +749 -2
- package/lib/network/gossip/topic.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +5 -0
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts +2 -1
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js +15 -1
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/index.js +2 -2
- package/lib/network/reqresp/handlers/index.js.map +1 -1
- package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts.map +1 -1
- package/lib/network/reqresp/utils/dataColumnResponseValidation.js +8 -0
- package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -1
- package/package.json +14 -14
- package/src/api/impl/validator/index.ts +16 -3
- package/src/chain/errors/payloadAttestation.ts +2 -0
- package/src/chain/prepareNextSlot.ts +1 -1
- package/src/chain/produceBlock/produceBlockBody.ts +3 -3
- package/src/chain/validation/executionPayloadBid.ts +23 -5
- package/src/chain/validation/payloadAttestationMessage.ts +11 -0
- package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +6 -0
- package/src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts +20 -1
- package/src/network/reqresp/handlers/index.ts +2 -2
- package/src/network/reqresp/utils/dataColumnResponseValidation.ts +8 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["../../../src/network/gossip/topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAEL,QAAQ,EAMT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAiB,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AAEjH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC;CACzC;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IAG5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAF9C,OAAO,CAAC,gBAAgB,CAA4C;IAEpE,YAA6B,iBAAiB,EAAE,iBAAiB,EAAI;IAErE,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAQtC;IAED,8DAA8D;IAC9D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEvD;IAED,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAInD;CACF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAKrG;AA+BD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW
|
|
1
|
+
{"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["../../../src/network/gossip/topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAEL,QAAQ,EAMT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAiB,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AAEjH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC;CACzC;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IAG5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAF9C,OAAO,CAAC,gBAAgB,CAA4C;IAEpE,YAA6B,iBAAiB,EAAE,iBAAiB,EAAI;IAErE,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAQtC;IAED,8DAA8D;IAC9D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEvD;IAED,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAInD;CACF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAKrG;AA+BD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2ClD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAOnH;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,GAAG,WAAW,CAMjG;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,GAAG,iBAAiB,CAS7G;AAMD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CA0D9G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAC,GACxE,kBAAkB,CAAC,MAAM,kBAAkB,CAAC,EAAE,CA4DhD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,aAAa,GAC3B,kBAAkB,CAAC,MAAM,kBAAkB,CAAC,EAAE,CAShD;AAgBD,eAAO,MAAM,sCAAsC,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAkB9E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataColumnSidecarsByRange.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/dataColumnSidecarsByRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"dataColumnSidecarsByRange.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/dataColumnSidecarsByRange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAG7C,OAAO,EAA4B,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAc,KAAK,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAO/C,wBAAuB,2BAA2B,CAChD,OAAO,EAAE,IAAI,CAAC,gCAAgC,EAC9C,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,aAAa,CAAC,gBAAgB,CAAC,CAyIjC;AAED,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,KAAK,EACnB,OAAO,EAAE,IAAI,CAAC,gCAAgC,GAC7C,IAAI,CAAC,gCAAgC,CA4BvC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PayloadStatus } from "@lodestar/fork-choice";
|
|
1
2
|
import { ForkSeq, GENESIS_SLOT } from "@lodestar/params";
|
|
2
3
|
import { RespStatus, ResponseError } from "@lodestar/reqresp";
|
|
3
4
|
import { computeEpochAtSlot } from "@lodestar/state-transition";
|
|
@@ -75,6 +76,10 @@ export async function* onDataColumnSidecarsByRange(request, chain, db, peerId, p
|
|
|
75
76
|
const block = headChain[i];
|
|
76
77
|
// Must include only columns in the range requested
|
|
77
78
|
if (block.slot > archiveMaxSlot && block.slot >= startSlot && block.slot < endSlot) {
|
|
79
|
+
// Post-gloas, columns exist only for FULL blocks (pre-gloas blocks are always FULL)
|
|
80
|
+
if (block.payloadStatus !== PayloadStatus.FULL) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
78
83
|
// Note: Here the forkChoice head may change due to a re-org, so the headChain reflects the canonical chain
|
|
79
84
|
// at the time of the start of the request. Spec is clear the chain of columns must be consistent, but on
|
|
80
85
|
// re-org there's no need to abort the request
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataColumnSidecarsByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/dataColumnSidecarsByRange.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dataColumnSidecarsByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/dataColumnSidecarsByRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { PeerId } from "@libp2p/interface";
|
|
1
2
|
import { ResponseOutgoing } from "@lodestar/reqresp";
|
|
2
3
|
import { IBeaconChain } from "../../../chain/index.js";
|
|
3
4
|
import { IBeaconDb } from "../../../db/index.js";
|
|
4
5
|
import { ExecutionPayloadEnvelopesByRootRequest } from "../../../util/types.js";
|
|
5
|
-
export declare function onExecutionPayloadEnvelopesByRoot(requestBody: ExecutionPayloadEnvelopesByRootRequest, chain: IBeaconChain, db: IBeaconDb): AsyncIterable<ResponseOutgoing>;
|
|
6
|
+
export declare function onExecutionPayloadEnvelopesByRoot(requestBody: ExecutionPayloadEnvelopesByRootRequest, chain: IBeaconChain, db: IBeaconDb, peerId: PeerId, peerClient: string): AsyncIterable<ResponseOutgoing>;
|
|
6
7
|
//# sourceMappingURL=executionPayloadEnvelopesByRoot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionPayloadEnvelopesByRoot.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,sCAAsC,EAAC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"executionPayloadEnvelopesByRoot.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,sCAAsC,EAAC,MAAM,wBAAwB,CAAC;AAG9E,wBAAuB,iCAAiC,CACtD,WAAW,EAAE,sCAAsC,EACnD,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,aAAa,CAAC,gBAAgB,CAAC,CAqCjC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { computeEpochAtSlot } from "@lodestar/state-transition";
|
|
2
2
|
import { toRootHex } from "@lodestar/utils";
|
|
3
|
-
|
|
3
|
+
import { prettyPrintPeerId } from "../../util.js";
|
|
4
|
+
export async function* onExecutionPayloadEnvelopesByRoot(requestBody, chain, db, peerId, peerClient) {
|
|
4
5
|
// The gloas req/resp spec uses MIN_EPOCHS_FOR_BLOCK_REQUESTS to define the minimum range peers MUST serve.
|
|
5
6
|
// Archival nodes may still serve older retained payloads to allow genesis sync.
|
|
6
7
|
for (const root of requestBody) {
|
|
@@ -9,6 +10,11 @@ export async function* onExecutionPayloadEnvelopesByRoot(requestBody, chain, db)
|
|
|
9
10
|
// If the block is not in fork choice, it may be finalized. Attempt to find its slot in block archive
|
|
10
11
|
const slot = block ? block.slot : await db.blockArchive.getSlotByRoot(root);
|
|
11
12
|
if (slot === null) {
|
|
13
|
+
chain.logger.debug("Cannot serve ExecutionPayloadEnvelopesByRoot: block root not in fork choice or block archive", {
|
|
14
|
+
root: rootHex,
|
|
15
|
+
peer: prettyPrintPeerId(peerId),
|
|
16
|
+
client: peerClient,
|
|
17
|
+
});
|
|
12
18
|
continue;
|
|
13
19
|
}
|
|
14
20
|
const envelopeBytes = await chain.getSerializedExecutionPayloadEnvelope(slot, rootHex);
|
|
@@ -18,6 +24,14 @@ export async function* onExecutionPayloadEnvelopesByRoot(requestBody, chain, db)
|
|
|
18
24
|
boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(slot)),
|
|
19
25
|
};
|
|
20
26
|
}
|
|
27
|
+
else {
|
|
28
|
+
chain.logger.debug("Cannot serve ExecutionPayloadEnvelopesByRoot: envelope not found", {
|
|
29
|
+
slot,
|
|
30
|
+
root: rootHex,
|
|
31
|
+
peer: prettyPrintPeerId(peerId),
|
|
32
|
+
client: peerClient,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
21
35
|
}
|
|
22
36
|
}
|
|
23
37
|
//# sourceMappingURL=executionPayloadEnvelopesByRoot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executionPayloadEnvelopesByRoot.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"executionPayloadEnvelopesByRoot.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAI1C,OAAO,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,iCAAiC,CACtD,WAAmD,EACnD,KAAmB,EACnB,EAAa,EACb,MAAc,EACd,UAAkB,EACe;IACjC,2GAA2G;IAC3G,gFAAgF;IAEhF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACjE,qGAAqG;QACrG,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAE5E,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,KAAK,CAAC,MAAM,CAAC,KAAK,CAChB,8FAA8F,EAC9F;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;gBAC/B,MAAM,EAAE,UAAU;aACnB,CACF,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,qCAAqC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvF,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM;gBACJ,IAAI,EAAE,aAAa;gBACnB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;aACxE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,kEAAkE,EAAE;gBACrF,IAAI;gBACJ,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;gBAC/B,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AAAA,CACF"}
|
|
@@ -59,9 +59,9 @@ export function getReqRespHandlers({ db, chain }) {
|
|
|
59
59
|
const body = DataColumnSidecarsByRootRequestType(chain.config).deserialize(req.data);
|
|
60
60
|
return onDataColumnSidecarsByRoot(body, chain, db, peerId, peerClient);
|
|
61
61
|
},
|
|
62
|
-
[ReqRespMethod.ExecutionPayloadEnvelopesByRoot]: (req) => {
|
|
62
|
+
[ReqRespMethod.ExecutionPayloadEnvelopesByRoot]: (req, peerId, peerClient) => {
|
|
63
63
|
const body = ExecutionPayloadEnvelopesByRootRequestType(chain.config).deserialize(req.data);
|
|
64
|
-
return onExecutionPayloadEnvelopesByRoot(body, chain, db);
|
|
64
|
+
return onExecutionPayloadEnvelopesByRoot(body, chain, db, peerId, peerClient);
|
|
65
65
|
},
|
|
66
66
|
[ReqRespMethod.ExecutionPayloadEnvelopesByRange]: (req) => {
|
|
67
67
|
const body = ssz.gloas.ExecutionPayloadEnvelopesByRangeRequest.deserialize(req.data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataColumnResponseValidation.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/utils/dataColumnResponseValidation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dataColumnResponseValidation.d.ts","sourceRoot":"","sources":["../../../../src/network/reqresp/utils/dataColumnResponseValidation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAC,OAAO,EAAC,MAAM,6BAA6B,CAAC;AAGpD,wBAAsB,iCAAiC,CAAC,EACtD,KAAK,EACL,EAAE,EACF,OAAO,EACP,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,IAAI,EACJ,SAAS,EACV,EAAE;IACD,KAAK,EAAE,YAAY,CAAC;IACpB,EAAE,EAAE,SAAS,CAAC;IACd,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,wBAAwB,EAAE,WAAW,EAAE,CAAC;IACxC,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,gBAAgB,EAAE,WAAW,EAAE,CAAC;CACjC,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ChB;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CA8BhH"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ForkSeq } from "@lodestar/params";
|
|
1
2
|
import { RespStatus, ResponseError } from "@lodestar/reqresp";
|
|
2
3
|
import { prettyBytes, prettyPrintIndices, toRootHex } from "@lodestar/utils";
|
|
3
4
|
import { getBlobKzgCommitmentsCountFromSignedBeaconBlockSerialized } from "../../../util/sszBytes.js";
|
|
@@ -12,6 +13,13 @@ export async function handleColumnSidecarUnavailability({ chain, db, metrics, un
|
|
|
12
13
|
logData.blockRoot = prettyBytes(blockRoot);
|
|
13
14
|
}
|
|
14
15
|
chain.logger.debug("dataColumnSidecar requested unavailable", logData);
|
|
16
|
+
// Post-gloas, columns exist only for FULL blocks; a finalized block is FULL if its envelope was
|
|
17
|
+
// archived. Bid blobsCount is unreliable here since an EMPTY block's bid may still commit to blobs
|
|
18
|
+
if (blockRoot === undefined && chain.config.getForkSeq(slot) >= ForkSeq.gloas) {
|
|
19
|
+
const envelopeBytes = await db.executionPayloadEnvelopeArchive.getBinary(slot);
|
|
20
|
+
if (!envelopeBytes)
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
15
23
|
const blockBytes = blockRoot ? await db.block.getBinary(blockRoot) : await db.blockArchive.getBinary(slot);
|
|
16
24
|
if (!blockBytes) {
|
|
17
25
|
chain.logger.verbose(`Expected ${blockRoot ? "unfinalized" : "finalized"} block not found while handling unavailable dataColumnSidecar`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataColumnResponseValidation.js","sourceRoot":"","sources":["../../../../src/network/reqresp/utils/dataColumnResponseValidation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dataColumnResponseValidation.js","sourceRoot":"","sources":["../../../../src/network/reqresp/utils/dataColumnResponseValidation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/ChainSafe/lodestar/issues"
|
|
13
13
|
},
|
|
14
|
-
"version": "1.44.0-dev.
|
|
14
|
+
"version": "1.44.0-dev.c874e6b4ce",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
@@ -135,17 +135,17 @@
|
|
|
135
135
|
"@libp2p/peer-id": "^6.0.4",
|
|
136
136
|
"@libp2p/prometheus-metrics": "^5.0.14",
|
|
137
137
|
"@libp2p/tcp": "^11.0.13",
|
|
138
|
-
"@lodestar/api": "^1.44.0-dev.
|
|
139
|
-
"@lodestar/config": "^1.44.0-dev.
|
|
140
|
-
"@lodestar/db": "^1.44.0-dev.
|
|
141
|
-
"@lodestar/fork-choice": "^1.44.0-dev.
|
|
142
|
-
"@lodestar/logger": "^1.44.0-dev.
|
|
143
|
-
"@lodestar/params": "^1.44.0-dev.
|
|
144
|
-
"@lodestar/reqresp": "^1.44.0-dev.
|
|
145
|
-
"@lodestar/state-transition": "^1.44.0-dev.
|
|
146
|
-
"@lodestar/types": "^1.44.0-dev.
|
|
147
|
-
"@lodestar/utils": "^1.44.0-dev.
|
|
148
|
-
"@lodestar/validator": "^1.44.0-dev.
|
|
138
|
+
"@lodestar/api": "^1.44.0-dev.c874e6b4ce",
|
|
139
|
+
"@lodestar/config": "^1.44.0-dev.c874e6b4ce",
|
|
140
|
+
"@lodestar/db": "^1.44.0-dev.c874e6b4ce",
|
|
141
|
+
"@lodestar/fork-choice": "^1.44.0-dev.c874e6b4ce",
|
|
142
|
+
"@lodestar/logger": "^1.44.0-dev.c874e6b4ce",
|
|
143
|
+
"@lodestar/params": "^1.44.0-dev.c874e6b4ce",
|
|
144
|
+
"@lodestar/reqresp": "^1.44.0-dev.c874e6b4ce",
|
|
145
|
+
"@lodestar/state-transition": "^1.44.0-dev.c874e6b4ce",
|
|
146
|
+
"@lodestar/types": "^1.44.0-dev.c874e6b4ce",
|
|
147
|
+
"@lodestar/utils": "^1.44.0-dev.c874e6b4ce",
|
|
148
|
+
"@lodestar/validator": "^1.44.0-dev.c874e6b4ce",
|
|
149
149
|
"@multiformats/multiaddr": "^13.0.1",
|
|
150
150
|
"datastore-core": "^11.0.2",
|
|
151
151
|
"datastore-fs": "^11.0.2",
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
"@libp2p/interface-internal": "^3.0.13",
|
|
169
169
|
"@libp2p/logger": "^6.2.2",
|
|
170
170
|
"@libp2p/utils": "^7.0.13",
|
|
171
|
-
"@lodestar/spec-test-util": "^1.44.0-dev.
|
|
171
|
+
"@lodestar/spec-test-util": "^1.44.0-dev.c874e6b4ce",
|
|
172
172
|
"@types/js-yaml": "^4.0.5",
|
|
173
173
|
"@types/qs": "^6.9.7",
|
|
174
174
|
"@types/tmp": "^0.2.3",
|
|
@@ -186,5 +186,5 @@
|
|
|
186
186
|
"beacon",
|
|
187
187
|
"blockchain"
|
|
188
188
|
],
|
|
189
|
-
"gitHead": "
|
|
189
|
+
"gitHead": "e4823484ffbbea25c877ed1cda9dbe00dd5fec78"
|
|
190
190
|
}
|
|
@@ -1123,11 +1123,24 @@ export function getValidatorApi(
|
|
|
1123
1123
|
// into the slot. Use the envelope's own arrival time (getPayloadEnvelopeSource), not
|
|
1124
1124
|
// the input's creation time.
|
|
1125
1125
|
const payloadDueSec = config.getPayloadDueMs() / 1000;
|
|
1126
|
-
const
|
|
1127
|
-
payloadInput?.hasPayloadEnvelope() === true
|
|
1128
|
-
|
|
1126
|
+
const payloadSeenSec =
|
|
1127
|
+
payloadInput?.hasPayloadEnvelope() === true
|
|
1128
|
+
? chain.clock.secFromSlot(slot, payloadInput.getPayloadEnvelopeSource().seenTimestampSec)
|
|
1129
|
+
: null;
|
|
1130
|
+
const payloadPresent = payloadSeenSec !== null && payloadSeenSec < payloadDueSec;
|
|
1129
1131
|
const blobDataAvailable = payloadInput?.hasAllData() === true;
|
|
1130
1132
|
|
|
1133
|
+
logger.debug("Produced payload attestation data", {
|
|
1134
|
+
slot,
|
|
1135
|
+
blockRoot: block.blockRoot,
|
|
1136
|
+
blockSlot: block.slot,
|
|
1137
|
+
payloadPresent,
|
|
1138
|
+
blobDataAvailable,
|
|
1139
|
+
hasPayloadInput: payloadInput !== undefined,
|
|
1140
|
+
payloadSeenSec,
|
|
1141
|
+
payloadDueSec,
|
|
1142
|
+
});
|
|
1143
|
+
|
|
1131
1144
|
return {
|
|
1132
1145
|
data: {
|
|
1133
1146
|
beaconBlockRoot: fromHex(block.blockRoot),
|
|
@@ -5,6 +5,7 @@ export enum PayloadAttestationErrorCode {
|
|
|
5
5
|
NOT_CURRENT_SLOT = "PAYLOAD_ATTESTATION_ERROR_NOT_CURRENT_SLOT",
|
|
6
6
|
PAYLOAD_ATTESTATION_ALREADY_KNOWN = "PAYLOAD_ATTESTATION_ERROR_PAYLOAD_ATTESTATION_ALREADY_KNOWN",
|
|
7
7
|
UNKNOWN_BLOCK_ROOT = "PAYLOAD_ATTESTATION_ERROR_UNKNOWN_BLOCK_ROOT",
|
|
8
|
+
INVALID_BLOCK_SLOT = "PAYLOAD_ATTESTATION_ERROR_INVALID_BLOCK_SLOT",
|
|
8
9
|
INVALID_BLOCK = "PAYLOAD_ATTESTATION_ERROR_INVALID_BLOCK",
|
|
9
10
|
INVALID_ATTESTER = "PAYLOAD_ATTESTATION_ERROR_INVALID_ATTESTER",
|
|
10
11
|
INVALID_SIGNATURE = "PAYLOAD_ATTESTATION_ERROR_INVALID_SIGNATURE",
|
|
@@ -18,6 +19,7 @@ export type PayloadAttestationErrorType =
|
|
|
18
19
|
blockRoot: RootHex;
|
|
19
20
|
}
|
|
20
21
|
| {code: PayloadAttestationErrorCode.UNKNOWN_BLOCK_ROOT; blockRoot: RootHex}
|
|
22
|
+
| {code: PayloadAttestationErrorCode.INVALID_BLOCK_SLOT; blockRoot: RootHex; blockSlot: Slot; slot: Slot}
|
|
21
23
|
| {code: PayloadAttestationErrorCode.INVALID_BLOCK; blockRoot: RootHex}
|
|
22
24
|
| {code: PayloadAttestationErrorCode.INVALID_ATTESTER; attesterIndex: ValidatorIndex}
|
|
23
25
|
| {code: PayloadAttestationErrorCode.INVALID_SIGNATURE};
|
|
@@ -170,7 +170,7 @@ export class PrepareNextSlotScheduler {
|
|
|
170
170
|
let stateAfterParentPayload: IBeaconStateViewBellatrix = updatedPrepareState;
|
|
171
171
|
if (isStatePostGloas(updatedPrepareState)) {
|
|
172
172
|
// Spec: should_build_on_full(store, head) — see produceBlockBody.ts for context.
|
|
173
|
-
if (this.chain.forkChoice.shouldBuildOnFull(updatedHead)) {
|
|
173
|
+
if (this.chain.forkChoice.shouldBuildOnFull(updatedHead, prepareSlot)) {
|
|
174
174
|
parentBlockHash = updatedPrepareState.latestExecutionPayloadBid.blockHash;
|
|
175
175
|
// Skip applying parent payload unless we're proposing the next slot or have to emit payload_attributes events
|
|
176
176
|
if (feeRecipient !== undefined || this.chain.opts.emitPayloadAttributes === true) {
|
|
@@ -276,9 +276,9 @@ export async function produceBlockBody<T extends BlockType>(
|
|
|
276
276
|
// Apply parent payload once here as it's reused by EL prep and voluntary exit filtering below
|
|
277
277
|
let stateAfterParentPayload: IBeaconStateViewBellatrix = currentState;
|
|
278
278
|
// Spec: should_build_on_full(store, head). `parentBlock` is the proposer's head
|
|
279
|
-
// (set by chain.getProposerHead(slot)). Returns false when the PTC majority
|
|
280
|
-
//
|
|
281
|
-
const isBuildingOnFull = this.forkChoice.shouldBuildOnFull(parentBlock);
|
|
279
|
+
// (set by chain.getProposerHead(slot)). Returns false when the PTC majority signalled
|
|
280
|
+
// the blob data is not available or the payload was not timely, forcing a build on EMPTY (reorg).
|
|
281
|
+
const isBuildingOnFull = this.forkChoice.shouldBuildOnFull(parentBlock, blockSlot);
|
|
282
282
|
if (isBuildingOnFull) {
|
|
283
283
|
parentBlockHash = currentState.latestExecutionPayloadBid.blockHash;
|
|
284
284
|
parentExecutionRequests = await this.getParentExecutionRequests(parentBlock.slot, parentBlock.blockRoot);
|
|
@@ -35,10 +35,6 @@ async function validateExecutionPayloadBid(
|
|
|
35
35
|
const bid = signedExecutionPayloadBid.message;
|
|
36
36
|
const parentBlockRootHex = toRootHex(bid.parentBlockRoot);
|
|
37
37
|
const parentBlockHashHex = toRootHex(bid.parentBlockHash);
|
|
38
|
-
const state = await chain.getHeadStateAtCurrentEpoch(RegenCaller.validateGossipExecutionPayloadBid);
|
|
39
|
-
if (!isStatePostGloas(state)) {
|
|
40
|
-
throw new Error(`Expected gloas+ state for execution payload bid validation, got fork=${state.forkName}`);
|
|
41
|
-
}
|
|
42
38
|
|
|
43
39
|
// [IGNORE] `bid.slot` is the current slot or the next slot.
|
|
44
40
|
const currentSlot = chain.clock.currentSlot;
|
|
@@ -111,9 +107,31 @@ async function validateExecutionPayloadBid(
|
|
|
111
107
|
});
|
|
112
108
|
}
|
|
113
109
|
|
|
110
|
+
// Use the bid's parent branch state for builder checks
|
|
111
|
+
const state = await chain.regen
|
|
112
|
+
.getBlockSlotState(parentBlock, bid.slot, {dontTransferCache: true}, RegenCaller.validateGossipExecutionPayloadBid)
|
|
113
|
+
.catch(() => {
|
|
114
|
+
throw new ExecutionPayloadBidError(GossipAction.IGNORE, {
|
|
115
|
+
code: ExecutionPayloadBidErrorCode.UNKNOWN_BLOCK_ROOT,
|
|
116
|
+
parentBlockRoot: parentBlockRootHex,
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
if (!isStatePostGloas(state)) {
|
|
121
|
+
throw new Error(`Expected gloas+ state for execution payload bid validation, got fork=${state.forkName}`);
|
|
122
|
+
}
|
|
123
|
+
|
|
114
124
|
// [REJECT] `bid.builder_index` is a valid/active builder index -- i.e.
|
|
115
125
|
// `is_active_builder(state, bid.builder_index)` returns `True`.
|
|
116
|
-
|
|
126
|
+
let builder: gloas.Builder;
|
|
127
|
+
try {
|
|
128
|
+
builder = state.getBuilder(bid.builderIndex);
|
|
129
|
+
} catch {
|
|
130
|
+
throw new ExecutionPayloadBidError(GossipAction.REJECT, {
|
|
131
|
+
code: ExecutionPayloadBidErrorCode.BUILDER_NOT_ELIGIBLE,
|
|
132
|
+
builderIndex: bid.builderIndex,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
117
135
|
if (!isActiveBuilder(builder, state.finalizedCheckpoint.epoch)) {
|
|
118
136
|
throw new ExecutionPayloadBidError(GossipAction.REJECT, {
|
|
119
137
|
code: ExecutionPayloadBidErrorCode.BUILDER_NOT_ELIGIBLE,
|
|
@@ -70,6 +70,17 @@ async function validatePayloadAttestationMessage(
|
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
// [IGNORE] The block referenced by `data.beacon_block_root` is at slot `data.slot`,
|
|
74
|
+
// i.e. the block has `block.slot == data.slot`.
|
|
75
|
+
if (block.slot !== data.slot) {
|
|
76
|
+
throw new PayloadAttestationError(GossipAction.IGNORE, {
|
|
77
|
+
code: PayloadAttestationErrorCode.INVALID_BLOCK_SLOT,
|
|
78
|
+
blockRoot: toRootHex(data.beaconBlockRoot),
|
|
79
|
+
blockSlot: block.slot,
|
|
80
|
+
slot: data.slot,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
|
|
73
84
|
// [REJECT] The message's block `data.beacon_block_root` passes validation.
|
|
74
85
|
// TODO GLOAS: implement this. Technically if we cannot get proto block from fork choice,
|
|
75
86
|
// it is possible that the block didn't pass the validation
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {PeerId} from "@libp2p/interface";
|
|
2
2
|
import {ChainConfig} from "@lodestar/config";
|
|
3
|
+
import {PayloadStatus} from "@lodestar/fork-choice";
|
|
3
4
|
import {ForkSeq, GENESIS_SLOT} from "@lodestar/params";
|
|
4
5
|
import {RespStatus, ResponseError, ResponseOutgoing} from "@lodestar/reqresp";
|
|
5
6
|
import {computeEpochAtSlot} from "@lodestar/state-transition";
|
|
@@ -104,6 +105,11 @@ export async function* onDataColumnSidecarsByRange(
|
|
|
104
105
|
|
|
105
106
|
// Must include only columns in the range requested
|
|
106
107
|
if (block.slot > archiveMaxSlot && block.slot >= startSlot && block.slot < endSlot) {
|
|
108
|
+
// Post-gloas, columns exist only for FULL blocks (pre-gloas blocks are always FULL)
|
|
109
|
+
if (block.payloadStatus !== PayloadStatus.FULL) {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
|
|
107
113
|
// Note: Here the forkChoice head may change due to a re-org, so the headChain reflects the canonical chain
|
|
108
114
|
// at the time of the start of the request. Spec is clear the chain of columns must be consistent, but on
|
|
109
115
|
// re-org there's no need to abort the request
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
+
import {PeerId} from "@libp2p/interface";
|
|
1
2
|
import {ResponseOutgoing} from "@lodestar/reqresp";
|
|
2
3
|
import {computeEpochAtSlot} from "@lodestar/state-transition";
|
|
3
4
|
import {toRootHex} from "@lodestar/utils";
|
|
4
5
|
import {IBeaconChain} from "../../../chain/index.js";
|
|
5
6
|
import {IBeaconDb} from "../../../db/index.js";
|
|
6
7
|
import {ExecutionPayloadEnvelopesByRootRequest} from "../../../util/types.js";
|
|
8
|
+
import {prettyPrintPeerId} from "../../util.js";
|
|
7
9
|
|
|
8
10
|
export async function* onExecutionPayloadEnvelopesByRoot(
|
|
9
11
|
requestBody: ExecutionPayloadEnvelopesByRootRequest,
|
|
10
12
|
chain: IBeaconChain,
|
|
11
|
-
db: IBeaconDb
|
|
13
|
+
db: IBeaconDb,
|
|
14
|
+
peerId: PeerId,
|
|
15
|
+
peerClient: string
|
|
12
16
|
): AsyncIterable<ResponseOutgoing> {
|
|
13
17
|
// The gloas req/resp spec uses MIN_EPOCHS_FOR_BLOCK_REQUESTS to define the minimum range peers MUST serve.
|
|
14
18
|
// Archival nodes may still serve older retained payloads to allow genesis sync.
|
|
@@ -20,6 +24,14 @@ export async function* onExecutionPayloadEnvelopesByRoot(
|
|
|
20
24
|
const slot = block ? block.slot : await db.blockArchive.getSlotByRoot(root);
|
|
21
25
|
|
|
22
26
|
if (slot === null) {
|
|
27
|
+
chain.logger.debug(
|
|
28
|
+
"Cannot serve ExecutionPayloadEnvelopesByRoot: block root not in fork choice or block archive",
|
|
29
|
+
{
|
|
30
|
+
root: rootHex,
|
|
31
|
+
peer: prettyPrintPeerId(peerId),
|
|
32
|
+
client: peerClient,
|
|
33
|
+
}
|
|
34
|
+
);
|
|
23
35
|
continue;
|
|
24
36
|
}
|
|
25
37
|
|
|
@@ -29,6 +41,13 @@ export async function* onExecutionPayloadEnvelopesByRoot(
|
|
|
29
41
|
data: envelopeBytes,
|
|
30
42
|
boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(slot)),
|
|
31
43
|
};
|
|
44
|
+
} else {
|
|
45
|
+
chain.logger.debug("Cannot serve ExecutionPayloadEnvelopesByRoot: envelope not found", {
|
|
46
|
+
slot,
|
|
47
|
+
root: rootHex,
|
|
48
|
+
peer: prettyPrintPeerId(peerId),
|
|
49
|
+
client: peerClient,
|
|
50
|
+
});
|
|
32
51
|
}
|
|
33
52
|
}
|
|
34
53
|
}
|
|
@@ -70,9 +70,9 @@ export function getReqRespHandlers({db, chain}: {db: IBeaconDb; chain: IBeaconCh
|
|
|
70
70
|
return onDataColumnSidecarsByRoot(body, chain, db, peerId, peerClient);
|
|
71
71
|
},
|
|
72
72
|
|
|
73
|
-
[ReqRespMethod.ExecutionPayloadEnvelopesByRoot]: (req) => {
|
|
73
|
+
[ReqRespMethod.ExecutionPayloadEnvelopesByRoot]: (req, peerId, peerClient) => {
|
|
74
74
|
const body = ExecutionPayloadEnvelopesByRootRequestType(chain.config).deserialize(req.data);
|
|
75
|
-
return onExecutionPayloadEnvelopesByRoot(body, chain, db);
|
|
75
|
+
return onExecutionPayloadEnvelopesByRoot(body, chain, db, peerId, peerClient);
|
|
76
76
|
},
|
|
77
77
|
[ReqRespMethod.ExecutionPayloadEnvelopesByRange]: (req) => {
|
|
78
78
|
const body = ssz.gloas.ExecutionPayloadEnvelopesByRangeRequest.deserialize(req.data);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {LogData} from "@lodestar/logger";
|
|
2
|
+
import {ForkSeq} from "@lodestar/params";
|
|
2
3
|
import {RespStatus, ResponseError} from "@lodestar/reqresp";
|
|
3
4
|
import {ColumnIndex, Slot} from "@lodestar/types";
|
|
4
5
|
import {prettyBytes, prettyPrintIndices, toRootHex} from "@lodestar/utils";
|
|
@@ -38,6 +39,13 @@ export async function handleColumnSidecarUnavailability({
|
|
|
38
39
|
|
|
39
40
|
chain.logger.debug("dataColumnSidecar requested unavailable", logData);
|
|
40
41
|
|
|
42
|
+
// Post-gloas, columns exist only for FULL blocks; a finalized block is FULL if its envelope was
|
|
43
|
+
// archived. Bid blobsCount is unreliable here since an EMPTY block's bid may still commit to blobs
|
|
44
|
+
if (blockRoot === undefined && chain.config.getForkSeq(slot) >= ForkSeq.gloas) {
|
|
45
|
+
const envelopeBytes = await db.executionPayloadEnvelopeArchive.getBinary(slot);
|
|
46
|
+
if (!envelopeBytes) return;
|
|
47
|
+
}
|
|
48
|
+
|
|
41
49
|
const blockBytes = blockRoot ? await db.block.getBinary(blockRoot) : await db.blockArchive.getBinary(slot);
|
|
42
50
|
if (!blockBytes) {
|
|
43
51
|
chain.logger.verbose(
|