@lodestar/beacon-node 1.50.0-dev.abf1d462fa → 1.50.0-dev.b37917f96a
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 +6 -1
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/index.js +13 -0
- package/lib/api/impl/beacon/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +4 -4
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.d.ts.map +1 -1
- package/lib/api/impl/beacon/state/index.js +28 -6
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/debug/index.d.ts.map +1 -1
- package/lib/api/impl/debug/index.js +26 -18
- package/lib/api/impl/debug/index.js.map +1 -1
- package/lib/api/impl/validator/index.d.ts +1 -0
- package/lib/api/impl/validator/index.d.ts.map +1 -1
- package/lib/api/impl/validator/index.js +23 -1
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/archiveStore/archiveStore.d.ts +6 -0
- package/lib/chain/archiveStore/archiveStore.d.ts.map +1 -1
- package/lib/chain/archiveStore/archiveStore.js +18 -24
- package/lib/chain/archiveStore/archiveStore.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts +2 -2
- package/lib/chain/archiveStore/historicalState/getHistoricalState.d.ts.map +1 -1
- package/lib/chain/archiveStore/historicalState/getHistoricalState.js +5 -7
- package/lib/chain/archiveStore/historicalState/getHistoricalState.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.js +1 -1
- package/lib/chain/archiveStore/historicalState/historicalStateRegen.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/types.d.ts +2 -2
- package/lib/chain/archiveStore/historicalState/types.d.ts.map +1 -1
- package/lib/chain/archiveStore/historicalState/worker.js +1 -1
- package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
- package/lib/chain/archiveStore/interface.d.ts +1 -1
- package/lib/chain/archiveStore/interface.d.ts.map +1 -1
- package/lib/chain/archiveStore/utils/pruneHistory.d.ts +4 -1
- package/lib/chain/archiveStore/utils/pruneHistory.d.ts.map +1 -1
- package/lib/chain/archiveStore/utils/pruneHistory.js +5 -3
- package/lib/chain/archiveStore/utils/pruneHistory.js.map +1 -1
- package/lib/chain/blocks/importBlock.d.ts.map +1 -1
- package/lib/chain/blocks/importBlock.js +17 -6
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts +2 -1
- package/lib/chain/blocks/payloadEnvelopeInput/types.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlock.js +7 -7
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts +2 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +5 -4
- package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
- package/lib/chain/chain.d.ts +9 -5
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +90 -36
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/emitter.d.ts +7 -1
- package/lib/chain/emitter.d.ts.map +1 -1
- package/lib/chain/emitter.js +5 -0
- package/lib/chain/emitter.js.map +1 -1
- package/lib/chain/errors/envelopeReconstructionError.d.ts +5 -0
- package/lib/chain/errors/envelopeReconstructionError.d.ts.map +1 -1
- package/lib/chain/errors/envelopeReconstructionError.js +2 -0
- package/lib/chain/errors/envelopeReconstructionError.js.map +1 -1
- package/lib/chain/errors/gossipValidation.d.ts +3 -1
- package/lib/chain/errors/gossipValidation.d.ts.map +1 -1
- package/lib/chain/errors/gossipValidation.js +2 -0
- package/lib/chain/errors/gossipValidation.js.map +1 -1
- package/lib/chain/forkChoice/index.d.ts.map +1 -1
- package/lib/chain/forkChoice/index.js +2 -0
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/initState.d.ts +2 -9
- package/lib/chain/initState.d.ts.map +1 -1
- package/lib/chain/initState.js +5 -38
- package/lib/chain/initState.js.map +1 -1
- package/lib/chain/interface.d.ts +3 -2
- package/lib/chain/interface.d.ts.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts +4 -2
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js +30 -8
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/opPool.d.ts +5 -4
- package/lib/chain/opPools/opPool.d.ts.map +1 -1
- package/lib/chain/opPools/opPool.js +62 -18
- package/lib/chain/opPools/opPool.js.map +1 -1
- package/lib/chain/opPools/proposerPreferencesPool.d.ts +4 -4
- package/lib/chain/opPools/proposerPreferencesPool.d.ts.map +1 -1
- package/lib/chain/opPools/proposerPreferencesPool.js +14 -11
- package/lib/chain/opPools/proposerPreferencesPool.js.map +1 -1
- package/lib/chain/opPools/utils.d.ts +4 -1
- package/lib/chain/opPools/utils.d.ts.map +1 -1
- package/lib/chain/opPools/utils.js +11 -1
- package/lib/chain/opPools/utils.js.map +1 -1
- package/lib/chain/options.d.ts +2 -1
- package/lib/chain/options.d.ts.map +1 -1
- package/lib/chain/options.js +1 -1
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/prepareNextSlot.d.ts.map +1 -1
- package/lib/chain/prepareNextSlot.js +5 -2
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/produceBlock/computeNewStateRoot.js +1 -1
- package/lib/chain/produceBlock/computeNewStateRoot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +3 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +6 -2
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/regen/regen.d.ts +2 -0
- package/lib/chain/regen/regen.d.ts.map +1 -1
- package/lib/chain/regen/regen.js +10 -4
- package/lib/chain/regen/regen.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +7 -0
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.js +21 -0
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts +9 -2
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.d.ts.map +1 -1
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.js +23 -13
- package/lib/chain/seenCache/seenPayloadEnvelopeInput.js.map +1 -1
- package/lib/chain/shufflingCache.d.ts +18 -8
- package/lib/chain/shufflingCache.d.ts.map +1 -1
- package/lib/chain/shufflingCache.js +72 -18
- package/lib/chain/shufflingCache.js.map +1 -1
- package/lib/chain/validation/attesterSlashing.d.ts +4 -4
- package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
- package/lib/chain/validation/attesterSlashing.js +3 -0
- package/lib/chain/validation/attesterSlashing.js.map +1 -1
- package/lib/chain/validation/proposerSlashing.d.ts +3 -3
- package/lib/chain/validation/proposerSlashing.d.ts.map +1 -1
- package/lib/chain/validation/proposerSlashing.js +3 -0
- package/lib/chain/validation/proposerSlashing.js.map +1 -1
- package/lib/chain/validatorMonitor.d.ts +5 -1
- package/lib/chain/validatorMonitor.d.ts.map +1 -1
- package/lib/chain/validatorMonitor.js +64 -54
- package/lib/chain/validatorMonitor.js.map +1 -1
- package/lib/db/beacon.d.ts +2 -0
- package/lib/db/beacon.d.ts.map +1 -1
- package/lib/db/beacon.js +5 -0
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/buckets.d.ts +2 -1
- package/lib/db/buckets.d.ts.map +1 -1
- package/lib/db/buckets.js +1 -0
- package/lib/db/buckets.js.map +1 -1
- package/lib/db/interface.d.ts +2 -0
- package/lib/db/interface.d.ts.map +1 -1
- package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
- package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
- package/lib/db/repositories/earliestAvailableSlot.d.ts +11 -0
- package/lib/db/repositories/earliestAvailableSlot.d.ts.map +1 -0
- package/lib/db/repositories/earliestAvailableSlot.js +19 -0
- package/lib/db/repositories/earliestAvailableSlot.js.map +1 -0
- package/lib/db/repositories/proposerSlashing.d.ts +1 -0
- package/lib/db/repositories/proposerSlashing.d.ts.map +1 -1
- package/lib/db/repositories/proposerSlashing.js +5 -1
- package/lib/db/repositories/proposerSlashing.js.map +1 -1
- package/lib/execution/engine/disabled.d.ts +0 -2
- package/lib/execution/engine/disabled.d.ts.map +1 -1
- package/lib/execution/engine/disabled.js +0 -6
- package/lib/execution/engine/disabled.js.map +1 -1
- package/lib/execution/engine/http.d.ts +1 -3
- package/lib/execution/engine/http.d.ts.map +1 -1
- package/lib/execution/engine/http.js +2 -17
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +2 -4
- package/lib/execution/engine/interface.d.ts.map +1 -1
- package/lib/execution/engine/mock.d.ts +0 -2
- package/lib/execution/engine/mock.d.ts.map +1 -1
- package/lib/execution/engine/mock.js +0 -8
- package/lib/execution/engine/mock.js.map +1 -1
- package/lib/execution/engine/types.d.ts +0 -8
- package/lib/execution/engine/types.d.ts.map +1 -1
- package/lib/execution/engine/types.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +7 -0
- package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
- package/lib/metrics/metrics/lodestar.js +17 -0
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/metrics/metrics.d.ts +7 -3
- package/lib/metrics/metrics.d.ts.map +1 -1
- package/lib/metrics/metrics.js +4 -4
- package/lib/metrics/metrics.js.map +1 -1
- package/lib/network/processor/gossipHandlers.d.ts.map +1 -1
- package/lib/network/processor/gossipHandlers.js +66 -67
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/gossipValidatorFn.d.ts +7 -3
- package/lib/network/processor/gossipValidatorFn.d.ts.map +1 -1
- package/lib/network/processor/gossipValidatorFn.js +7 -3
- package/lib/network/processor/gossipValidatorFn.js.map +1 -1
- package/lib/network/processor/index.d.ts +9 -0
- package/lib/network/processor/index.d.ts.map +1 -1
- package/lib/network/processor/index.js +77 -10
- package/lib/network/processor/index.js.map +1 -1
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.d.ts.map +1 -1
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js +41 -26
- package/lib/network/reqresp/handlers/executionPayloadEnvelopesByRoot.js.map +1 -1
- package/lib/node/nodejs.d.ts +3 -1
- package/lib/node/nodejs.d.ts.map +1 -1
- package/lib/node/nodejs.js +27 -4
- package/lib/node/nodejs.js.map +1 -1
- package/lib/sync/range/batch.d.ts +11 -5
- package/lib/sync/range/batch.d.ts.map +1 -1
- package/lib/sync/range/batch.js +21 -17
- package/lib/sync/range/batch.js.map +1 -1
- package/lib/sync/range/chain.d.ts +4 -4
- package/lib/sync/range/chain.d.ts.map +1 -1
- package/lib/sync/range/chain.js +12 -6
- package/lib/sync/range/chain.js.map +1 -1
- package/lib/sync/range/range.d.ts.map +1 -1
- package/lib/sync/range/range.js +75 -29
- package/lib/sync/range/range.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts +14 -7
- package/lib/sync/unknownBlock.d.ts.map +1 -1
- package/lib/sync/unknownBlock.js +132 -66
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/downloadByRange.d.ts +38 -14
- package/lib/sync/utils/downloadByRange.d.ts.map +1 -1
- package/lib/sync/utils/downloadByRange.js +84 -39
- package/lib/sync/utils/downloadByRange.js.map +1 -1
- package/lib/util/execution.d.ts +11 -11
- package/lib/util/execution.d.ts.map +1 -1
- package/lib/util/execution.js +6 -2
- package/lib/util/execution.js.map +1 -1
- package/package.json +17 -17
- package/src/api/impl/beacon/blocks/index.ts +7 -4
- package/src/api/impl/beacon/index.ts +15 -0
- package/src/api/impl/beacon/pool/index.ts +4 -4
- package/src/api/impl/beacon/state/index.ts +43 -6
- package/src/api/impl/debug/index.ts +28 -19
- package/src/api/impl/validator/index.ts +24 -2
- package/src/chain/archiveStore/archiveStore.ts +26 -26
- package/src/chain/archiveStore/historicalState/getHistoricalState.ts +5 -7
- package/src/chain/archiveStore/historicalState/historicalStateRegen.ts +1 -1
- package/src/chain/archiveStore/historicalState/types.ts +2 -2
- package/src/chain/archiveStore/historicalState/worker.ts +1 -2
- package/src/chain/archiveStore/interface.ts +1 -1
- package/src/chain/archiveStore/utils/pruneHistory.ts +9 -4
- package/src/chain/blocks/importBlock.ts +20 -5
- package/src/chain/blocks/payloadEnvelopeInput/types.ts +2 -1
- package/src/chain/blocks/verifyBlock.ts +8 -6
- package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +6 -3
- package/src/chain/chain.ts +118 -38
- package/src/chain/emitter.ts +7 -1
- package/src/chain/errors/envelopeReconstructionError.ts +3 -0
- package/src/chain/errors/gossipValidation.ts +2 -0
- package/src/chain/forkChoice/index.ts +2 -0
- package/src/chain/initState.ts +8 -60
- package/src/chain/interface.ts +3 -2
- package/src/chain/opPools/aggregatedAttestationPool.ts +34 -10
- package/src/chain/opPools/opPool.ts +91 -18
- package/src/chain/opPools/proposerPreferencesPool.ts +14 -10
- package/src/chain/opPools/utils.ts +31 -3
- package/src/chain/options.ts +3 -3
- package/src/chain/prepareNextSlot.ts +6 -3
- package/src/chain/produceBlock/computeNewStateRoot.ts +1 -1
- package/src/chain/produceBlock/produceBlockBody.ts +8 -1
- package/src/chain/regen/regen.ts +12 -4
- package/src/chain/seenCache/seenGossipBlockInput.ts +23 -0
- package/src/chain/seenCache/seenPayloadEnvelopeInput.ts +31 -13
- package/src/chain/shufflingCache.ts +84 -22
- package/src/chain/validation/attesterSlashing.ts +7 -4
- package/src/chain/validation/proposerSlashing.ts +7 -4
- package/src/chain/validatorMonitor.ts +75 -57
- package/src/db/beacon.ts +5 -0
- package/src/db/buckets.ts +1 -0
- package/src/db/interface.ts +2 -0
- package/src/db/repositories/earliestAvailableSlot.ts +19 -0
- package/src/db/repositories/proposerSlashing.ts +6 -1
- package/src/execution/engine/disabled.ts +0 -8
- package/src/execution/engine/http.ts +1 -30
- package/src/execution/engine/interface.ts +2 -6
- package/src/execution/engine/mock.ts +1 -19
- package/src/execution/engine/types.ts +0 -10
- package/src/index.ts +1 -1
- package/src/metrics/metrics/lodestar.ts +18 -0
- package/src/metrics/metrics.ts +21 -6
- package/src/network/processor/gossipHandlers.ts +97 -80
- package/src/network/processor/gossipValidatorFn.ts +13 -3
- package/src/network/processor/index.ts +89 -10
- package/src/network/reqresp/handlers/executionPayloadEnvelopesByRoot.ts +42 -28
- package/src/node/nodejs.ts +35 -3
- package/src/sync/range/batch.ts +25 -19
- package/src/sync/range/chain.ts +15 -8
- package/src/sync/range/range.ts +76 -30
- package/src/sync/unknownBlock.ts +156 -71
- package/src/sync/utils/downloadByRange.ts +123 -58
- package/src/util/execution.ts +17 -9
package/lib/sync/range/range.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { EventEmitter } from "node:events";
|
|
2
2
|
import { computeStartSlotAtEpoch, isStatePostGloas } from "@lodestar/state-transition";
|
|
3
|
-
import {
|
|
3
|
+
import { ssz } from "@lodestar/types";
|
|
4
|
+
import { byteArrayEquals, prettyPrintIndices, toRootHex } from "@lodestar/utils";
|
|
5
|
+
import { PayloadError, PayloadErrorCode } from "../../chain/blocks/importExecutionPayload.js";
|
|
4
6
|
import { AttestationImportOpt } from "../../chain/blocks/index.js";
|
|
5
7
|
import { assertLinearChainSegment } from "../../chain/blocks/utils/chainSegment.js";
|
|
6
8
|
import { BlockError } from "../../chain/errors/index.js";
|
|
@@ -157,23 +159,51 @@ export class RangeSync extends EventEmitter {
|
|
|
157
159
|
// so we can utilize worker threads to verify signatures
|
|
158
160
|
blsVerifyOnMainThread: false,
|
|
159
161
|
};
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
162
|
+
try {
|
|
163
|
+
if (this.opts?.disableProcessAsChainSegment) {
|
|
164
|
+
// Should only be used for debugging or testing
|
|
165
|
+
for (const block of blocks) {
|
|
166
|
+
await this.chain.processBlock(block, flags);
|
|
167
|
+
const payloadEnvelope = payloadEnvelopes?.get(block.slot);
|
|
168
|
+
if (payloadEnvelope?.hasPayloadEnvelope()) {
|
|
169
|
+
await this.chain.processExecutionPayload(payloadEnvelope);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
const { orphaned, skipped } = await this.chain.processChainSegment(blocks, payloadEnvelopes, flags);
|
|
175
|
+
// We log orphaned payloads to work with different clients
|
|
176
|
+
// in the future, consider applying penalties in certain conditions
|
|
177
|
+
// make sure the payload source was from range sync in that case
|
|
178
|
+
for (const { slot, payloadEnvelopeInput } of orphaned) {
|
|
179
|
+
const { peerIdStr, source } = payloadEnvelopeInput.getPayloadEnvelopeSource();
|
|
180
|
+
let client = "unknown";
|
|
181
|
+
if (peerIdStr !== undefined) {
|
|
182
|
+
try {
|
|
183
|
+
client = this.getConnectedPeerSyncMeta(peerIdStr).client;
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
// peer disconnected since serving the envelope, keep "unknown"
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
this.logger.debug("Orphaned payload envelope in range sync batch", {
|
|
190
|
+
slot,
|
|
191
|
+
root: payloadEnvelopeInput.blockRootHex,
|
|
192
|
+
peer: peerIdStr ?? "unknown",
|
|
193
|
+
source,
|
|
194
|
+
client,
|
|
195
|
+
skipped,
|
|
196
|
+
});
|
|
167
197
|
}
|
|
168
198
|
}
|
|
169
199
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
const { peerIdStr, source } =
|
|
200
|
+
catch (e) {
|
|
201
|
+
if (e instanceof PayloadError &&
|
|
202
|
+
(e.type.code === PayloadErrorCode.INVALID_SIGNATURE ||
|
|
203
|
+
e.type.code === PayloadErrorCode.ENVELOPE_VERIFICATION_ERROR ||
|
|
204
|
+
e.type.code === PayloadErrorCode.EXECUTION_ENGINE_INVALID)) {
|
|
205
|
+
const { payloadInput } = e;
|
|
206
|
+
const { peerIdStr, source } = payloadInput.getPayloadEnvelopeSource();
|
|
177
207
|
let client = "unknown";
|
|
178
208
|
if (peerIdStr !== undefined) {
|
|
179
209
|
try {
|
|
@@ -183,29 +213,31 @@ export class RangeSync extends EventEmitter {
|
|
|
183
213
|
// peer disconnected since serving the envelope, keep "unknown"
|
|
184
214
|
}
|
|
185
215
|
}
|
|
186
|
-
this.logger.debug("
|
|
187
|
-
slot,
|
|
188
|
-
root:
|
|
216
|
+
this.logger.debug("Removing invalid payload envelope in range sync batch", {
|
|
217
|
+
slot: payloadInput.slot,
|
|
218
|
+
root: payloadInput.blockRootHex,
|
|
189
219
|
peer: peerIdStr ?? "unknown",
|
|
190
220
|
source,
|
|
191
221
|
client,
|
|
192
|
-
|
|
222
|
+
code: e.type.code,
|
|
193
223
|
});
|
|
224
|
+
// The batch is downloaded again, it would otherwise reuse the cached envelope and fail the same way
|
|
225
|
+
this.chain.seenPayloadEnvelopeInputCache.removeInvalid(payloadInput);
|
|
194
226
|
}
|
|
227
|
+
throw e;
|
|
195
228
|
}
|
|
196
229
|
};
|
|
197
230
|
downloadByRange = async (peer, batch) => {
|
|
198
231
|
const batchBlocks = batch.getBlocks();
|
|
199
232
|
const requests = batch.getRequestsForPeer(peer);
|
|
200
|
-
const
|
|
201
|
-
const parentPayloadCommitments = parentRoot ? batch.getParentPayloadCommitments(parentRoot) : undefined;
|
|
233
|
+
const parentPayload = requests.parentPayloadRequest ? batch.getParentPayload() : undefined;
|
|
202
234
|
const { result, warnings } = await downloadByRange({
|
|
203
235
|
config: this.config,
|
|
204
236
|
network: this.network,
|
|
205
237
|
logger: this.logger,
|
|
206
238
|
peerIdStr: peer.peerId,
|
|
207
239
|
batchBlocks,
|
|
208
|
-
|
|
240
|
+
parentPayload,
|
|
209
241
|
peerDasMetrics: this.chain.metrics?.peerDas,
|
|
210
242
|
...requests,
|
|
211
243
|
});
|
|
@@ -218,6 +250,7 @@ export class RangeSync extends EventEmitter {
|
|
|
218
250
|
batchBlocks,
|
|
219
251
|
downloadedPayloadEnvelopes,
|
|
220
252
|
existingPayloadEnvelopes: batch.getPayloadEnvelopes(),
|
|
253
|
+
parentPayload,
|
|
221
254
|
custodyConfig: this.chain.custodyConfig,
|
|
222
255
|
seenTimestampSec: Date.now() / 1000,
|
|
223
256
|
});
|
|
@@ -282,13 +315,26 @@ export class RangeSync extends EventEmitter {
|
|
|
282
315
|
addPeerOrCreateChain(startEpoch, target, peer, syncType) {
|
|
283
316
|
let syncChain = this.chains.get(syncType);
|
|
284
317
|
if (!syncChain) {
|
|
285
|
-
// The first
|
|
286
|
-
//
|
|
287
|
-
// downloaded block's `bid.parentBlockHash` against the head state's `latestExecutionPayloadBid.blockHash`.
|
|
318
|
+
// The first block of the first batch may build on the head's FULL variant before its payload is imported,
|
|
319
|
+
// the batch then downloads the head's payload as dangling parent and validates it against the bid
|
|
288
320
|
const headState = this.chain.getHeadState();
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
321
|
+
let parentPayload;
|
|
322
|
+
if (isStatePostGloas(headState) && headState.latestBlockHeader.slot > 0) {
|
|
323
|
+
const header = ssz.phase0.BeaconBlockHeader.clone(headState.latestBlockHeader);
|
|
324
|
+
if (byteArrayEquals(header.stateRoot, ssz.Root.defaultValue())) {
|
|
325
|
+
header.stateRoot = headState.hashTreeRoot();
|
|
326
|
+
}
|
|
327
|
+
const headRoot = ssz.phase0.BeaconBlockHeader.hashTreeRoot(header);
|
|
328
|
+
const headSlot = headState.latestBlockHeader.slot;
|
|
329
|
+
parentPayload = {
|
|
330
|
+
blockRoot: headRoot,
|
|
331
|
+
blockRootHex: toRootHex(headRoot),
|
|
332
|
+
slot: headSlot,
|
|
333
|
+
proposerIndex: headState.latestBlockHeader.proposerIndex,
|
|
334
|
+
forkName: this.config.getForkName(headSlot),
|
|
335
|
+
bid: headState.latestExecutionPayloadBid,
|
|
336
|
+
};
|
|
337
|
+
}
|
|
292
338
|
syncChain = new SyncChain(startEpoch, target, syncType, {
|
|
293
339
|
processChainSegment: this.processChainSegment,
|
|
294
340
|
downloadByRange: this.downloadByRange,
|
|
@@ -302,7 +348,7 @@ export class RangeSync extends EventEmitter {
|
|
|
302
348
|
logger: this.logger,
|
|
303
349
|
custodyConfig: this.chain.custodyConfig,
|
|
304
350
|
metrics: this.metrics,
|
|
305
|
-
},
|
|
351
|
+
}, parentPayload);
|
|
306
352
|
this.chains.set(syncType, syncChain);
|
|
307
353
|
this.metrics?.syncRange.syncChainsEvents.inc({ syncType: syncChain.syncType, event: "add" });
|
|
308
354
|
this.logger.debug("SyncChain added", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"range.js","sourceRoot":"","sources":["../../../src/sync/range/range.ts"],"names":[],"mappings":"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"}
|
|
@@ -112,6 +112,9 @@ export declare class BlockInputSync {
|
|
|
112
112
|
* Gather tip parent blocks with unknown parent and do a search for all of them
|
|
113
113
|
*/
|
|
114
114
|
private triggerUnknownBlockSearch;
|
|
115
|
+
/**
|
|
116
|
+
* Returns false if there is no backoff left to wait for, in which case no retry is scheduled.
|
|
117
|
+
*/
|
|
115
118
|
private scheduleRateLimitBackoffRetry;
|
|
116
119
|
private clearRateLimitBackoffTimer;
|
|
117
120
|
/**
|
|
@@ -156,14 +159,18 @@ export declare class BlockInputSync {
|
|
|
156
159
|
* Also verifies the received block root + returns the peer that provided the block for future downscoring.
|
|
157
160
|
*/
|
|
158
161
|
private fetchBlockInput;
|
|
162
|
+
private removePendingPayloadAndDescendants;
|
|
159
163
|
/**
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
* referenced more than one bad block.
|
|
164
|
+
* Same as `removeAndBanAllDescendants`, and downscores every peer that referenced or served a banned item, once per
|
|
165
|
+
* peer. Only call for consensus-layer invalidity, never for an INVALID execution payload:
|
|
166
|
+
* https://github.com/ethereum/consensus-specs/blob/master/specs/bellatrix/p2p-interface.md#the-reqresp-domain
|
|
164
167
|
*/
|
|
165
168
|
private removeAndDownScoreAllDescendants;
|
|
166
|
-
|
|
169
|
+
/**
|
|
170
|
+
* Removes `block` and all its pending descendants and bans their roots in `knownBadBlocks`. Only call when the chain
|
|
171
|
+
* is provably bad: a banned root is never searched for again. Returns the banned items.
|
|
172
|
+
*/
|
|
173
|
+
private removeAndBanAllDescendants;
|
|
167
174
|
private removeAllDescendants;
|
|
168
175
|
private getMaxDownloadAttempts;
|
|
169
176
|
}
|
|
@@ -181,7 +188,7 @@ export declare class UnknownBlockPeerBalancer {
|
|
|
181
188
|
/** Reset all tracked peer state, e.g. when BlockInputSync unsubscribes from the network. */
|
|
182
189
|
clear(): void;
|
|
183
190
|
onRateLimited(peerId: PeerIdStr, rateLimitedUntilMs: number): void;
|
|
184
|
-
getNextRateLimitRetryAt(pendingColumns?: Set<number>, excludedPeers?: Set<PeerIdStr
|
|
191
|
+
getNextRateLimitRetryAt(pendingColumns?: Set<number>, excludedPeers?: Set<PeerIdStr>, now?: number): number | null;
|
|
185
192
|
/**
|
|
186
193
|
* called from fetchBlockInput()/fetchPayloadInput() with a block/payload root.
|
|
187
194
|
* excludedPeers are the peers that we requested already so we don't want to try again
|
|
@@ -189,7 +196,7 @@ export declare class UnknownBlockPeerBalancer {
|
|
|
189
196
|
* preferredPeers are the peers NetworkProcessor told us gossiped this root (from
|
|
190
197
|
* pendingBlock/cacheItem.peerIdStrings). They are preferred but not required.
|
|
191
198
|
*/
|
|
192
|
-
bestPeerForPendingColumns(pendingColumns: Set<number>, excludedPeers: Set<PeerIdStr>, preferredPeers?: Set<PeerIdStr
|
|
199
|
+
bestPeerForPendingColumns(pendingColumns: Set<number>, excludedPeers: Set<PeerIdStr>, preferredPeers?: Set<PeerIdStr>, now?: number): PeerSyncMeta | null;
|
|
193
200
|
/**
|
|
194
201
|
* Consumers don't need to call this method directly, it is called internally by bestPeer*() methods
|
|
195
202
|
* make this public for testing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknownBlock.d.ts","sourceRoot":"","sources":["../../src/sync/unknownBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,EAAC,MAAM,EAA+E,MAAM,iBAAiB,CAAC;AAMrH,OAAO,EAA6B,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAG3E,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"unknownBlock.d.ts","sourceRoot":"","sources":["../../src/sync/unknownBlock.ts"],"names":[],"mappings":"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"}
|