@lodestar/beacon-node 1.26.0-dev.e9ceb878ea → 1.26.0-dev.ee9d4fa72b
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 +6 -4
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +8 -12
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/chain/blocks/types.d.ts +19 -9
- package/lib/chain/blocks/types.js +14 -7
- 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 +1 -2
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/chain.d.ts +0 -2
- package/lib/chain/chain.js +0 -2
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/interface.d.ts +0 -2
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/opPools/opPool.d.ts +2 -3
- package/lib/chain/opPools/opPool.js +7 -7
- package/lib/chain/opPools/opPool.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +2 -0
- package/lib/chain/seenCache/seenGossipBlockInput.js +13 -8
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/validation/attesterSlashing.d.ts +4 -4
- package/lib/chain/validation/attesterSlashing.js +2 -1
- 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 +2 -8
- 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 +923 -923
- 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 +11 -13
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.js +13 -19
- package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +5 -4
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +7 -6
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
- package/lib/network/reqresp/protocols.d.ts +15 -16
- package/lib/network/reqresp/protocols.js +3 -3
- package/lib/network/reqresp/protocols.js.map +1 -1
- package/lib/network/reqresp/rateLimit.d.ts +1 -2
- package/lib/network/reqresp/rateLimit.js +17 -14
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/network/reqresp/types.d.ts +1 -1
- package/lib/network/reqresp/types.js +3 -2
- package/lib/network/reqresp/types.js.map +1 -1
- package/package.json +14 -14
- package/lib/util/serializedCache.d.ts +0 -12
- package/lib/util/serializedCache.js +0 -20
- package/lib/util/serializedCache.js.map +0 -1
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { BeaconConfig } from "@lodestar/config";
|
|
2
|
-
import { ForkName } from "@lodestar/params";
|
|
3
2
|
import { ProtocolNoHandler } from "./types.js";
|
|
4
|
-
export declare const Goodbye: (
|
|
5
|
-
export declare const Metadata: (
|
|
6
|
-
export declare const MetadataV2: (
|
|
7
|
-
export declare const Ping: (
|
|
8
|
-
export declare const Status: (
|
|
9
|
-
export declare const BeaconBlocksByRange: (
|
|
10
|
-
export declare const BeaconBlocksByRangeV2: (
|
|
11
|
-
export declare const BeaconBlocksByRoot: (
|
|
12
|
-
export declare const BeaconBlocksByRootV2: (
|
|
13
|
-
export declare const BlobSidecarsByRange: (
|
|
14
|
-
export declare const BlobSidecarsByRoot: (
|
|
15
|
-
export declare const LightClientBootstrap: (
|
|
16
|
-
export declare const LightClientFinalityUpdate: (
|
|
17
|
-
export declare const LightClientOptimisticUpdate: (
|
|
18
|
-
export declare const LightClientUpdatesByRange: (
|
|
3
|
+
export declare const Goodbye: (config: BeaconConfig) => ProtocolNoHandler;
|
|
4
|
+
export declare const Metadata: (config: BeaconConfig) => ProtocolNoHandler;
|
|
5
|
+
export declare const MetadataV2: (config: BeaconConfig) => ProtocolNoHandler;
|
|
6
|
+
export declare const Ping: (config: BeaconConfig) => ProtocolNoHandler;
|
|
7
|
+
export declare const Status: (config: BeaconConfig) => ProtocolNoHandler;
|
|
8
|
+
export declare const BeaconBlocksByRange: (config: BeaconConfig) => ProtocolNoHandler;
|
|
9
|
+
export declare const BeaconBlocksByRangeV2: (config: BeaconConfig) => ProtocolNoHandler;
|
|
10
|
+
export declare const BeaconBlocksByRoot: (config: BeaconConfig) => ProtocolNoHandler;
|
|
11
|
+
export declare const BeaconBlocksByRootV2: (config: BeaconConfig) => ProtocolNoHandler;
|
|
12
|
+
export declare const BlobSidecarsByRange: (config: BeaconConfig) => ProtocolNoHandler;
|
|
13
|
+
export declare const BlobSidecarsByRoot: (config: BeaconConfig) => ProtocolNoHandler;
|
|
14
|
+
export declare const LightClientBootstrap: (config: BeaconConfig) => ProtocolNoHandler;
|
|
15
|
+
export declare const LightClientFinalityUpdate: (config: BeaconConfig) => ProtocolNoHandler;
|
|
16
|
+
export declare const LightClientOptimisticUpdate: (config: BeaconConfig) => ProtocolNoHandler;
|
|
17
|
+
export declare const LightClientUpdatesByRange: (config: BeaconConfig) => ProtocolNoHandler;
|
|
19
18
|
//# sourceMappingURL=protocols.d.ts.map
|
|
@@ -77,13 +77,13 @@ export const LightClientUpdatesByRange = toProtocol({
|
|
|
77
77
|
contextBytesType: ContextBytesType.ForkDigest,
|
|
78
78
|
});
|
|
79
79
|
function toProtocol(protocol) {
|
|
80
|
-
return (
|
|
80
|
+
return (config) => ({
|
|
81
81
|
method: protocol.method,
|
|
82
82
|
version: protocol.version,
|
|
83
83
|
encoding: Encoding.SSZ_SNAPPY,
|
|
84
84
|
contextBytes: toContextBytes(protocol.contextBytesType, config),
|
|
85
|
-
inboundRateLimits: rateLimitQuotas(
|
|
86
|
-
requestSizes: requestSszTypeByMethod(
|
|
85
|
+
inboundRateLimits: rateLimitQuotas(config)[protocol.method],
|
|
86
|
+
requestSizes: requestSszTypeByMethod(config)[protocol.method],
|
|
87
87
|
responseSizes: (fork) => responseSszTypeByMethod[protocol.method](fork, protocol.version),
|
|
88
88
|
});
|
|
89
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../src/network/reqresp/protocols.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../src/network/reqresp/protocols.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,gBAAgB,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAoB,aAAa,EAAE,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAC,MAAM,YAAY,CAAC;AAEtH,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC;IAChC,MAAM,EAAE,aAAa,CAAC,OAAO;IAC7B,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,KAAK;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC,QAAQ;IAC9B,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,KAAK;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACnC,MAAM,EAAE,aAAa,CAAC,QAAQ;IAC9B,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,KAAK;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,IAAI,GAAG,UAAU,CAAC;IAC7B,MAAM,EAAE,aAAa,CAAC,IAAI;IAC1B,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,KAAK;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC;IAC/B,MAAM,EAAE,aAAa,CAAC,MAAM;IAC5B,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,KAAK;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;IAC5C,MAAM,EAAE,aAAa,CAAC,mBAAmB;IACzC,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,KAAK;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;IAC9C,MAAM,EAAE,aAAa,CAAC,mBAAmB;IACzC,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,UAAU;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;IAC3C,MAAM,EAAE,aAAa,CAAC,kBAAkB;IACxC,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,KAAK;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;IAC7C,MAAM,EAAE,aAAa,CAAC,kBAAkB;IACxC,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,UAAU;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;IAC5C,MAAM,EAAE,aAAa,CAAC,mBAAmB;IACzC,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,UAAU;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;IAC3C,MAAM,EAAE,aAAa,CAAC,kBAAkB;IACxC,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,UAAU;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;IAC7C,MAAM,EAAE,aAAa,CAAC,oBAAoB;IAC1C,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,UAAU;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC;IAClD,MAAM,EAAE,aAAa,CAAC,yBAAyB;IAC/C,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,UAAU;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,UAAU,CAAC;IACpD,MAAM,EAAE,aAAa,CAAC,2BAA2B;IACjD,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,UAAU;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC;IAClD,MAAM,EAAE,aAAa,CAAC,yBAAyB;IAC/C,OAAO,EAAE,OAAO,CAAC,EAAE;IACnB,gBAAgB,EAAE,gBAAgB,CAAC,UAAU;CAC9C,CAAC,CAAC;AAQH,SAAS,UAAU,CAAC,QAAyB;IAC3C,OAAO,CAAC,MAAoB,EAAqB,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,QAAQ,EAAE,QAAQ,CAAC,UAAU;QAC7B,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;QAC/D,iBAAiB,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3D,YAAY,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7D,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC;KAC1F,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,IAAsB,EAAE,MAAyB;IACvE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,gBAAgB,CAAC,KAAK;YACzB,OAAO,EAAC,IAAI,EAAE,gBAAgB,CAAC,KAAK,EAAC,CAAC;QACxC,KAAK,gBAAgB,CAAC,UAAU;YAC9B,OAAO,EAAC,IAAI,EAAE,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BeaconConfig } from "@lodestar/config";
|
|
2
|
-
import { ForkName } from "@lodestar/params";
|
|
3
2
|
import { InboundRateLimitQuota } from "@lodestar/reqresp";
|
|
4
3
|
import { ReqRespMethod } from "./types.js";
|
|
5
|
-
export declare const rateLimitQuotas: (
|
|
4
|
+
export declare const rateLimitQuotas: (config: BeaconConfig) => Record<ReqRespMethod, InboundRateLimitQuota>;
|
|
6
5
|
//# sourceMappingURL=rateLimit.d.ts.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { MAX_REQUEST_BLOCKS,
|
|
2
|
-
import { ReqRespMethod
|
|
3
|
-
|
|
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";
|
|
4
|
+
export const rateLimitQuotas = (config) => ({
|
|
4
5
|
[ReqRespMethod.Status]: {
|
|
5
6
|
// Rationale: https://github.com/sigp/lighthouse/blob/bf533c8e42cc73c35730e285c21df8add0195369/beacon_node/lighthouse_network/src/rpc/mod.rs#L118-L130
|
|
6
7
|
byPeer: { quota: 5, quotaTimeMs: 15_000 },
|
|
@@ -20,23 +21,25 @@ export const rateLimitQuotas = (fork, config) => ({
|
|
|
20
21
|
// Do not matter
|
|
21
22
|
[ReqRespMethod.BeaconBlocksByRange]: {
|
|
22
23
|
// Rationale: https://github.com/sigp/lighthouse/blob/bf533c8e42cc73c35730e285c21df8add0195369/beacon_node/lighthouse_network/src/rpc/mod.rs#L118-L130
|
|
23
|
-
byPeer: { quota:
|
|
24
|
-
getRequestCount: getRequestCountFn(
|
|
24
|
+
byPeer: { quota: MAX_REQUEST_BLOCKS, quotaTimeMs: 10_000 },
|
|
25
|
+
getRequestCount: getRequestCountFn(config, ReqRespMethod.BeaconBlocksByRange, (req) => req.count),
|
|
25
26
|
},
|
|
26
27
|
[ReqRespMethod.BeaconBlocksByRoot]: {
|
|
27
28
|
// Rationale: https://github.com/sigp/lighthouse/blob/bf533c8e42cc73c35730e285c21df8add0195369/beacon_node/lighthouse_network/src/rpc/mod.rs#L118-L130
|
|
28
|
-
byPeer: { quota:
|
|
29
|
-
getRequestCount: getRequestCountFn(
|
|
29
|
+
byPeer: { quota: 128, quotaTimeMs: 10_000 },
|
|
30
|
+
getRequestCount: getRequestCountFn(config, ReqRespMethod.BeaconBlocksByRoot, (req) => req.length),
|
|
30
31
|
},
|
|
31
32
|
[ReqRespMethod.BlobSidecarsByRange]: {
|
|
32
33
|
// Rationale: MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
// TODO Electra: Stays as `MAX_REQUEST_BLOB_SIDECARS` until we have fork-aware `byPeer` and set it to `MAX_REQUEST_BLOB_SIDECARS_ELECTRA`
|
|
35
|
+
byPeer: { quota: config.MAX_REQUEST_BLOB_SIDECARS, quotaTimeMs: 10_000 },
|
|
36
|
+
getRequestCount: getRequestCountFn(config, ReqRespMethod.BlobSidecarsByRange, (req) => req.count),
|
|
35
37
|
},
|
|
36
38
|
[ReqRespMethod.BlobSidecarsByRoot]: {
|
|
37
39
|
// Rationale: quota of BeaconBlocksByRoot * MAX_BLOBS_PER_BLOCK
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
// TODO Electra: Stays as `MAX_REQUEST_BLOB_SIDECARS` until we have fork-aware `byPeer` and set it to `MAX_REQUEST_BLOB_SIDECARS_ELECTRA`
|
|
41
|
+
byPeer: { quota: config.MAX_REQUEST_BLOB_SIDECARS, quotaTimeMs: 10_000 },
|
|
42
|
+
getRequestCount: getRequestCountFn(config, ReqRespMethod.BlobSidecarsByRoot, (req) => req.length),
|
|
40
43
|
},
|
|
41
44
|
[ReqRespMethod.LightClientBootstrap]: {
|
|
42
45
|
// As similar in the nature of `Status` protocol so we use the same rate limits.
|
|
@@ -45,7 +48,7 @@ export const rateLimitQuotas = (fork, config) => ({
|
|
|
45
48
|
[ReqRespMethod.LightClientUpdatesByRange]: {
|
|
46
49
|
// Same rationale as for BeaconBlocksByRange
|
|
47
50
|
byPeer: { quota: MAX_REQUEST_LIGHT_CLIENT_UPDATES, quotaTimeMs: 10_000 },
|
|
48
|
-
getRequestCount: getRequestCountFn(
|
|
51
|
+
getRequestCount: getRequestCountFn(config, ReqRespMethod.LightClientUpdatesByRange, (req) => req.count),
|
|
49
52
|
},
|
|
50
53
|
[ReqRespMethod.LightClientFinalityUpdate]: {
|
|
51
54
|
// Finality updates should not be requested more than once per epoch.
|
|
@@ -59,8 +62,8 @@ export const rateLimitQuotas = (fork, config) => ({
|
|
|
59
62
|
},
|
|
60
63
|
});
|
|
61
64
|
// Helper to produce a getRequestCount function
|
|
62
|
-
function getRequestCountFn(
|
|
63
|
-
const type = requestSszTypeByMethod(
|
|
65
|
+
function getRequestCountFn(config, method, fn) {
|
|
66
|
+
const type = requestSszTypeByMethod(config)[method];
|
|
64
67
|
return (reqData) => {
|
|
65
68
|
try {
|
|
66
69
|
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: (config: BeaconConfig, fork?: ForkName) => {
|
|
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 { isForkLightClient } from "@lodestar/params";
|
|
1
|
+
import { ForkName, 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,7 +19,8 @@ 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
|
-
|
|
22
|
+
// TODO Electra: Currently setting default fork to deneb because not every caller of requestSszTypeByMethod can provide fork info
|
|
23
|
+
export const requestSszTypeByMethod = (config, fork = ForkName.deneb) => ({
|
|
23
24
|
[ReqRespMethod.Status]: ssz.phase0.Status,
|
|
24
25
|
[ReqRespMethod.Goodbye]: ssz.phase0.Goodbye,
|
|
25
26
|
[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":"AAEA,OAAO,EAAkB,QAAQ,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAWL,GAAG,EACH,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAA4B,6BAA6B,EAAC,MAAM,qBAAqB,CAAC;AAI7F,qGAAqG;AACrG,MAAM,CAAN,IAAY,aAcX;AAdD,WAAY,aAAa;IACvB,UAAU;IACV,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,8BAAa,CAAA;IACb,sCAAqB,CAAA;IACrB,+DAA8C,CAAA;IAC9C,6DAA4C,CAAA;IAC5C,+DAA8C,CAAA;IAC9C,6DAA4C,CAAA;IAC5C,gEAA+C,CAAA;IAC/C,4EAA2D,CAAA;IAC3D,2EAA0D,CAAA;IAC1D,+EAA8D,CAAA;AAChE,CAAC,EAdW,aAAa,KAAb,aAAa,QAcxB;AAkCD,oDAAoD;AACpD,iIAAiI;AACjI,MAAM,CAAC,MAAM,sBAAsB,GAK/B,CAAC,MAAM,EAAE,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM;IACzC,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO;IAC3C,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI;IACrC,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,IAAI;IAC9B,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,0BAA0B;IAC1E,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,yBAAyB;IACxE,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,0BAA0B;IACzE,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/E,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,GAAG,CAAC,IAAI;IAC9C,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,yBAAyB;IAC/E,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,IAAI;IAC/C,CAAC,aAAa,CAAC,2BAA2B,CAAC,EAAE,IAAI;CAClD,CAAC,CAAC;AAIH,MAAM,kBAAkB,GAA0C,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAClF,IAAI,OAAO,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC;IACtC,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAwE;IAC1G,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM;IAC/C,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO;IACjD,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI;IAC3C,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9G,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,kBAAkB;IACvD,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,kBAAkB;IACtD,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW;IAChE,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW;IAC/D,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB;IAC3G,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB;IAC7G,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB;IACrH,CAAC,aAAa,CAAC,2BAA2B,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CACpD,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B;CACrE,CAAC;AAEF,SAAS,mBAAmB,CAAC,IAAc;IACzC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAMD,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,iCAAM,CAAA;IACN,iCAAM,CAAA;AACR,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB"}
|
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.ee9d4fa72b",
|
|
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.ee9d4fa72b",
|
|
124
|
+
"@lodestar/config": "1.26.0-dev.ee9d4fa72b",
|
|
125
|
+
"@lodestar/db": "1.26.0-dev.ee9d4fa72b",
|
|
126
|
+
"@lodestar/fork-choice": "1.26.0-dev.ee9d4fa72b",
|
|
127
|
+
"@lodestar/light-client": "1.26.0-dev.ee9d4fa72b",
|
|
128
|
+
"@lodestar/logger": "1.26.0-dev.ee9d4fa72b",
|
|
129
|
+
"@lodestar/params": "1.26.0-dev.ee9d4fa72b",
|
|
130
|
+
"@lodestar/reqresp": "1.26.0-dev.ee9d4fa72b",
|
|
131
|
+
"@lodestar/state-transition": "1.26.0-dev.ee9d4fa72b",
|
|
132
|
+
"@lodestar/types": "1.26.0-dev.ee9d4fa72b",
|
|
133
|
+
"@lodestar/utils": "1.26.0-dev.ee9d4fa72b",
|
|
134
|
+
"@lodestar/validator": "1.26.0-dev.ee9d4fa72b",
|
|
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": "1ce8c7818cb23ccd65fa1ce6f6aec352c1a6d323"
|
|
172
172
|
}
|
|
@@ -1,12 +0,0 @@
|
|
|
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
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|