@lodestar/beacon-node 1.41.0-dev.bb33751bfd → 1.41.0-dev.be5acbb8f7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/impl/beacon/blocks/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/blocks/index.js +3 -2
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/validator/index.d.ts.map +1 -1
- package/lib/api/impl/validator/index.js +26 -10
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
- package/lib/chain/archiveStore/archiveStore.js.map +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.d.ts +3 -8
- package/lib/chain/archiveStore/utils/archiveBlocks.d.ts.map +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.js +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
- package/lib/chain/archiveStore/utils/updateBackfillRange.js +1 -1
- package/lib/chain/archiveStore/utils/updateBackfillRange.js.map +1 -1
- package/lib/chain/blocks/blockInput/blockInput.d.ts +5 -0
- package/lib/chain/blocks/blockInput/blockInput.d.ts.map +1 -1
- package/lib/chain/blocks/blockInput/blockInput.js +24 -0
- package/lib/chain/blocks/blockInput/blockInput.js.map +1 -1
- package/lib/chain/blocks/blockInput/types.d.ts +16 -0
- package/lib/chain/blocks/blockInput/types.d.ts.map +1 -1
- package/lib/chain/blocks/importBlock.d.ts.map +1 -1
- package/lib/chain/blocks/importBlock.js +27 -4
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.js +4 -1
- package/lib/chain/blocks/verifyBlocksSanityChecks.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.d.ts +12 -3
- package/lib/chain/blocks/writeBlockInputToDb.d.ts.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js +92 -98
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/chain.d.ts +2 -2
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +13 -12
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/emitter.d.ts +3 -3
- package/lib/chain/emitter.d.ts.map +1 -1
- package/lib/chain/errors/executionPayloadBid.d.ts +1 -1
- package/lib/chain/errors/executionPayloadEnvelope.d.ts +2 -2
- package/lib/chain/errors/executionPayloadEnvelope.d.ts.map +1 -1
- package/lib/chain/errors/executionPayloadEnvelope.js.map +1 -1
- package/lib/chain/errors/payloadAttestation.d.ts +1 -1
- package/lib/chain/forkChoice/index.d.ts.map +1 -1
- package/lib/chain/forkChoice/index.js +30 -24
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/produceBlock/computeNewStateRoot.d.ts +0 -1
- package/lib/chain/produceBlock/computeNewStateRoot.d.ts.map +1 -1
- package/lib/chain/produceBlock/computeNewStateRoot.js +4 -3
- package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +1 -2
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/regen/queued.d.ts.map +1 -1
- package/lib/chain/regen/queued.js +4 -1
- package/lib/chain/regen/queued.js.map +1 -1
- package/lib/chain/regen/regen.d.ts.map +1 -1
- package/lib/chain/regen/regen.js +6 -2
- package/lib/chain/regen/regen.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +5 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.js +21 -8
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/validation/aggregateAndProof.js +1 -1
- package/lib/chain/validation/aggregateAndProof.js.map +1 -1
- package/lib/chain/validation/attestation.js +3 -3
- package/lib/chain/validation/attestation.js.map +1 -1
- package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
- package/lib/chain/validation/attesterSlashing.js +8 -1
- package/lib/chain/validation/attesterSlashing.js.map +1 -1
- package/lib/chain/validation/blobSidecar.js +2 -2
- package/lib/chain/validation/blobSidecar.js.map +1 -1
- package/lib/chain/validation/block.d.ts.map +1 -1
- package/lib/chain/validation/block.js +6 -3
- package/lib/chain/validation/block.js.map +1 -1
- package/lib/chain/validation/dataColumnSidecar.js +1 -1
- package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
- package/lib/chain/validation/executionPayloadBid.js +1 -2
- package/lib/chain/validation/executionPayloadBid.js.map +1 -1
- package/lib/chain/validation/executionPayloadEnvelope.js +4 -4
- package/lib/chain/validation/executionPayloadEnvelope.js.map +1 -1
- package/lib/chain/validation/payloadAttestationMessage.js +1 -2
- package/lib/chain/validation/payloadAttestationMessage.js.map +1 -1
- package/lib/db/index.d.ts +1 -0
- package/lib/db/index.d.ts.map +1 -1
- package/lib/db/index.js +1 -0
- package/lib/db/index.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 +4 -0
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/network/network.d.ts.map +1 -1
- package/lib/network/network.js +1 -1
- package/lib/network/network.js.map +1 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +1 -0
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -2
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js +3 -2
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +3 -2
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
- package/lib/network/reqresp/utils/collect.d.ts +1 -1
- package/lib/network/reqresp/utils/collectSequentialBlocksInRange.d.ts +1 -1
- package/lib/sync/utils/downloadByRoot.d.ts +1 -1
- package/lib/sync/utils/remoteSyncType.d.ts +1 -1
- package/lib/util/serializedCache.d.ts +4 -4
- package/lib/util/serializedCache.d.ts.map +1 -1
- package/lib/util/serializedCache.js +6 -4
- package/lib/util/serializedCache.js.map +1 -1
- package/package.json +26 -26
- package/src/api/impl/beacon/blocks/index.ts +3 -2
- package/src/api/impl/validator/index.ts +26 -12
- package/src/chain/archiveStore/archiveStore.ts +5 -5
- package/src/chain/archiveStore/utils/archiveBlocks.ts +4 -5
- package/src/chain/archiveStore/utils/updateBackfillRange.ts +1 -1
- package/src/chain/blocks/blockInput/blockInput.ts +35 -0
- package/src/chain/blocks/blockInput/types.ts +17 -0
- package/src/chain/blocks/importBlock.ts +35 -4
- package/src/chain/blocks/verifyBlocksSanityChecks.ts +7 -2
- package/src/chain/blocks/writeBlockInputToDb.ts +105 -104
- package/src/chain/chain.ts +31 -19
- package/src/chain/emitter.ts +3 -3
- package/src/chain/errors/executionPayloadBid.ts +1 -1
- package/src/chain/errors/executionPayloadEnvelope.ts +6 -2
- package/src/chain/errors/payloadAttestation.ts +1 -1
- package/src/chain/forkChoice/index.ts +39 -21
- package/src/chain/opPools/aggregatedAttestationPool.ts +1 -1
- package/src/chain/produceBlock/computeNewStateRoot.ts +4 -3
- package/src/chain/produceBlock/produceBlockBody.ts +1 -2
- package/src/chain/regen/queued.ts +7 -2
- package/src/chain/regen/regen.ts +9 -3
- package/src/chain/seenCache/seenGossipBlockInput.ts +38 -10
- package/src/chain/validation/aggregateAndProof.ts +1 -1
- package/src/chain/validation/attestation.ts +3 -3
- package/src/chain/validation/attesterSlashing.ts +9 -0
- package/src/chain/validation/blobSidecar.ts +2 -2
- package/src/chain/validation/block.ts +9 -4
- package/src/chain/validation/dataColumnSidecar.ts +1 -1
- package/src/chain/validation/executionPayloadBid.ts +1 -2
- package/src/chain/validation/executionPayloadEnvelope.ts +4 -4
- package/src/chain/validation/payloadAttestationMessage.ts +1 -2
- package/src/db/index.ts +1 -0
- package/src/metrics/metrics/lodestar.ts +4 -0
- package/src/network/network.ts +2 -1
- package/src/network/processor/gossipHandlers.ts +6 -1
- package/src/network/processor/gossipValidatorFn.ts +1 -1
- package/src/network/reqresp/ReqRespBeaconNode.ts +1 -1
- package/src/network/reqresp/handlers/beaconBlocksByRange.ts +4 -3
- package/src/network/reqresp/handlers/blobSidecarsByRange.ts +3 -2
- package/src/network/reqresp/handlers/blobSidecarsByRoot.ts +1 -1
- package/src/network/reqresp/handlers/dataColumnSidecarsByRange.ts +4 -3
- package/src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts +2 -2
- package/src/network/reqresp/utils/collect.ts +1 -1
- package/src/network/reqresp/utils/collectSequentialBlocksInRange.ts +1 -1
- package/src/sync/utils/downloadByRoot.ts +1 -1
- package/src/sync/utils/remoteSyncType.ts +1 -1
- package/src/util/serializedCache.ts +7 -5
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isForkPostDeneb } from "@lodestar/params";
|
|
2
|
+
import { fromHex, toRootHex } from "@lodestar/utils";
|
|
3
|
+
import { getBlobKzgCommitments } from "../../util/dataColumns.js";
|
|
2
4
|
import { isBlockInputBlobs, isBlockInputColumns } from "./blockInput/index.js";
|
|
3
5
|
import { BLOB_AVAILABILITY_TIMEOUT } from "./verifyBlocksDataAvailability.js";
|
|
4
6
|
/**
|
|
@@ -7,119 +9,111 @@ import { BLOB_AVAILABILITY_TIMEOUT } from "./verifyBlocksDataAvailability.js";
|
|
|
7
9
|
*
|
|
8
10
|
* This operation may be performed before, during or after importing to the fork-choice. As long as errors
|
|
9
11
|
* are handled properly for eventual consistency.
|
|
12
|
+
*
|
|
13
|
+
* Block+blobs (pre-fulu) and data columns (fulu+) are written in parallel.
|
|
10
14
|
*/
|
|
11
|
-
export async function writeBlockInputToDb(
|
|
15
|
+
export async function writeBlockInputToDb(blockInput) {
|
|
16
|
+
const promises = [writeBlockAndBlobsToDb.call(this, blockInput)];
|
|
17
|
+
if (isBlockInputColumns(blockInput)) {
|
|
18
|
+
promises.push(writeDataColumnsToDb.call(this, blockInput));
|
|
19
|
+
}
|
|
20
|
+
await Promise.all(promises);
|
|
21
|
+
this.logger.debug("Persisted blockInput to db", { slot: blockInput.slot, root: blockInput.blockRootHex });
|
|
22
|
+
}
|
|
23
|
+
async function writeBlockAndBlobsToDb(blockInput) {
|
|
24
|
+
const block = blockInput.getBlock();
|
|
25
|
+
const slot = block.message.slot;
|
|
26
|
+
const blockRoot = this.config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block.message);
|
|
27
|
+
const blockRootHex = toRootHex(blockRoot);
|
|
28
|
+
const numBlobs = isForkPostDeneb(blockInput.forkName)
|
|
29
|
+
? getBlobKzgCommitments(blockInput.forkName, block).length
|
|
30
|
+
: undefined;
|
|
12
31
|
const fnPromises = [];
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.metrics?.importBlock.persistBlockNoSerializedDataCount.inc();
|
|
29
|
-
fnPromises.push(this.db.block.add(block));
|
|
30
|
-
}
|
|
31
|
-
this.logger.debug("Persist block to hot DB", {
|
|
32
|
-
slot: block.message.slot,
|
|
33
|
-
root: blockRootHex,
|
|
34
|
-
inputType: blockInput.type,
|
|
35
|
-
});
|
|
36
|
-
if (!blockInput.hasAllData()) {
|
|
37
|
-
await blockInput.waitForAllData(BLOB_AVAILABILITY_TIMEOUT);
|
|
38
|
-
}
|
|
39
|
-
// NOTE: Old data is pruned on archive
|
|
40
|
-
if (isBlockInputColumns(blockInput)) {
|
|
41
|
-
if (!blockInput.hasComputedAllData()) {
|
|
42
|
-
// Supernodes may only have a subset of the data columns by the time the block begins to be imported
|
|
43
|
-
// because full data availability can be assumed after NUMBER_OF_COLUMNS / 2 columns are available.
|
|
44
|
-
// Here, however, all data columns must be fully available/reconstructed before persisting to the DB.
|
|
45
|
-
await blockInput.waitForComputedAllData(BLOB_AVAILABILITY_TIMEOUT).catch(() => {
|
|
46
|
-
this.logger.debug("Failed to wait for computed all data", { slot, blockRoot: blockRootHex });
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
const { custodyColumns } = this.custodyConfig;
|
|
50
|
-
const blobsLen = block.message.body.blobKzgCommitments.length;
|
|
51
|
-
let dataColumnsLen;
|
|
52
|
-
if (blobsLen === 0) {
|
|
53
|
-
dataColumnsLen = 0;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
dataColumnsLen = custodyColumns.length;
|
|
57
|
-
}
|
|
58
|
-
const dataColumnSidecars = blockInput.getCustodyColumns();
|
|
59
|
-
if (dataColumnSidecars.length !== dataColumnsLen) {
|
|
60
|
-
this.logger.debug(`Invalid dataColumnSidecars=${dataColumnSidecars.length} for custody expected custodyColumnsLen=${dataColumnsLen}`);
|
|
61
|
-
}
|
|
62
|
-
const binaryPuts = [];
|
|
63
|
-
const nonbinaryPuts = [];
|
|
64
|
-
for (const dataColumnSidecar of dataColumnSidecars) {
|
|
65
|
-
// skip reserializing column if we already have it
|
|
66
|
-
const serialized = this.serializedCache.get(dataColumnSidecar);
|
|
67
|
-
if (serialized) {
|
|
68
|
-
binaryPuts.push({ key: dataColumnSidecar.index, value: serialized });
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
nonbinaryPuts.push(dataColumnSidecar);
|
|
72
|
-
}
|
|
32
|
+
const blockBytes = this.serializedCache.get(block);
|
|
33
|
+
if (blockBytes) {
|
|
34
|
+
// skip serializing data if we already have it
|
|
35
|
+
this.metrics?.importBlock.persistBlockWithSerializedDataCount.inc();
|
|
36
|
+
fnPromises.push(this.db.block.putBinary(this.db.block.getId(block), blockBytes));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
this.metrics?.importBlock.persistBlockNoSerializedDataCount.inc();
|
|
40
|
+
fnPromises.push(this.db.block.add(block));
|
|
41
|
+
}
|
|
42
|
+
this.logger.debug("Persist block to hot DB", { slot, root: blockRootHex, inputType: blockInput.type, numBlobs });
|
|
43
|
+
if (isBlockInputBlobs(blockInput)) {
|
|
44
|
+
fnPromises.push((async () => {
|
|
45
|
+
if (!blockInput.hasAllData()) {
|
|
46
|
+
await blockInput.waitForAllData(BLOB_AVAILABILITY_TIMEOUT);
|
|
73
47
|
}
|
|
74
|
-
fnPromises.push(this.db.dataColumnSidecar.putManyBinary(blockRoot, binaryPuts));
|
|
75
|
-
fnPromises.push(this.db.dataColumnSidecar.putMany(blockRoot, nonbinaryPuts));
|
|
76
|
-
this.logger.debug("Persisted dataColumnSidecars to hot DB", {
|
|
77
|
-
slot: block.message.slot,
|
|
78
|
-
root: blockRootHex,
|
|
79
|
-
dataColumnSidecars: dataColumnSidecars.length,
|
|
80
|
-
numBlobs: blobsLen,
|
|
81
|
-
custodyColumns: custodyColumns.length,
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
else if (isBlockInputBlobs(blockInput)) {
|
|
85
48
|
const blobSidecars = blockInput.getBlobs();
|
|
86
|
-
|
|
49
|
+
await this.db.blobSidecars.add({ blockRoot, slot, blobSidecars });
|
|
87
50
|
this.logger.debug("Persisted blobSidecars to hot DB", {
|
|
88
|
-
|
|
89
|
-
slot: block.message.slot,
|
|
51
|
+
slot,
|
|
90
52
|
root: blockRootHex,
|
|
53
|
+
numBlobs: blobSidecars.length,
|
|
91
54
|
});
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
55
|
+
})());
|
|
56
|
+
}
|
|
57
|
+
await Promise.all(fnPromises);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Persists data columns to DB for a given block. Accepts a narrow sub-interface of IBlockInput
|
|
61
|
+
* so it can be reused across forks (e.g. Fulu, Gloas).
|
|
62
|
+
*
|
|
63
|
+
* NOTE: Old data is pruned on archive.
|
|
64
|
+
*/
|
|
65
|
+
export async function writeDataColumnsToDb(blockInput) {
|
|
66
|
+
const { slot, blockRootHex } = blockInput;
|
|
67
|
+
const blockRoot = fromHex(blockRootHex);
|
|
68
|
+
if (!blockInput.hasComputedAllData()) {
|
|
69
|
+
// Supernodes may only have a subset of the data columns by the time the block begins to be imported
|
|
70
|
+
// because full data availability can be assumed after NUMBER_OF_COLUMNS / 2 columns are available.
|
|
71
|
+
// Here, however, all data columns must be fully available/reconstructed before persisting to the DB.
|
|
72
|
+
await blockInput.waitForComputedAllData(BLOB_AVAILABILITY_TIMEOUT).catch(() => {
|
|
73
|
+
this.logger.debug("Failed to wait for computed all data", { slot, blockRoot: blockRootHex });
|
|
97
74
|
});
|
|
98
75
|
}
|
|
76
|
+
const { custodyColumns } = this.custodyConfig;
|
|
77
|
+
const dataColumnSidecars = blockInput.getCustodyColumns();
|
|
78
|
+
const binaryPuts = [];
|
|
79
|
+
const nonbinaryPuts = [];
|
|
80
|
+
for (const dataColumnSidecar of dataColumnSidecars) {
|
|
81
|
+
// skip reserializing column if we already have it
|
|
82
|
+
const serialized = this.serializedCache.get(dataColumnSidecar);
|
|
83
|
+
if (serialized) {
|
|
84
|
+
binaryPuts.push({ key: dataColumnSidecar.index, value: serialized });
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
nonbinaryPuts.push(dataColumnSidecar);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
await Promise.all([
|
|
91
|
+
this.db.dataColumnSidecar.putManyBinary(blockRoot, binaryPuts),
|
|
92
|
+
this.db.dataColumnSidecar.putMany(blockRoot, nonbinaryPuts),
|
|
93
|
+
]);
|
|
94
|
+
this.logger.debug("Persisted dataColumnSidecars to hot DB", {
|
|
95
|
+
slot,
|
|
96
|
+
root: blockRootHex,
|
|
97
|
+
dataColumnSidecars: dataColumnSidecars.length,
|
|
98
|
+
custodyColumns: custodyColumns.length,
|
|
99
|
+
numBlobs: dataColumnSidecars[0]?.column.length,
|
|
100
|
+
});
|
|
99
101
|
}
|
|
100
|
-
export async function
|
|
102
|
+
export async function persistBlockInput(blockInput) {
|
|
101
103
|
await writeBlockInputToDb
|
|
102
|
-
.call(this,
|
|
104
|
+
.call(this, blockInput)
|
|
103
105
|
.catch((e) => {
|
|
104
106
|
this.logger.debug("Error persisting block input in hot db", {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
root: blockInputs[0].blockRootHex,
|
|
107
|
+
slot: blockInput.slot,
|
|
108
|
+
root: blockInput.blockRootHex,
|
|
108
109
|
}, e);
|
|
109
110
|
})
|
|
110
111
|
.finally(() => {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
this.serializedCache.clear();
|
|
117
|
-
if (blockInputs.length === 1) {
|
|
118
|
-
this.logger.debug("Pruned block input", {
|
|
119
|
-
slot: blockInputs[0].slot,
|
|
120
|
-
root: blockInputs[0].blockRootHex,
|
|
121
|
-
});
|
|
122
|
-
}
|
|
112
|
+
this.seenBlockInputCache.prune(blockInput.blockRootHex);
|
|
113
|
+
this.logger.debug("Pruned block input", {
|
|
114
|
+
slot: blockInput.slot,
|
|
115
|
+
root: blockInput.blockRootHex,
|
|
116
|
+
});
|
|
123
117
|
});
|
|
124
118
|
}
|
|
125
119
|
//# sourceMappingURL=writeBlockInputToDb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeBlockInputToDb.js","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"writeBlockInputToDb.js","sourceRoot":"","sources":["../../../src/chain/blocks/writeBlockInputToDb.ts"],"names":[],"mappings":"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"}
|
package/lib/chain/chain.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ import { Metrics } from "../metrics/index.js";
|
|
|
12
12
|
import { BufferPool } from "../util/bufferPool.js";
|
|
13
13
|
import { IClock } from "../util/clock.js";
|
|
14
14
|
import { CustodyConfig } from "../util/dataColumns.js";
|
|
15
|
-
import { JobItemQueue } from "../util/queue/itemQueue.
|
|
15
|
+
import { JobItemQueue } from "../util/queue/itemQueue.js";
|
|
16
16
|
import { SerializedCache } from "../util/serializedCache.js";
|
|
17
17
|
import { ArchiveStore } from "./archiveStore/archiveStore.js";
|
|
18
18
|
import { CheckpointBalancesCache } from "./balancesCache.js";
|
|
@@ -59,7 +59,7 @@ export declare class BeaconChain implements IBeaconChain {
|
|
|
59
59
|
readonly lightClientServer?: LightClientServer;
|
|
60
60
|
readonly reprocessController: ReprocessController;
|
|
61
61
|
readonly archiveStore: ArchiveStore;
|
|
62
|
-
readonly unfinalizedBlockWrites: JobItemQueue<[IBlockInput
|
|
62
|
+
readonly unfinalizedBlockWrites: JobItemQueue<[IBlockInput], void>;
|
|
63
63
|
readonly attestationPool: AttestationPool;
|
|
64
64
|
readonly aggregatedAttestationPool: AggregatedAttestationPool;
|
|
65
65
|
readonly syncCommitteeMessagePool: SyncCommitteeMessagePool;
|
package/lib/chain/chain.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/chain/chain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../../src/chain/chain.ts"],"names":[],"mappings":"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"}
|
package/lib/chain/chain.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { UpdateHeadOpt } from "@lodestar/fork-choice";
|
|
2
|
+
import { UpdateHeadOpt, } from "@lodestar/fork-choice";
|
|
3
3
|
import { BUILDER_INDEX_SELF_BUILD, EFFECTIVE_BALANCE_INCREMENT, GENESIS_SLOT, SLOTS_PER_EPOCH, isForkPostElectra, isForkPostGloas, } from "@lodestar/params";
|
|
4
4
|
import { computeAnchorCheckpoint, computeAttestationsRewards, computeBlockRewards, computeEndSlotAtEpoch, computeEpochAtSlot, computeStartSlotAtEpoch, computeSyncCommitteeRewards, getEffectiveBalanceIncrementsZeroInactive, getEffectiveBalancesFromStateBytes, processSlots, } from "@lodestar/state-transition";
|
|
5
5
|
import { isBlindedBeaconBlock, ssz, sszTypesFor, } from "@lodestar/types";
|
|
@@ -22,7 +22,7 @@ import { CheckpointBalancesCache } from "./balancesCache.js";
|
|
|
22
22
|
import { BeaconProposerCache } from "./beaconProposerCache.js";
|
|
23
23
|
import { isBlockInputBlobs, isBlockInputColumns } from "./blocks/blockInput/index.js";
|
|
24
24
|
import { BlockProcessor } from "./blocks/index.js";
|
|
25
|
-
import {
|
|
25
|
+
import { persistBlockInput } from "./blocks/writeBlockInputToDb.js";
|
|
26
26
|
import { BlsMultiThreadWorkerPool, BlsSingleThreadVerifier } from "./bls/index.js";
|
|
27
27
|
import { ColumnReconstructionTracker } from "./ColumnReconstructionTracker.js";
|
|
28
28
|
import { ChainEvent, ChainEventEmitter } from "./emitter.js";
|
|
@@ -180,12 +180,14 @@ export class BeaconChain {
|
|
|
180
180
|
});
|
|
181
181
|
this.beaconProposerCache = new BeaconProposerCache(opts);
|
|
182
182
|
this.checkpointBalancesCache = new CheckpointBalancesCache();
|
|
183
|
+
this.serializedCache = new SerializedCache();
|
|
183
184
|
this.seenBlockInputCache = new SeenBlockInput({
|
|
184
185
|
config,
|
|
185
186
|
custodyConfig: this.custodyConfig,
|
|
186
187
|
clock,
|
|
187
188
|
chainEvents: emitter,
|
|
188
189
|
signal,
|
|
190
|
+
serializedCache: this.serializedCache,
|
|
189
191
|
metrics,
|
|
190
192
|
logger,
|
|
191
193
|
});
|
|
@@ -247,7 +249,6 @@ export class BeaconChain {
|
|
|
247
249
|
this.regen = regen;
|
|
248
250
|
this.bls = bls;
|
|
249
251
|
this.emitter = emitter;
|
|
250
|
-
this.serializedCache = new SerializedCache();
|
|
251
252
|
this.getBlobsTracker = new GetBlobsTracker({
|
|
252
253
|
logger,
|
|
253
254
|
executionEngine: this.executionEngine,
|
|
@@ -262,7 +263,7 @@ export class BeaconChain {
|
|
|
262
263
|
config,
|
|
263
264
|
});
|
|
264
265
|
this.archiveStore = new ArchiveStore({ db, chain: this, logger: logger, metrics }, { ...opts, dbName, anchorState: { finalizedCheckpoint: anchorState.finalizedCheckpoint } }, signal);
|
|
265
|
-
this.unfinalizedBlockWrites = new JobItemQueue(
|
|
266
|
+
this.unfinalizedBlockWrites = new JobItemQueue(persistBlockInput.bind(this), {
|
|
266
267
|
maxLength: DEFAULT_MAX_PENDING_UNFINALIZED_BLOCK_WRITES,
|
|
267
268
|
signal,
|
|
268
269
|
}, metrics?.unfinalizedBlockWritesQueue);
|
|
@@ -394,7 +395,7 @@ export class BeaconChain {
|
|
|
394
395
|
async getStateByStateRoot(stateRoot, opts) {
|
|
395
396
|
if (opts?.allowRegen) {
|
|
396
397
|
const state = await this.regen.getState(stateRoot, RegenCaller.restApi);
|
|
397
|
-
const block = this.forkChoice.
|
|
398
|
+
const block = this.forkChoice.getBlockDefaultStatus(state.latestBlockHeader.hashTreeRoot());
|
|
398
399
|
const finalizedEpoch = this.forkChoice.getFinalizedCheckpoint().epoch;
|
|
399
400
|
return {
|
|
400
401
|
state,
|
|
@@ -408,7 +409,7 @@ export class BeaconChain {
|
|
|
408
409
|
// TODO: This is very inneficient for debug requests of serialized content, since it deserializes to serialize again
|
|
409
410
|
const cachedStateCtx = this.regen.getStateSync(stateRoot);
|
|
410
411
|
if (cachedStateCtx) {
|
|
411
|
-
const block = this.forkChoice.
|
|
412
|
+
const block = this.forkChoice.getBlockDefaultStatus(cachedStateCtx.latestBlockHeader.hashTreeRoot());
|
|
412
413
|
const finalizedEpoch = this.forkChoice.getFinalizedCheckpoint().epoch;
|
|
413
414
|
return {
|
|
414
415
|
state: cachedStateCtx,
|
|
@@ -435,7 +436,7 @@ export class BeaconChain {
|
|
|
435
436
|
// finalized or justified checkpoint states maynot be available with PersistentCheckpointStateCache, use getCheckpointStateOrBytes() api to get Uint8Array
|
|
436
437
|
const cachedStateCtx = this.regen.getCheckpointStateSync(checkpoint);
|
|
437
438
|
if (cachedStateCtx) {
|
|
438
|
-
const block = this.forkChoice.
|
|
439
|
+
const block = this.forkChoice.getBlockDefaultStatus(cachedStateCtx.latestBlockHeader.hashTreeRoot());
|
|
439
440
|
const finalizedEpoch = this.forkChoice.getFinalizedCheckpoint().epoch;
|
|
440
441
|
return {
|
|
441
442
|
state: cachedStateCtx,
|
|
@@ -448,7 +449,7 @@ export class BeaconChain {
|
|
|
448
449
|
async getStateOrBytesByCheckpoint(checkpoint) {
|
|
449
450
|
const cachedStateCtx = await this.regen.getCheckpointStateOrBytes(checkpoint);
|
|
450
451
|
if (cachedStateCtx) {
|
|
451
|
-
const block = this.forkChoice.
|
|
452
|
+
const block = this.forkChoice.getBlockDefaultStatus(checkpoint.root);
|
|
452
453
|
const finalizedEpoch = this.forkChoice.getFinalizedCheckpoint().epoch;
|
|
453
454
|
return {
|
|
454
455
|
state: cachedStateCtx,
|
|
@@ -484,7 +485,7 @@ export class BeaconChain {
|
|
|
484
485
|
return data && { block: data, executionOptimistic: false, finalized: true };
|
|
485
486
|
}
|
|
486
487
|
async getBlockByRoot(root) {
|
|
487
|
-
const block = this.forkChoice.
|
|
488
|
+
const block = this.forkChoice.getBlockHexDefaultStatus(root);
|
|
488
489
|
if (block) {
|
|
489
490
|
// Block found in fork-choice.
|
|
490
491
|
// It may be in the block input cache, awaiting full DA reconstruction, check there first
|
|
@@ -504,7 +505,7 @@ export class BeaconChain {
|
|
|
504
505
|
return data && { block: data, executionOptimistic: false, finalized: true };
|
|
505
506
|
}
|
|
506
507
|
async getSerializedBlockByRoot(root) {
|
|
507
|
-
const block = this.forkChoice.
|
|
508
|
+
const block = this.forkChoice.getBlockHexDefaultStatus(root);
|
|
508
509
|
if (block) {
|
|
509
510
|
// Block found in fork-choice.
|
|
510
511
|
// It may be in the block input cache, awaiting full DA reconstruction, check there first
|
|
@@ -899,7 +900,7 @@ export class BeaconChain {
|
|
|
899
900
|
return { state: blockState, stateId: "block_state_same_epoch", shouldWarn: true };
|
|
900
901
|
}
|
|
901
902
|
// Find a state in the same branch of checkpoint at same epoch. Balances should exactly the same
|
|
902
|
-
for (const descendantBlock of this.forkChoice.forwardIterateDescendants(checkpoint.rootHex)) {
|
|
903
|
+
for (const descendantBlock of this.forkChoice.forwardIterateDescendants(checkpoint.rootHex, checkpoint.payloadStatus)) {
|
|
903
904
|
if (computeEpochAtSlot(descendantBlock.slot) === checkpoint.epoch) {
|
|
904
905
|
const descendantBlockState = this.regen.getStateSync(descendantBlock.stateRoot);
|
|
905
906
|
if (descendantBlockState) {
|
|
@@ -913,7 +914,7 @@ export class BeaconChain {
|
|
|
913
914
|
}
|
|
914
915
|
// Find a state in the same branch of checkpoint at a latter epoch. Balances are not the same, but should be close
|
|
915
916
|
// Note: must call .forwardIterateDescendants() again since nodes are not sorted
|
|
916
|
-
for (const descendantBlock of this.forkChoice.forwardIterateDescendants(checkpoint.rootHex)) {
|
|
917
|
+
for (const descendantBlock of this.forkChoice.forwardIterateDescendants(checkpoint.rootHex, checkpoint.payloadStatus)) {
|
|
917
918
|
if (computeEpochAtSlot(descendantBlock.slot) > checkpoint.epoch) {
|
|
918
919
|
const descendantBlockState = this.regen.getStateSync(descendantBlock.stateRoot);
|
|
919
920
|
if (descendantBlockState) {
|