@lodestar/beacon-node 1.26.0-dev.ee9d4fa72b → 1.26.0-dev.f9d080cde3
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 +19 -13
- 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.d.ts +16 -15
- package/lib/network/reqresp/protocols.js +3 -3
- package/lib/network/reqresp/protocols.js.map +1 -1
- package/lib/network/reqresp/rateLimit.d.ts +2 -1
- package/lib/network/reqresp/rateLimit.js +14 -17
- 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,18 +1,19 @@
|
|
|
1
1
|
import { BeaconConfig } from "@lodestar/config";
|
|
2
|
+
import { ForkName } from "@lodestar/params";
|
|
2
3
|
import { ProtocolNoHandler } from "./types.js";
|
|
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;
|
|
4
|
+
export declare const Goodbye: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
5
|
+
export declare const Metadata: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
6
|
+
export declare const MetadataV2: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
7
|
+
export declare const Ping: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
8
|
+
export declare const Status: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
9
|
+
export declare const BeaconBlocksByRange: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
10
|
+
export declare const BeaconBlocksByRangeV2: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
11
|
+
export declare const BeaconBlocksByRoot: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
12
|
+
export declare const BeaconBlocksByRootV2: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
13
|
+
export declare const BlobSidecarsByRange: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
14
|
+
export declare const BlobSidecarsByRoot: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
15
|
+
export declare const LightClientBootstrap: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
16
|
+
export declare const LightClientFinalityUpdate: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
17
|
+
export declare const LightClientOptimisticUpdate: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
18
|
+
export declare const LightClientUpdatesByRange: (fork: ForkName, config: BeaconConfig) => ProtocolNoHandler;
|
|
18
19
|
//# 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 (config) => ({
|
|
80
|
+
return (fork, 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(config)[protocol.method],
|
|
86
|
-
requestSizes: requestSszTypeByMethod(config)[protocol.method],
|
|
85
|
+
inboundRateLimits: rateLimitQuotas(fork, config)[protocol.method],
|
|
86
|
+
requestSizes: requestSszTypeByMethod(fork, 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":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BeaconConfig } from "@lodestar/config";
|
|
2
|
+
import { ForkName } from "@lodestar/params";
|
|
2
3
|
import { InboundRateLimitQuota } from "@lodestar/reqresp";
|
|
3
4
|
import { ReqRespMethod } from "./types.js";
|
|
4
|
-
export declare const rateLimitQuotas: (config: BeaconConfig) => Record<ReqRespMethod, InboundRateLimitQuota>;
|
|
5
|
+
export declare const rateLimitQuotas: (fork: ForkName, config: BeaconConfig) => Record<ReqRespMethod, InboundRateLimitQuota>;
|
|
5
6
|
//# sourceMappingURL=rateLimit.d.ts.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { MAX_REQUEST_BLOCKS, MAX_REQUEST_LIGHT_CLIENT_UPDATES } from "@lodestar/params";
|
|
2
|
-
import { ReqRespMethod } from "./types.js";
|
|
3
|
-
|
|
4
|
-
export const rateLimitQuotas = (config) => ({
|
|
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";
|
|
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
|
|
7
6
|
byPeer: { quota: 5, quotaTimeMs: 15_000 },
|
|
@@ -21,25 +20,23 @@ export const rateLimitQuotas = (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
|
-
|
|
35
|
-
|
|
36
|
-
getRequestCount: getRequestCountFn(config, ReqRespMethod.BlobSidecarsByRange, (req) => req.count),
|
|
33
|
+
byPeer: { quota: config.getMaxRequestBlobSidecars(fork), quotaTimeMs: 10_000 },
|
|
34
|
+
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.BlobSidecarsByRange, (req) => req.count),
|
|
37
35
|
},
|
|
38
36
|
[ReqRespMethod.BlobSidecarsByRoot]: {
|
|
39
37
|
// Rationale: quota of BeaconBlocksByRoot * MAX_BLOBS_PER_BLOCK
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
getRequestCount: getRequestCountFn(config, ReqRespMethod.BlobSidecarsByRoot, (req) => req.length),
|
|
38
|
+
byPeer: { quota: config.getMaxRequestBlobSidecars(fork), quotaTimeMs: 10_000 },
|
|
39
|
+
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.BlobSidecarsByRoot, (req) => req.length),
|
|
43
40
|
},
|
|
44
41
|
[ReqRespMethod.LightClientBootstrap]: {
|
|
45
42
|
// As similar in the nature of `Status` protocol so we use the same rate limits.
|
|
@@ -48,7 +45,7 @@ export const rateLimitQuotas = (config) => ({
|
|
|
48
45
|
[ReqRespMethod.LightClientUpdatesByRange]: {
|
|
49
46
|
// Same rationale as for BeaconBlocksByRange
|
|
50
47
|
byPeer: { quota: MAX_REQUEST_LIGHT_CLIENT_UPDATES, quotaTimeMs: 10_000 },
|
|
51
|
-
getRequestCount: getRequestCountFn(config, ReqRespMethod.LightClientUpdatesByRange, (req) => req.count),
|
|
48
|
+
getRequestCount: getRequestCountFn(fork, config, ReqRespMethod.LightClientUpdatesByRange, (req) => req.count),
|
|
52
49
|
},
|
|
53
50
|
[ReqRespMethod.LightClientFinalityUpdate]: {
|
|
54
51
|
// Finality updates should not be requested more than once per epoch.
|
|
@@ -62,8 +59,8 @@ export const rateLimitQuotas = (config) => ({
|
|
|
62
59
|
},
|
|
63
60
|
});
|
|
64
61
|
// Helper to produce a getRequestCount function
|
|
65
|
-
function getRequestCountFn(config, method, fn) {
|
|
66
|
-
const type = requestSszTypeByMethod(config)[method];
|
|
62
|
+
function getRequestCountFn(fork, config, method, fn) {
|
|
63
|
+
const type = requestSszTypeByMethod(fork, config)[method];
|
|
67
64
|
return (reqData) => {
|
|
68
65
|
try {
|
|
69
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.f9d080cde3",
|
|
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.f9d080cde3",
|
|
124
|
+
"@lodestar/config": "1.26.0-dev.f9d080cde3",
|
|
125
|
+
"@lodestar/db": "1.26.0-dev.f9d080cde3",
|
|
126
|
+
"@lodestar/fork-choice": "1.26.0-dev.f9d080cde3",
|
|
127
|
+
"@lodestar/light-client": "1.26.0-dev.f9d080cde3",
|
|
128
|
+
"@lodestar/logger": "1.26.0-dev.f9d080cde3",
|
|
129
|
+
"@lodestar/params": "1.26.0-dev.f9d080cde3",
|
|
130
|
+
"@lodestar/reqresp": "1.26.0-dev.f9d080cde3",
|
|
131
|
+
"@lodestar/state-transition": "1.26.0-dev.f9d080cde3",
|
|
132
|
+
"@lodestar/types": "1.26.0-dev.f9d080cde3",
|
|
133
|
+
"@lodestar/utils": "1.26.0-dev.f9d080cde3",
|
|
134
|
+
"@lodestar/validator": "1.26.0-dev.f9d080cde3",
|
|
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": "ce38d546fd0c5877e5688db7cacf282471aed81b"
|
|
172
172
|
}
|