@lodestar/beacon-node 1.34.0-dev.0c7dfe25ea → 1.34.0-dev.11ca515d52
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.js +52 -40
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +5 -5
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.js +15 -16
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/debug/index.js +2 -2
- package/lib/api/impl/debug/index.js.map +1 -1
- package/lib/api/impl/events/index.js +1 -1
- package/lib/api/impl/events/index.js.map +1 -1
- package/lib/api/impl/validator/index.js +64 -47
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/impl/validator/utils.d.ts +3 -3
- package/lib/api/impl/validator/utils.js +2 -2
- package/lib/api/impl/validator/utils.js.map +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.js +19 -20
- package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
- package/lib/chain/blocks/utils/blowfishBanner.js +1 -0
- package/lib/chain/blocks/utils/blowfishBanner.js.map +1 -1
- package/lib/chain/blocks/utils/giraffeBanner.js +1 -0
- package/lib/chain/blocks/utils/giraffeBanner.js.map +1 -1
- package/lib/chain/blocks/utils/zebraBanner.d.ts +2 -0
- package/lib/chain/blocks/utils/zebraBanner.js +46 -0
- package/lib/chain/blocks/utils/zebraBanner.js.map +1 -0
- package/lib/chain/blocks/verifyBlock.js +18 -5
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js +7 -34
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/bls/multithread/index.js +2 -2
- package/lib/chain/bls/multithread/index.js.map +1 -1
- package/lib/chain/chain.d.ts +8 -80
- package/lib/chain/chain.js +52 -84
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/forkChoice/index.d.ts +2 -1
- package/lib/chain/forkChoice/index.js +2 -2
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/interface.d.ts +3 -10
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js +13 -3
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/attestationPool.d.ts +1 -1
- package/lib/chain/opPools/attestationPool.js +7 -7
- package/lib/chain/prepareNextSlot.js +4 -2
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +30 -18
- package/lib/chain/produceBlock/produceBlockBody.js +27 -32
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.d.ts +6 -4
- package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js +21 -23
- package/lib/chain/produceBlock/validateBlobsAndKzgCommitments.js.map +1 -1
- package/lib/chain/validation/aggregateAndProof.d.ts +1 -1
- package/lib/chain/validation/aggregateAndProof.js +8 -8
- package/lib/chain/validation/aggregateAndProof.js.map +1 -1
- package/lib/chain/validation/attestation.d.ts +3 -3
- package/lib/chain/validation/attestation.js +10 -10
- package/lib/chain/validation/attestation.js.map +1 -1
- package/lib/chain/validation/dataColumnSidecar.d.ts +2 -1
- package/lib/chain/validation/dataColumnSidecar.js +17 -8
- package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
- package/lib/db/beacon.d.ts +3 -3
- package/lib/db/beacon.js +3 -3
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/interface.d.ts +3 -3
- package/lib/db/repositories/dataColumnSidecar.d.ts +26 -0
- package/lib/db/repositories/dataColumnSidecar.js +39 -0
- package/lib/db/repositories/dataColumnSidecar.js.map +1 -0
- package/lib/db/repositories/dataColumnSidecarArchive.d.ts +24 -0
- package/lib/db/repositories/dataColumnSidecarArchive.js +39 -0
- package/lib/db/repositories/dataColumnSidecarArchive.js.map +1 -0
- package/lib/db/repositories/index.d.ts +2 -2
- package/lib/db/repositories/index.js +2 -2
- package/lib/db/repositories/index.js.map +1 -1
- package/lib/db/repositories/stateArchive.js +1 -1
- package/lib/db/repositories/stateArchive.js.map +1 -1
- package/lib/execution/builder/http.d.ts +20 -4
- package/lib/execution/builder/http.js +30 -11
- package/lib/execution/builder/http.js.map +1 -1
- package/lib/execution/builder/interface.d.ts +5 -4
- package/lib/execution/engine/http.d.ts +2 -2
- package/lib/execution/engine/http.js +10 -5
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +2 -11
- package/lib/execution/engine/mock.d.ts +4 -1
- package/lib/execution/engine/mock.js +54 -16
- package/lib/execution/engine/mock.js.map +1 -1
- package/lib/execution/engine/types.d.ts +5 -5
- package/lib/execution/engine/types.js +2 -2
- package/lib/execution/engine/types.js.map +1 -1
- package/lib/execution/engine/utils.js +1 -1
- package/lib/execution/engine/utils.js.map +1 -1
- package/lib/metrics/metrics/beacon.d.ts +2 -28
- package/lib/metrics/metrics/beacon.js +9 -75
- package/lib/metrics/metrics/beacon.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +6 -0
- package/lib/metrics/metrics/lodestar.js +14 -0
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/metrics/metrics.d.ts +2 -1
- package/lib/metrics/metrics.js +3 -0
- package/lib/metrics/metrics.js.map +1 -1
- package/lib/network/core/networkCore.js +0 -1
- package/lib/network/core/networkCore.js.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.js +1 -1
- package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
- package/lib/network/gossip/scoringParameters.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +620 -92
- package/lib/network/interface.d.ts +3 -3
- package/lib/network/network.d.ts +3 -3
- package/lib/network/network.js +1 -1
- package/lib/network/network.js.map +1 -1
- package/lib/network/options.js +2 -2
- package/lib/network/peers/discover.js +1 -1
- package/lib/network/peers/discover.js.map +1 -1
- package/lib/network/peers/peerManager.js +9 -6
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts +2 -1
- package/lib/network/peers/utils/prioritizePeers.js +5 -5
- package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +22 -19
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +6 -3
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +45 -17
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +7 -2
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +7 -7
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js +3 -3
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRoot.d.ts +2 -2
- package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/blobSidecarsByRange.d.ts +2 -2
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js +2 -3
- package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +3 -3
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +55 -46
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +2 -2
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +43 -35
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/index.js +4 -3
- package/lib/network/reqresp/handlers/index.js.map +1 -1
- package/lib/network/reqresp/rateLimit.js +11 -5
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/network/reqresp/types.d.ts +3 -3
- package/lib/network/reqresp/types.js +3 -3
- package/lib/network/reqresp/types.js.map +1 -1
- package/lib/network/reqresp/utils/dataColumnResponseValidation.d.ts +14 -0
- package/lib/network/reqresp/utils/dataColumnResponseValidation.js +56 -0
- package/lib/network/reqresp/utils/dataColumnResponseValidation.js.map +1 -0
- package/lib/sync/backfill/backfill.js +1 -1
- package/lib/sync/backfill/backfill.js.map +1 -1
- package/lib/sync/range/chain.d.ts +1 -1
- package/lib/sync/range/chain.js +2 -2
- package/lib/sync/range/chain.js.map +1 -1
- package/lib/sync/range/range.js +2 -2
- package/lib/sync/range/range.js.map +1 -1
- package/lib/sync/range/utils/peerBalancer.d.ts +3 -1
- package/lib/sync/range/utils/peerBalancer.js +20 -1
- package/lib/sync/range/utils/peerBalancer.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts +46 -4
- package/lib/sync/unknownBlock.js +305 -201
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/util/blobs.d.ts +3 -13
- package/lib/util/blobs.js +9 -47
- package/lib/util/blobs.js.map +1 -1
- package/lib/util/dataColumns.d.ts +7 -5
- package/lib/util/dataColumns.js +36 -27
- package/lib/util/dataColumns.js.map +1 -1
- package/lib/util/queue/fnQueue.js +1 -1
- package/lib/util/queue/fnQueue.js.map +1 -1
- package/lib/util/queue/itemQueue.js +1 -1
- package/lib/util/queue/itemQueue.js.map +1 -1
- package/lib/util/sszBytes.d.ts +2 -0
- package/lib/util/sszBytes.js +23 -0
- package/lib/util/sszBytes.js.map +1 -1
- package/lib/util/types.d.ts +7 -0
- package/lib/util/types.js +3 -0
- package/lib/util/types.js.map +1 -1
- package/package.json +17 -18
- package/lib/db/repositories/dataColumnSidecars.d.ts +0 -47
- package/lib/db/repositories/dataColumnSidecars.js +0 -40
- package/lib/db/repositories/dataColumnSidecars.js.map +0 -1
- package/lib/db/repositories/dataColumnSidecarsArchive.d.ts +0 -15
- package/lib/db/repositories/dataColumnSidecarsArchive.js +0 -23
- package/lib/db/repositories/dataColumnSidecarsArchive.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beaconBlocksMaybeBlobsByRoot.js","sourceRoot":"","sources":["../../../src/network/reqresp/beaconBlocksMaybeBlobsByRoot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"beaconBlocksMaybeBlobsByRoot.js","sourceRoot":"","sources":["../../../src/network/reqresp/beaconBlocksMaybeBlobsByRoot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GENESIS_SLOT,
|
|
1
|
+
import { GENESIS_SLOT, isForkPostDeneb } from "@lodestar/params";
|
|
2
2
|
import { RespStatus, ResponseError } from "@lodestar/reqresp";
|
|
3
3
|
import { computeEpochAtSlot } from "@lodestar/state-transition";
|
|
4
4
|
import { fromHex } from "@lodestar/utils";
|
|
@@ -63,8 +63,8 @@ export function validateBeaconBlocksByRangeRequest(config, request) {
|
|
|
63
63
|
}
|
|
64
64
|
// step > 1 is deprecated, see https://github.com/ethereum/consensus-specs/pull/2856
|
|
65
65
|
const maxRequestBlocks = isForkPostDeneb(config.getForkName(startSlot))
|
|
66
|
-
? MAX_REQUEST_BLOCKS_DENEB
|
|
67
|
-
: MAX_REQUEST_BLOCKS;
|
|
66
|
+
? config.MAX_REQUEST_BLOCKS_DENEB
|
|
67
|
+
: config.MAX_REQUEST_BLOCKS;
|
|
68
68
|
if (count > maxRequestBlocks) {
|
|
69
69
|
count = maxRequestBlocks;
|
|
70
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beaconBlocksByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRange.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"beaconBlocksByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ResponseOutgoing } from "@lodestar/reqresp";
|
|
2
|
-
import { phase0 } from "@lodestar/types";
|
|
3
2
|
import { IBeaconChain } from "../../../chain/index.js";
|
|
4
3
|
import { IBeaconDb } from "../../../db/index.js";
|
|
5
|
-
|
|
4
|
+
import { BeaconBlocksByRootRequest } from "../../../util/types.js";
|
|
5
|
+
export declare function onBeaconBlocksByRoot(requestBody: BeaconBlocksByRootRequest, chain: IBeaconChain, db: IBeaconDb): AsyncIterable<ResponseOutgoing>;
|
|
6
6
|
//# sourceMappingURL=beaconBlocksByRoot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beaconBlocksByRoot.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRoot.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAG1C,OAAO,EAAC,sCAAsC,EAAC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"beaconBlocksByRoot.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/beaconBlocksByRoot.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAG1C,OAAO,EAAC,sCAAsC,EAAC,MAAM,2BAA2B,CAAC;AAGjF,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CACzC,WAAsC,EACtC,KAAmB,EACnB,EAAa;IAEb,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,SAAS,CAAC;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,UAAU,GAAsB,IAAI,CAAC;QAEzC,4EAA4E;QAC5E,IAAI,OAAO,EAAE,CAAC;YACZ,UAAU,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,IAAI,GAAqB,SAAS,CAAC;QACvC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC;gBACtB,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,sCAAsC,CAAC,UAAU,CAAC,CAAC;gBACzE,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC3B,MAAM,KAAK,CAAC,sCAAsC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,GAAG,aAAa,CAAC;YACvB,CAAC;YAED,MAAM;gBACJ,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;aACxE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChainConfig } from "@lodestar/config";
|
|
2
2
|
import { ResponseOutgoing } from "@lodestar/reqresp";
|
|
3
3
|
import { Slot, deneb } from "@lodestar/types";
|
|
4
4
|
import { IBeaconChain } from "../../../chain/index.js";
|
|
5
5
|
import { IBeaconDb } from "../../../db/index.js";
|
|
6
6
|
export declare function onBlobSidecarsByRange(request: deneb.BlobSidecarsByRangeRequest, chain: IBeaconChain, db: IBeaconDb): AsyncIterable<ResponseOutgoing>;
|
|
7
7
|
export declare function iterateBlobBytesFromWrapper(chain: IBeaconChain, blobSideCarsBytesWrapped: Uint8Array, blockSlot: Slot): Iterable<ResponseOutgoing>;
|
|
8
|
-
export declare function validateBlobSidecarsByRangeRequest(config:
|
|
8
|
+
export declare function validateBlobSidecarsByRangeRequest(config: ChainConfig, request: deneb.BlobSidecarsByRangeRequest): deneb.BlobSidecarsByRangeRequest;
|
|
9
9
|
//# sourceMappingURL=blobSidecarsByRange.d.ts.map
|
|
@@ -72,9 +72,8 @@ export function validateBlobSidecarsByRangeRequest(config, request) {
|
|
|
72
72
|
if (startSlot < GENESIS_SLOT) {
|
|
73
73
|
throw new ResponseError(RespStatus.INVALID_REQUEST, "startSlot < genesis");
|
|
74
74
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
count = maxRequestBlobSidecars;
|
|
75
|
+
if (count > config.MAX_REQUEST_BLOCKS_DENEB) {
|
|
76
|
+
count = config.MAX_REQUEST_BLOCKS_DENEB;
|
|
78
77
|
}
|
|
79
78
|
return { startSlot, count };
|
|
80
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blobSidecarsByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/blobSidecarsByRange.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"blobSidecarsByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/blobSidecarsByRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { ChainConfig } from "@lodestar/config";
|
|
1
2
|
import { ResponseOutgoing } from "@lodestar/reqresp";
|
|
2
|
-
import {
|
|
3
|
+
import { fulu } from "@lodestar/types";
|
|
3
4
|
import { IBeaconChain } from "../../../chain/index.js";
|
|
4
5
|
import { IBeaconDb } from "../../../db/index.js";
|
|
5
6
|
export declare function onDataColumnSidecarsByRange(request: fulu.DataColumnSidecarsByRangeRequest, chain: IBeaconChain, db: IBeaconDb): AsyncIterable<ResponseOutgoing>;
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function validateDataColumnSidecarsByRangeRequest(request: fulu.DataColumnSidecarsByRangeRequest): fulu.DataColumnSidecarsByRangeRequest;
|
|
7
|
+
export declare function validateDataColumnSidecarsByRangeRequest(config: ChainConfig, request: fulu.DataColumnSidecarsByRangeRequest): fulu.DataColumnSidecarsByRangeRequest;
|
|
8
8
|
//# sourceMappingURL=dataColumnSidecarsByRange.d.ts.map
|
|
@@ -1,23 +1,43 @@
|
|
|
1
|
-
import { GENESIS_SLOT
|
|
1
|
+
import { GENESIS_SLOT } from "@lodestar/params";
|
|
2
2
|
import { RespStatus, ResponseError } from "@lodestar/reqresp";
|
|
3
3
|
import { computeEpochAtSlot } from "@lodestar/state-transition";
|
|
4
|
-
import { ssz } from "@lodestar/types";
|
|
5
4
|
import { fromHex } from "@lodestar/utils";
|
|
6
|
-
import {
|
|
5
|
+
import { validateRequestedDataColumns } from "../utils/dataColumnResponseValidation.js";
|
|
7
6
|
export async function* onDataColumnSidecarsByRange(request, chain, db) {
|
|
8
7
|
// Non-finalized range of columns
|
|
9
|
-
const { startSlot, count, columns } = validateDataColumnSidecarsByRangeRequest(request);
|
|
8
|
+
const { startSlot, count, columns: requestedColumns } = validateDataColumnSidecarsByRangeRequest(chain.config, request);
|
|
9
|
+
const availableColumns = validateRequestedDataColumns(chain, requestedColumns);
|
|
10
10
|
const endSlot = startSlot + count;
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
if (availableColumns.length === 0) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const finalized = db.dataColumnSidecarArchive;
|
|
15
|
+
const unfinalized = db.dataColumnSidecar;
|
|
13
16
|
const finalizedSlot = chain.forkChoice.getFinalizedBlock().slot;
|
|
14
17
|
// Finalized range of columns
|
|
15
18
|
if (startSlot <= finalizedSlot) {
|
|
16
|
-
for
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
for (let slot = startSlot; slot < endSlot; slot++) {
|
|
20
|
+
const dataColumnSidecars = await finalized.getManyBinary(slot, availableColumns);
|
|
21
|
+
for (const dataColumnSidecarBytes of dataColumnSidecars) {
|
|
22
|
+
if (dataColumnSidecarBytes) {
|
|
23
|
+
yield {
|
|
24
|
+
data: dataColumnSidecarBytes,
|
|
25
|
+
boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(slot)),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
// TODO: Check blobs for that block and respond resource_unavailable
|
|
29
|
+
// After we have consensus from other teams on the specs
|
|
30
|
+
// else {
|
|
31
|
+
// await handleColumnSidecarUnavailability({
|
|
32
|
+
// chain,
|
|
33
|
+
// db,
|
|
34
|
+
// unavailableColumnIndex: availableColumns[index],
|
|
35
|
+
// slot,
|
|
36
|
+
// requestedColumns,
|
|
37
|
+
// availableColumns,
|
|
38
|
+
// });
|
|
39
|
+
// }
|
|
40
|
+
}
|
|
21
41
|
}
|
|
22
42
|
}
|
|
23
43
|
// Non-finalized range of columns
|
|
@@ -33,12 +53,28 @@ export async function* onDataColumnSidecarsByRange(request, chain, db) {
|
|
|
33
53
|
// at the time of the start of the request. Spec is clear the chain of columns must be consistent, but on
|
|
34
54
|
// re-org there's no need to abort the request
|
|
35
55
|
// Spec: https://github.com/ethereum/consensus-specs/blob/ad36024441cf910d428d03f87f331fbbd2b3e5f1/specs/fulu/p2p-interface.md#L425-L429
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
56
|
+
const dataColumnSidecars = await unfinalized.getManyBinary(fromHex(block.blockRoot), availableColumns);
|
|
57
|
+
for (const dataColumnSidecarBytes of dataColumnSidecars) {
|
|
58
|
+
if (dataColumnSidecarBytes) {
|
|
59
|
+
yield {
|
|
60
|
+
data: dataColumnSidecarBytes,
|
|
61
|
+
boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(block.slot)),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
// TODO: Check blobs for that block and respond resource_unavailable
|
|
65
|
+
// After we have consensus from other teams on the specs
|
|
66
|
+
// else {
|
|
67
|
+
// await handleColumnSidecarUnavailability({
|
|
68
|
+
// chain,
|
|
69
|
+
// db,
|
|
70
|
+
// unavailableColumnIndex: availableColumns[index],
|
|
71
|
+
// blockRoot: fromHex(block.blockRoot),
|
|
72
|
+
// slot: block.slot,
|
|
73
|
+
// requestedColumns,
|
|
74
|
+
// availableColumns,
|
|
75
|
+
// });
|
|
76
|
+
// }
|
|
40
77
|
}
|
|
41
|
-
yield* iterateDataColumnBytesFromWrapper(chain, dataColumnSidecarsBytesWrapped, block.slot, columns);
|
|
42
78
|
}
|
|
43
79
|
// If block is after endSlot, stop iterating
|
|
44
80
|
else if (block.slot >= endSlot) {
|
|
@@ -47,34 +83,7 @@ export async function* onDataColumnSidecarsByRange(request, chain, db) {
|
|
|
47
83
|
}
|
|
48
84
|
}
|
|
49
85
|
}
|
|
50
|
-
export function
|
|
51
|
-
const retrivedColumnsLen = ssz.Uint8.deserialize(dataColumnSidecarsBytesWrapped.slice(NUM_COLUMNS_IN_WRAPPER_INDEX, COLUMN_SIZE_IN_WRAPPER_INDEX));
|
|
52
|
-
const retrievedColumnsSizeBytes = dataColumnSidecarsBytesWrapped.slice(COLUMN_SIZE_IN_WRAPPER_INDEX, CUSTODY_COLUMNS_IN_IN_WRAPPER_INDEX);
|
|
53
|
-
const columnsSize = ssz.UintNum64.deserialize(retrievedColumnsSizeBytes);
|
|
54
|
-
const dataColumnsIndex = dataColumnSidecarsBytesWrapped.slice(CUSTODY_COLUMNS_IN_IN_WRAPPER_INDEX, CUSTODY_COLUMNS_IN_IN_WRAPPER_INDEX + NUMBER_OF_COLUMNS);
|
|
55
|
-
const allDataColumnSidecarsBytes = dataColumnSidecarsBytesWrapped.slice(DATA_COLUMN_SIDECARS_IN_WRAPPER_INDEX + 4 * retrivedColumnsLen);
|
|
56
|
-
const columnsLen = allDataColumnSidecarsBytes.length / columnsSize;
|
|
57
|
-
// no columns possibly no blobs
|
|
58
|
-
if (columnsLen === 0) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
for (const index of columns) {
|
|
62
|
-
// get the index at which the column is
|
|
63
|
-
const dataIndex = (dataColumnsIndex[index] ?? 0) - 1;
|
|
64
|
-
if (dataIndex < 0) {
|
|
65
|
-
throw new ResponseError(RespStatus.SERVER_ERROR, `dataColumnSidecar index=${index} dataIndex=${dataIndex} not custodied`);
|
|
66
|
-
}
|
|
67
|
-
const dataColumnSidecarBytes = allDataColumnSidecarsBytes.slice(dataIndex * columnsSize, (dataIndex + 1) * columnsSize);
|
|
68
|
-
if (dataColumnSidecarBytes.length !== columnsSize) {
|
|
69
|
-
throw new ResponseError(RespStatus.SERVER_ERROR, `Invalid dataColumnSidecar index=${index} dataIndex=${dataIndex} bytes length=${dataColumnSidecarBytes.length} expected=${columnsSize} for slot ${blockSlot} blobsLen=${columnsLen}`);
|
|
70
|
-
}
|
|
71
|
-
yield {
|
|
72
|
-
data: dataColumnSidecarBytes,
|
|
73
|
-
boundary: chain.config.getForkBoundaryAtEpoch(computeEpochAtSlot(blockSlot)),
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
export function validateDataColumnSidecarsByRangeRequest(request) {
|
|
86
|
+
export function validateDataColumnSidecarsByRangeRequest(config, request) {
|
|
78
87
|
const { startSlot, columns } = request;
|
|
79
88
|
let { count } = request;
|
|
80
89
|
if (count < 1) {
|
|
@@ -84,8 +93,8 @@ export function validateDataColumnSidecarsByRangeRequest(request) {
|
|
|
84
93
|
if (startSlot < GENESIS_SLOT) {
|
|
85
94
|
throw new ResponseError(RespStatus.INVALID_REQUEST, "startSlot < genesis");
|
|
86
95
|
}
|
|
87
|
-
if (count > MAX_REQUEST_BLOCKS_DENEB) {
|
|
88
|
-
count = MAX_REQUEST_BLOCKS_DENEB;
|
|
96
|
+
if (count > config.MAX_REQUEST_BLOCKS_DENEB) {
|
|
97
|
+
count = config.MAX_REQUEST_BLOCKS_DENEB;
|
|
89
98
|
}
|
|
90
99
|
return { startSlot, count, columns };
|
|
91
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataColumnSidecarsByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/dataColumnSidecarsByRange.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dataColumnSidecarsByRange.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/dataColumnSidecarsByRange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ResponseOutgoing } from "@lodestar/reqresp";
|
|
2
|
-
import { fulu } from "@lodestar/types";
|
|
3
2
|
import { IBeaconChain } from "../../../chain/index.js";
|
|
4
3
|
import { IBeaconDb } from "../../../db/index.js";
|
|
5
|
-
|
|
4
|
+
import { DataColumnSidecarsByRootRequest } from "../../../util/types.js";
|
|
5
|
+
export declare function onDataColumnSidecarsByRoot(requestBody: DataColumnSidecarsByRootRequest, chain: IBeaconChain, db: IBeaconDb): AsyncIterable<ResponseOutgoing>;
|
|
6
6
|
//# sourceMappingURL=dataColumnSidecarsByRoot.d.ts.map
|
|
@@ -1,49 +1,57 @@
|
|
|
1
|
-
import { NUMBER_OF_COLUMNS } from "@lodestar/params";
|
|
2
|
-
import { RespStatus, ResponseError } from "@lodestar/reqresp";
|
|
3
1
|
import { computeEpochAtSlot } from "@lodestar/state-transition";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { COLUMN_SIZE_IN_WRAPPER_INDEX, CUSTODY_COLUMNS_IN_IN_WRAPPER_INDEX, DATA_COLUMN_SIDECARS_IN_WRAPPER_INDEX, NUM_COLUMNS_IN_WRAPPER_INDEX, } from "../../../db/repositories/dataColumnSidecars.js";
|
|
2
|
+
import { toRootHex } from "@lodestar/utils";
|
|
3
|
+
import { validateRequestedDataColumns } from "../utils/dataColumnResponseValidation.js";
|
|
7
4
|
export async function* onDataColumnSidecarsByRoot(requestBody, chain, db) {
|
|
8
|
-
// SPEC: minimum_request_epoch = max(
|
|
9
|
-
const finalizedEpoch = chain.forkChoice.getFinalizedCheckpoint().epoch;
|
|
5
|
+
// SPEC: minimum_request_epoch = max(current_epoch - MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS, FULU_FORK_EPOCH)
|
|
10
6
|
const currentEpoch = chain.clock.currentEpoch;
|
|
11
|
-
const minimumRequestEpoch = Math.max(
|
|
7
|
+
const minimumRequestEpoch = Math.max(currentEpoch - chain.config.MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS, chain.config.FULU_FORK_EPOCH);
|
|
12
8
|
for (const dataColumnsByRootIdentifier of requestBody) {
|
|
13
|
-
const { blockRoot, columns } = dataColumnsByRootIdentifier;
|
|
14
|
-
const
|
|
9
|
+
const { blockRoot, columns: requestedColumns } = dataColumnsByRootIdentifier;
|
|
10
|
+
const availableColumns = validateRequestedDataColumns(chain, requestedColumns);
|
|
11
|
+
if (availableColumns.length === 0) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const blockRootHex = toRootHex(blockRoot);
|
|
15
15
|
const block = chain.forkChoice.getBlockHex(blockRootHex);
|
|
16
|
-
//
|
|
16
|
+
// If the block is not in fork choice, it may be finalized. Attempt to find its slot in block archive
|
|
17
|
+
const slot = block ? block.slot : await db.blockArchive.getSlotByRoot(blockRoot);
|
|
18
|
+
if (slot === null) {
|
|
19
|
+
// We haven't seen the block
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
const requestedEpoch = computeEpochAtSlot(slot);
|
|
17
23
|
// SPEC: Clients MUST support requesting sidecars since minimum_request_epoch.
|
|
18
24
|
// If any root in the request content references a block earlier than minimum_request_epoch, peers MAY respond with
|
|
19
25
|
// error code 3: ResourceUnavailable or not include the data column sidecar in the response.
|
|
20
|
-
// https://github.com/ethereum/consensus-specs/blob/
|
|
21
|
-
if (
|
|
26
|
+
// https://github.com/ethereum/consensus-specs/blob/v1.6.0-alpha.5/specs/fulu/p2p-interface.md#datacolumnsidecarsbyroot-v1
|
|
27
|
+
if (requestedEpoch < minimumRequestEpoch) {
|
|
22
28
|
continue;
|
|
23
29
|
}
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const dataIndex = (dataColumnsIndex[index] ?? 0) - 1;
|
|
36
|
-
if (dataIndex < 0) {
|
|
37
|
-
throw new ResponseError(RespStatus.SERVER_ERROR, `dataColumnSidecar index=${index} not custodied`);
|
|
38
|
-
}
|
|
39
|
-
const dataColumnSidecarBytes = dataColumnSidecarsBytes.slice(dataIndex * columnsSize, (dataIndex + 1) * columnsSize);
|
|
40
|
-
if (dataColumnSidecarBytes.length !== columnsSize) {
|
|
41
|
-
throw Error(`Inconsistent state, dataColumnSidecar blockRoot=${blockRootHex} index=${index} dataColumnSidecarBytes=${dataColumnSidecarBytes.length} expected=${columnsSize}`);
|
|
30
|
+
const dataColumns = block
|
|
31
|
+
? // Non-finalized sidecars are stored by block root
|
|
32
|
+
await db.dataColumnSidecar.getManyBinary(blockRoot, availableColumns)
|
|
33
|
+
: // Finalized sidecars are archived and stored by slot
|
|
34
|
+
await db.dataColumnSidecarArchive.getManyBinary(slot, availableColumns);
|
|
35
|
+
for (const dataColumnBytes of dataColumns) {
|
|
36
|
+
if (dataColumnBytes) {
|
|
37
|
+
yield {
|
|
38
|
+
data: dataColumnBytes,
|
|
39
|
+
boundary: chain.config.getForkBoundaryAtEpoch(requestedEpoch),
|
|
40
|
+
};
|
|
42
41
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
// TODO: Check blobs for that block and respond resource_unavailable
|
|
43
|
+
// After we have consensus from other teams on the specs
|
|
44
|
+
// else {
|
|
45
|
+
// await handleColumnSidecarUnavailability({
|
|
46
|
+
// chain,
|
|
47
|
+
// db,
|
|
48
|
+
// unavailableColumnIndex: availableColumns[index],
|
|
49
|
+
// slot: block.slot,
|
|
50
|
+
// blockRoot: fromHex(block.blockRoot),
|
|
51
|
+
// requestedColumns,
|
|
52
|
+
// availableColumns,
|
|
53
|
+
// });
|
|
54
|
+
// }
|
|
47
55
|
}
|
|
48
56
|
}
|
|
49
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataColumnSidecarsByRoot.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dataColumnSidecarsByRoot.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/dataColumnSidecarsByRoot.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAI1C,OAAO,EAAC,4BAA4B,EAAC,MAAM,0CAA0C,CAAC;AAEtF,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,0BAA0B,CAC/C,WAA4C,EAC5C,KAAmB,EACnB,EAAa;IAEb,mHAAmH;IACnH,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;IAC9C,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAClC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,4CAA4C,EACxE,KAAK,CAAC,MAAM,CAAC,eAAe,CAC7B,CAAC;IAEF,KAAK,MAAM,2BAA2B,IAAI,WAAW,EAAE,CAAC;QACtD,MAAM,EAAC,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAC,GAAG,2BAA2B,CAAC;QAC3E,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;QAC/E,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACzD,qGAAqG;QACrG,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEjF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,4BAA4B;YAC5B,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEhD,8EAA8E;QAC9E,mHAAmH;QACnH,4FAA4F;QAC5F,0HAA0H;QAC1H,IAAI,cAAc,GAAG,mBAAmB,EAAE,CAAC;YACzC,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,KAAK;YACvB,CAAC,CAAC,kDAAkD;gBAClD,MAAM,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,SAAS,EAAE,gBAAgB,CAAC;YACvE,CAAC,CAAC,qDAAqD;gBACrD,MAAM,EAAE,CAAC,wBAAwB,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAE5E,KAAK,MAAM,eAAe,IAAI,WAAW,EAAE,CAAC;YAC1C,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM;oBACJ,IAAI,EAAE,eAAe;oBACrB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,cAAc,CAAC;iBAC9D,CAAC;YACJ,CAAC;YAED,oEAAoE;YACpE,wDAAwD;YACxD,SAAS;YACT,8CAA8C;YAC9C,aAAa;YACb,UAAU;YACV,uDAAuD;YACvD,wBAAwB;YACxB,2CAA2C;YAC3C,wBAAwB;YACxB,wBAAwB;YACxB,QAAQ;YACR,IAAI;QACN,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ssz } from "@lodestar/types";
|
|
2
|
-
import { BlobSidecarsByRootRequestType } from "../../../util/types.js";
|
|
2
|
+
import { BeaconBlocksByRootRequestType, BlobSidecarsByRootRequestType, DataColumnSidecarsByRootRequestType, } from "../../../util/types.js";
|
|
3
3
|
import { ReqRespMethod } from "../types.js";
|
|
4
4
|
import { onBeaconBlocksByRange } from "./beaconBlocksByRange.js";
|
|
5
5
|
import { onBeaconBlocksByRoot } from "./beaconBlocksByRoot.js";
|
|
@@ -31,7 +31,8 @@ export function getReqRespHandlers({ db, chain }) {
|
|
|
31
31
|
return onBeaconBlocksByRange(body, chain, db);
|
|
32
32
|
},
|
|
33
33
|
[ReqRespMethod.BeaconBlocksByRoot]: (req) => {
|
|
34
|
-
const
|
|
34
|
+
const fork = chain.config.getForkName(chain.clock.currentSlot);
|
|
35
|
+
const body = BeaconBlocksByRootRequestType(fork, chain.config).deserialize(req.data);
|
|
35
36
|
return onBeaconBlocksByRoot(body, chain, db);
|
|
36
37
|
},
|
|
37
38
|
[ReqRespMethod.BlobSidecarsByRoot]: (req) => {
|
|
@@ -48,7 +49,7 @@ export function getReqRespHandlers({ db, chain }) {
|
|
|
48
49
|
return onDataColumnSidecarsByRange(body, chain, db);
|
|
49
50
|
},
|
|
50
51
|
[ReqRespMethod.DataColumnSidecarsByRoot]: (req) => {
|
|
51
|
-
const body =
|
|
52
|
+
const body = DataColumnSidecarsByRootRequestType(chain.config).deserialize(req.data);
|
|
52
53
|
return onDataColumnSidecarsByRoot(body, chain, db);
|
|
53
54
|
},
|
|
54
55
|
[ReqRespMethod.LightClientBootstrap]: (req) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAGpC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/reqresp/handlers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MAX_REQUEST_LIGHT_CLIENT_UPDATES, isForkPostDeneb } from "@lodestar/params";
|
|
2
2
|
import { ReqRespMethod, requestSszTypeByMethod } from "./types.js";
|
|
3
3
|
export const rateLimitQuotas = (fork, config) => ({
|
|
4
4
|
[ReqRespMethod.Status]: {
|
|
@@ -20,12 +20,18 @@ export const rateLimitQuotas = (fork, config) => ({
|
|
|
20
20
|
// Do not matter
|
|
21
21
|
[ReqRespMethod.BeaconBlocksByRange]: {
|
|
22
22
|
// Rationale: https://github.com/sigp/lighthouse/blob/bf533c8e42cc73c35730e285c21df8add0195369/beacon_node/lighthouse_network/src/rpc/mod.rs#L118-L130
|
|
23
|
-
byPeer: {
|
|
23
|
+
byPeer: {
|
|
24
|
+
quota: isForkPostDeneb(fork) ? config.MAX_REQUEST_BLOCKS_DENEB : config.MAX_REQUEST_BLOCKS,
|
|
25
|
+
quotaTimeMs: 10_000,
|
|
26
|
+
},
|
|
24
27
|
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.BeaconBlocksByRange, (req) => req.count),
|
|
25
28
|
},
|
|
26
29
|
[ReqRespMethod.BeaconBlocksByRoot]: {
|
|
27
30
|
// Rationale: https://github.com/sigp/lighthouse/blob/bf533c8e42cc73c35730e285c21df8add0195369/beacon_node/lighthouse_network/src/rpc/mod.rs#L118-L130
|
|
28
|
-
byPeer: {
|
|
31
|
+
byPeer: {
|
|
32
|
+
quota: isForkPostDeneb(fork) ? config.MAX_REQUEST_BLOCKS_DENEB : config.MAX_REQUEST_BLOCKS,
|
|
33
|
+
quotaTimeMs: 10_000,
|
|
34
|
+
},
|
|
29
35
|
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.BeaconBlocksByRoot, (req) => req.length),
|
|
30
36
|
},
|
|
31
37
|
[ReqRespMethod.BlobSidecarsByRange]: {
|
|
@@ -40,12 +46,12 @@ export const rateLimitQuotas = (fork, config) => ({
|
|
|
40
46
|
},
|
|
41
47
|
[ReqRespMethod.DataColumnSidecarsByRange]: {
|
|
42
48
|
// Rationale: MAX_REQUEST_BLOCKS_DENEB * NUMBER_OF_COLUMNS
|
|
43
|
-
byPeer: { quota: MAX_REQUEST_DATA_COLUMN_SIDECARS, quotaTimeMs: 10_000 },
|
|
49
|
+
byPeer: { quota: config.MAX_REQUEST_DATA_COLUMN_SIDECARS, quotaTimeMs: 10_000 },
|
|
44
50
|
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.DataColumnSidecarsByRange, (req) => req.count),
|
|
45
51
|
},
|
|
46
52
|
[ReqRespMethod.DataColumnSidecarsByRoot]: {
|
|
47
53
|
// Rationale: quota of BeaconBlocksByRoot * NUMBER_OF_COLUMNS
|
|
48
|
-
byPeer: { quota: MAX_REQUEST_DATA_COLUMN_SIDECARS, quotaTimeMs: 10_000 },
|
|
54
|
+
byPeer: { quota: config.MAX_REQUEST_DATA_COLUMN_SIDECARS, quotaTimeMs: 10_000 },
|
|
49
55
|
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.DataColumnSidecarsByRoot, (req) => req.length),
|
|
50
56
|
},
|
|
51
57
|
[ReqRespMethod.LightClientBootstrap]: {
|