@lodestar/beacon-node 1.26.0-dev.82da4a2aa5 → 1.26.0-dev.86ab878709
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 +4 -6
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +12 -8
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/chain/blocks/types.d.ts +9 -19
- package/lib/chain/blocks/types.js +7 -14
- package/lib/chain/blocks/types.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js +2 -1
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/chain.d.ts +2 -0
- package/lib/chain/chain.js +2 -0
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/interface.d.ts +2 -0
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/opPools/opPool.d.ts +3 -2
- package/lib/chain/opPools/opPool.js +7 -7
- package/lib/chain/opPools/opPool.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +0 -2
- package/lib/chain/seenCache/seenGossipBlockInput.js +8 -13
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/validation/attesterSlashing.d.ts +4 -4
- package/lib/chain/validation/attesterSlashing.js +1 -2
- package/lib/chain/validation/attesterSlashing.js.map +1 -1
- package/lib/db/buckets.d.ts +1 -1
- package/lib/db/buckets.js +1 -1
- package/lib/db/buckets.js.map +1 -1
- package/lib/db/repositories/attesterSlashing.d.ts +2 -2
- package/lib/db/repositories/attesterSlashing.js +8 -2
- package/lib/db/repositories/attesterSlashing.js.map +1 -1
- package/lib/network/gossip/interface.d.ts +3 -3
- package/lib/network/gossip/interface.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +945 -945
- package/lib/network/interface.d.ts +2 -2
- package/lib/network/network.d.ts +2 -2
- package/lib/network/network.js +1 -1
- package/lib/network/network.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +13 -11
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.js +2 -2
- package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +4 -5
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +6 -7
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
- package/lib/network/reqresp/protocols.js +1 -1
- package/lib/network/reqresp/protocols.js.map +1 -1
- package/lib/network/reqresp/rateLimit.js +11 -12
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/network/reqresp/types.d.ts +1 -1
- package/lib/network/reqresp/types.js +2 -3
- package/lib/network/reqresp/types.js.map +1 -1
- package/lib/util/serializedCache.d.ts +12 -0
- package/lib/util/serializedCache.js +20 -0
- package/lib/util/serializedCache.js.map +1 -0
- package/package.json +14 -14
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { MAX_REQUEST_BLOCKS, MAX_REQUEST_LIGHT_CLIENT_UPDATES } from "@lodestar/params";
|
|
2
|
-
import { ReqRespMethod } from "./types.js";
|
|
3
|
-
import { requestSszTypeByMethod } from "./types.js";
|
|
1
|
+
import { MAX_REQUEST_BLOCKS, MAX_REQUEST_BLOCKS_DENEB, MAX_REQUEST_LIGHT_CLIENT_UPDATES, isForkBlobs, } from "@lodestar/params";
|
|
2
|
+
import { ReqRespMethod, requestSszTypeByMethod } from "./types.js";
|
|
4
3
|
export const rateLimitQuotas = (fork, config) => ({
|
|
5
4
|
[ReqRespMethod.Status]: {
|
|
6
5
|
// Rationale: https://github.com/sigp/lighthouse/blob/bf533c8e42cc73c35730e285c21df8add0195369/beacon_node/lighthouse_network/src/rpc/mod.rs#L118-L130
|
|
@@ -21,23 +20,23 @@ export const rateLimitQuotas = (fork, config) => ({
|
|
|
21
20
|
// Do not matter
|
|
22
21
|
[ReqRespMethod.BeaconBlocksByRange]: {
|
|
23
22
|
// Rationale: https://github.com/sigp/lighthouse/blob/bf533c8e42cc73c35730e285c21df8add0195369/beacon_node/lighthouse_network/src/rpc/mod.rs#L118-L130
|
|
24
|
-
byPeer: { quota: MAX_REQUEST_BLOCKS, quotaTimeMs: 10_000 },
|
|
25
|
-
getRequestCount: getRequestCountFn(config, ReqRespMethod.BeaconBlocksByRange, (req) => req.count),
|
|
23
|
+
byPeer: { quota: isForkBlobs(fork) ? MAX_REQUEST_BLOCKS_DENEB : MAX_REQUEST_BLOCKS, quotaTimeMs: 10_000 },
|
|
24
|
+
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.BeaconBlocksByRange, (req) => req.count),
|
|
26
25
|
},
|
|
27
26
|
[ReqRespMethod.BeaconBlocksByRoot]: {
|
|
28
27
|
// Rationale: https://github.com/sigp/lighthouse/blob/bf533c8e42cc73c35730e285c21df8add0195369/beacon_node/lighthouse_network/src/rpc/mod.rs#L118-L130
|
|
29
|
-
byPeer: { quota:
|
|
30
|
-
getRequestCount: getRequestCountFn(config, ReqRespMethod.BeaconBlocksByRoot, (req) => req.length),
|
|
28
|
+
byPeer: { quota: isForkBlobs(fork) ? MAX_REQUEST_BLOCKS_DENEB : MAX_REQUEST_BLOCKS, quotaTimeMs: 10_000 },
|
|
29
|
+
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.BeaconBlocksByRoot, (req) => req.length),
|
|
31
30
|
},
|
|
32
31
|
[ReqRespMethod.BlobSidecarsByRange]: {
|
|
33
32
|
// Rationale: MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
|
|
34
33
|
byPeer: { quota: config.getMaxRequestBlobSidecars(fork), quotaTimeMs: 10_000 },
|
|
35
|
-
getRequestCount: getRequestCountFn(config, ReqRespMethod.BlobSidecarsByRange, (req) => req.count),
|
|
34
|
+
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.BlobSidecarsByRange, (req) => req.count),
|
|
36
35
|
},
|
|
37
36
|
[ReqRespMethod.BlobSidecarsByRoot]: {
|
|
38
37
|
// Rationale: quota of BeaconBlocksByRoot * MAX_BLOBS_PER_BLOCK
|
|
39
38
|
byPeer: { quota: config.getMaxRequestBlobSidecars(fork), quotaTimeMs: 10_000 },
|
|
40
|
-
getRequestCount: getRequestCountFn(config, ReqRespMethod.BlobSidecarsByRoot, (req) => req.length),
|
|
39
|
+
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.BlobSidecarsByRoot, (req) => req.length),
|
|
41
40
|
},
|
|
42
41
|
[ReqRespMethod.LightClientBootstrap]: {
|
|
43
42
|
// As similar in the nature of `Status` protocol so we use the same rate limits.
|
|
@@ -46,7 +45,7 @@ export const rateLimitQuotas = (fork, config) => ({
|
|
|
46
45
|
[ReqRespMethod.LightClientUpdatesByRange]: {
|
|
47
46
|
// Same rationale as for BeaconBlocksByRange
|
|
48
47
|
byPeer: { quota: MAX_REQUEST_LIGHT_CLIENT_UPDATES, quotaTimeMs: 10_000 },
|
|
49
|
-
getRequestCount: getRequestCountFn(config, ReqRespMethod.LightClientUpdatesByRange, (req) => req.count),
|
|
48
|
+
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.LightClientUpdatesByRange, (req) => req.count),
|
|
50
49
|
},
|
|
51
50
|
[ReqRespMethod.LightClientFinalityUpdate]: {
|
|
52
51
|
// Finality updates should not be requested more than once per epoch.
|
|
@@ -60,8 +59,8 @@ export const rateLimitQuotas = (fork, config) => ({
|
|
|
60
59
|
},
|
|
61
60
|
});
|
|
62
61
|
// Helper to produce a getRequestCount function
|
|
63
|
-
function getRequestCountFn(config, method, fn) {
|
|
64
|
-
const type = requestSszTypeByMethod(config)[method];
|
|
62
|
+
function getRequestCountFn(fork, config, method, fn) {
|
|
63
|
+
const type = requestSszTypeByMethod(fork, config)[method];
|
|
65
64
|
return (reqData) => {
|
|
66
65
|
try {
|
|
67
66
|
return (type && fn(type.deserialize(reqData))) ?? 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../src/network/reqresp/rateLimit.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"rateLimit.js","sourceRoot":"","sources":["../../../src/network/reqresp/rateLimit.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,7 @@ type ResponseBodyByMethod = {
|
|
|
49
49
|
[ReqRespMethod.LightClientOptimisticUpdate]: LightClientOptimisticUpdate;
|
|
50
50
|
};
|
|
51
51
|
/** Request SSZ type for each method and ForkName */
|
|
52
|
-
export declare const requestSszTypeByMethod: (
|
|
52
|
+
export declare const requestSszTypeByMethod: (fork: ForkName, config: BeaconConfig) => {
|
|
53
53
|
[K in ReqRespMethod]: RequestBodyByMethod[K] extends null ? null : Type<RequestBodyByMethod[K]>;
|
|
54
54
|
};
|
|
55
55
|
export type ResponseTypeGetter<T> = (fork: ForkName, version: number) => Type<T>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isForkLightClient } from "@lodestar/params";
|
|
2
2
|
import { ssz, sszTypesFor, } from "@lodestar/types";
|
|
3
3
|
import { BlobSidecarsByRootRequestType } from "../../util/types.js";
|
|
4
4
|
/** ReqResp protocol names or methods. Each ReqRespMethod can have multiple versions and encodings */
|
|
@@ -19,8 +19,7 @@ export var ReqRespMethod;
|
|
|
19
19
|
ReqRespMethod["LightClientOptimisticUpdate"] = "light_client_optimistic_update";
|
|
20
20
|
})(ReqRespMethod || (ReqRespMethod = {}));
|
|
21
21
|
/** Request SSZ type for each method and ForkName */
|
|
22
|
-
|
|
23
|
-
export const requestSszTypeByMethod = (config, fork = ForkName.deneb) => ({
|
|
22
|
+
export const requestSszTypeByMethod = (fork, config) => ({
|
|
24
23
|
[ReqRespMethod.Status]: ssz.phase0.Status,
|
|
25
24
|
[ReqRespMethod.Goodbye]: ssz.phase0.Goodbye,
|
|
26
25
|
[ReqRespMethod.Ping]: ssz.phase0.Ping,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/network/reqresp/types.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/network/reqresp/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A cache to store the serialized version of an object
|
|
3
|
+
*
|
|
4
|
+
* This is a thin wrapper around WeakMap
|
|
5
|
+
*/
|
|
6
|
+
export declare class SerializedCache {
|
|
7
|
+
map: WeakMap<object, Uint8Array>;
|
|
8
|
+
get(obj: object): Uint8Array | undefined;
|
|
9
|
+
set(obj: object, serialized: Uint8Array): void;
|
|
10
|
+
clear(): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=serializedCache.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A cache to store the serialized version of an object
|
|
3
|
+
*
|
|
4
|
+
* This is a thin wrapper around WeakMap
|
|
5
|
+
*/
|
|
6
|
+
export class SerializedCache {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.map = new WeakMap();
|
|
9
|
+
}
|
|
10
|
+
get(obj) {
|
|
11
|
+
return this.map.get(obj);
|
|
12
|
+
}
|
|
13
|
+
set(obj, serialized) {
|
|
14
|
+
this.map.set(obj, serialized);
|
|
15
|
+
}
|
|
16
|
+
clear() {
|
|
17
|
+
this.map = new WeakMap();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=serializedCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializedCache.js","sourceRoot":"","sources":["../../src/util/serializedCache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,eAAe;IAA5B;QACE,QAAG,GAAgC,IAAI,OAAO,EAAE,CAAC;IAanD,CAAC;IAXC,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,UAAsB;QACrC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;IAC3B,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/ChainSafe/lodestar/issues"
|
|
13
13
|
},
|
|
14
|
-
"version": "1.26.0-dev.
|
|
14
|
+
"version": "1.26.0-dev.86ab878709",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
@@ -120,18 +120,18 @@
|
|
|
120
120
|
"@libp2p/peer-id-factory": "^4.1.0",
|
|
121
121
|
"@libp2p/prometheus-metrics": "^3.0.21",
|
|
122
122
|
"@libp2p/tcp": "9.0.23",
|
|
123
|
-
"@lodestar/api": "1.26.0-dev.
|
|
124
|
-
"@lodestar/config": "1.26.0-dev.
|
|
125
|
-
"@lodestar/db": "1.26.0-dev.
|
|
126
|
-
"@lodestar/fork-choice": "1.26.0-dev.
|
|
127
|
-
"@lodestar/light-client": "1.26.0-dev.
|
|
128
|
-
"@lodestar/logger": "1.26.0-dev.
|
|
129
|
-
"@lodestar/params": "1.26.0-dev.
|
|
130
|
-
"@lodestar/reqresp": "1.26.0-dev.
|
|
131
|
-
"@lodestar/state-transition": "1.26.0-dev.
|
|
132
|
-
"@lodestar/types": "1.26.0-dev.
|
|
133
|
-
"@lodestar/utils": "1.26.0-dev.
|
|
134
|
-
"@lodestar/validator": "1.26.0-dev.
|
|
123
|
+
"@lodestar/api": "1.26.0-dev.86ab878709",
|
|
124
|
+
"@lodestar/config": "1.26.0-dev.86ab878709",
|
|
125
|
+
"@lodestar/db": "1.26.0-dev.86ab878709",
|
|
126
|
+
"@lodestar/fork-choice": "1.26.0-dev.86ab878709",
|
|
127
|
+
"@lodestar/light-client": "1.26.0-dev.86ab878709",
|
|
128
|
+
"@lodestar/logger": "1.26.0-dev.86ab878709",
|
|
129
|
+
"@lodestar/params": "1.26.0-dev.86ab878709",
|
|
130
|
+
"@lodestar/reqresp": "1.26.0-dev.86ab878709",
|
|
131
|
+
"@lodestar/state-transition": "1.26.0-dev.86ab878709",
|
|
132
|
+
"@lodestar/types": "1.26.0-dev.86ab878709",
|
|
133
|
+
"@lodestar/utils": "1.26.0-dev.86ab878709",
|
|
134
|
+
"@lodestar/validator": "1.26.0-dev.86ab878709",
|
|
135
135
|
"@multiformats/multiaddr": "^12.1.3",
|
|
136
136
|
"c-kzg": "^2.1.2",
|
|
137
137
|
"datastore-core": "^9.1.1",
|
|
@@ -168,5 +168,5 @@
|
|
|
168
168
|
"beacon",
|
|
169
169
|
"blockchain"
|
|
170
170
|
],
|
|
171
|
-
"gitHead": "
|
|
171
|
+
"gitHead": "ea4762e8344d46b0f1ad5c2bdb24c60af6bcccdf"
|
|
172
172
|
}
|