@lodestar/beacon-node 1.29.0-dev.f87bd54721 → 1.29.0-peerDAS.97104b75a4
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 +37 -14
- package/lib/api/impl/beacon/blocks/index.js.map +1 -1
- package/lib/api/impl/beacon/pool/index.js +1 -1
- package/lib/api/impl/beacon/pool/index.js.map +1 -1
- package/lib/api/impl/beacon/state/index.js +0 -12
- package/lib/api/impl/beacon/state/index.js.map +1 -1
- package/lib/api/impl/validator/index.js +4 -14
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/chain/archiveStore/historicalState/worker.js +0 -12
- package/lib/chain/archiveStore/historicalState/worker.js.map +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.js +56 -21
- package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
- package/lib/chain/beaconProposerCache.d.ts +1 -0
- package/lib/chain/beaconProposerCache.js +3 -0
- package/lib/chain/beaconProposerCache.js.map +1 -1
- package/lib/chain/blocks/importBlock.js +56 -14
- package/lib/chain/blocks/importBlock.js.map +1 -1
- package/lib/chain/blocks/types.d.ts +67 -26
- package/lib/chain/blocks/types.js +39 -6
- package/lib/chain/blocks/types.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksDataAvailability.js +21 -10
- package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
- package/lib/chain/blocks/writeBlockInputToDb.js +88 -15
- package/lib/chain/blocks/writeBlockInputToDb.js.map +1 -1
- package/lib/chain/chain.d.ts +28 -1
- package/lib/chain/chain.js +22 -7
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/emitter.d.ts +18 -2
- package/lib/chain/emitter.js +13 -0
- package/lib/chain/emitter.js.map +1 -1
- package/lib/chain/errors/dataColumnSidecarError.d.ts +27 -0
- package/lib/chain/errors/dataColumnSidecarError.js +12 -0
- package/lib/chain/errors/dataColumnSidecarError.js.map +1 -0
- package/lib/chain/errors/index.d.ts +1 -0
- package/lib/chain/errors/index.js +1 -0
- package/lib/chain/errors/index.js.map +1 -1
- package/lib/chain/interface.d.ts +2 -0
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts +6 -4
- package/lib/chain/opPools/aggregatedAttestationPool.js +48 -76
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/attestationPool.d.ts +2 -4
- package/lib/chain/opPools/attestationPool.js +3 -4
- package/lib/chain/opPools/attestationPool.js.map +1 -1
- package/lib/chain/options.d.ts +3 -0
- package/lib/chain/options.js +4 -0
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +55 -18
- package/lib/chain/seenCache/seenGossipBlockInput.js +293 -51
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/validation/dataColumnSidecar.d.ts +8 -0
- package/lib/chain/validation/dataColumnSidecar.js +91 -0
- package/lib/chain/validation/dataColumnSidecar.js.map +1 -0
- package/lib/db/beacon.d.ts +3 -1
- package/lib/db/beacon.js +3 -1
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/buckets.d.ts +3 -1
- package/lib/db/buckets.js +2 -0
- package/lib/db/buckets.js.map +1 -1
- package/lib/db/interface.d.ts +3 -1
- package/lib/db/repositories/dataColumnSidecars.d.ts +47 -0
- package/lib/db/repositories/dataColumnSidecars.js +40 -0
- package/lib/db/repositories/dataColumnSidecars.js.map +1 -0
- package/lib/db/repositories/dataColumnSidecarsArchive.d.ts +15 -0
- package/lib/db/repositories/dataColumnSidecarsArchive.js +23 -0
- package/lib/db/repositories/dataColumnSidecarsArchive.js.map +1 -0
- package/lib/db/repositories/index.d.ts +2 -0
- package/lib/db/repositories/index.js +2 -0
- package/lib/db/repositories/index.js.map +1 -1
- package/lib/execution/engine/http.d.ts +5 -3
- package/lib/execution/engine/http.js +48 -24
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +4 -2
- package/lib/execution/engine/interface.js +1 -1
- package/lib/execution/engine/interface.js.map +1 -1
- package/lib/execution/engine/mock.d.ts +1 -0
- package/lib/execution/engine/mock.js +4 -0
- package/lib/execution/engine/mock.js.map +1 -1
- package/lib/execution/engine/types.d.ts +8 -0
- package/lib/execution/engine/types.js +6 -0
- package/lib/execution/engine/types.js.map +1 -1
- package/lib/metrics/metrics/beacon.d.ts +7 -0
- package/lib/metrics/metrics/beacon.js +23 -0
- package/lib/metrics/metrics/beacon.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +10 -21
- package/lib/metrics/metrics/lodestar.js +28 -64
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/metrics/validatorMonitor.js +1 -1
- package/lib/metrics/validatorMonitor.js.map +1 -1
- package/lib/network/core/metrics.d.ts +14 -4
- package/lib/network/core/metrics.js +23 -0
- package/lib/network/core/metrics.js.map +1 -1
- package/lib/network/core/networkCore.d.ts +9 -3
- package/lib/network/core/networkCore.js +23 -17
- package/lib/network/core/networkCore.js.map +1 -1
- package/lib/network/core/networkCoreWorker.js +5 -5
- package/lib/network/core/networkCoreWorker.js.map +1 -1
- package/lib/network/core/networkCoreWorkerHandler.d.ts +4 -2
- package/lib/network/core/networkCoreWorkerHandler.js +10 -3
- package/lib/network/core/networkCoreWorkerHandler.js.map +1 -1
- package/lib/network/core/types.d.ts +5 -1
- package/lib/network/discv5/index.d.ts +3 -2
- package/lib/network/discv5/index.js +5 -4
- package/lib/network/discv5/index.js.map +1 -1
- package/lib/network/discv5/types.d.ts +1 -1
- package/lib/network/discv5/worker.js +6 -7
- package/lib/network/discv5/worker.js.map +1 -1
- package/lib/network/events.d.ts +3 -1
- package/lib/network/events.js.map +1 -1
- package/lib/network/gossip/gossipsub.js +0 -4
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/gossip/interface.d.ts +8 -1
- package/lib/network/gossip/interface.js +1 -0
- package/lib/network/gossip/interface.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +1189 -1289
- package/lib/network/gossip/topic.js +20 -1
- package/lib/network/gossip/topic.js.map +1 -1
- package/lib/network/interface.d.ts +17 -4
- package/lib/network/libp2p/index.d.ts +2 -2
- package/lib/network/libp2p/index.js +9 -9
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/metadata.d.ts +10 -6
- package/lib/network/metadata.js +20 -4
- package/lib/network/metadata.js.map +1 -1
- package/lib/network/network.d.ts +20 -6
- package/lib/network/network.js +63 -11
- package/lib/network/network.js.map +1 -1
- package/lib/network/networkConfig.d.ts +23 -0
- package/lib/network/networkConfig.js +32 -0
- package/lib/network/networkConfig.js.map +1 -0
- package/lib/network/options.js +2 -0
- package/lib/network/options.js.map +1 -1
- package/lib/network/peers/datastore.d.ts +1 -2
- package/lib/network/peers/datastore.js +1 -1
- package/lib/network/peers/datastore.js.map +1 -1
- package/lib/network/peers/discover.d.ts +19 -7
- package/lib/network/peers/discover.js +148 -18
- package/lib/network/peers/discover.js.map +1 -1
- package/lib/network/peers/peerManager.d.ts +11 -9
- package/lib/network/peers/peerManager.js +96 -10
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/peers/peersData.d.ts +8 -2
- package/lib/network/peers/peersData.js.map +1 -1
- package/lib/network/peers/score/interface.d.ts +1 -1
- package/lib/network/peers/score/score.d.ts +2 -2
- package/lib/network/peers/score/score.js +4 -1
- package/lib/network/peers/score/score.js.map +1 -1
- package/lib/network/peers/score/store.d.ts +3 -1
- package/lib/network/peers/score/store.js +6 -2
- package/lib/network/peers/score/store.js.map +1 -1
- package/lib/network/peers/utils/getConnectedPeerIds.js +2 -2
- package/lib/network/peers/utils/getConnectedPeerIds.js.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts +15 -4
- package/lib/network/peers/utils/prioritizePeers.js +28 -5
- package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
- package/lib/network/processor/extractSlotRootFns.js +8 -1
- package/lib/network/processor/extractSlotRootFns.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +154 -16
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/gossipQueues/index.js +5 -0
- package/lib/network/processor/gossipQueues/index.js.map +1 -1
- package/lib/network/processor/index.js +5 -1
- package/lib/network/processor/index.js.map +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.js +21 -3
- package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.d.ts +14 -5
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js +194 -14
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRange.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +28 -5
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +254 -26
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.d.ts +1 -1
- package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.d.ts +8 -0
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js +106 -0
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRange.js.map +1 -0
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.d.ts +6 -0
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js +58 -0
- package/lib/network/reqresp/handlers/dataColumnSidecarsByRoot.js.map +1 -0
- package/lib/network/reqresp/handlers/index.js +10 -0
- package/lib/network/reqresp/handlers/index.js.map +1 -1
- package/lib/network/reqresp/protocols.d.ts +3 -0
- package/lib/network/reqresp/protocols.js +15 -0
- package/lib/network/reqresp/protocols.js.map +1 -1
- package/lib/network/reqresp/rateLimit.js +11 -1
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/network/reqresp/types.d.ts +13 -6
- package/lib/network/reqresp/types.js +8 -1
- package/lib/network/reqresp/types.js.map +1 -1
- package/lib/network/subnets/interface.d.ts +2 -0
- package/lib/network/subnets/interface.js +16 -1
- package/lib/network/subnets/interface.js.map +1 -1
- package/lib/network/subnets/syncnetsService.js +4 -5
- package/lib/network/subnets/syncnetsService.js.map +1 -1
- package/lib/network/util.d.ts +1 -4
- package/lib/network/util.js +2 -2
- package/lib/network/util.js.map +1 -1
- package/lib/node/nodejs.d.ts +5 -3
- package/lib/node/nodejs.js +6 -4
- package/lib/node/nodejs.js.map +1 -1
- package/lib/sync/interface.d.ts +2 -2
- package/lib/sync/interface.js +1 -1
- package/lib/sync/interface.js.map +1 -1
- package/lib/sync/range/batch.d.ts +8 -2
- package/lib/sync/range/batch.js +16 -7
- package/lib/sync/range/batch.js.map +1 -1
- package/lib/sync/range/chain.d.ts +7 -2
- package/lib/sync/range/chain.js +45 -21
- package/lib/sync/range/chain.js.map +1 -1
- package/lib/sync/range/range.js +3 -3
- package/lib/sync/range/range.js.map +1 -1
- package/lib/sync/range/utils/peerBalancer.d.ts +4 -1
- package/lib/sync/range/utils/peerBalancer.js +20 -2
- package/lib/sync/range/utils/peerBalancer.js.map +1 -1
- package/lib/sync/unknownBlock.d.ts +8 -1
- package/lib/sync/unknownBlock.js +223 -63
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/util/blobs.d.ts +12 -1
- package/lib/util/blobs.js +40 -1
- package/lib/util/blobs.js.map +1 -1
- package/lib/util/dataColumns.d.ts +105 -0
- package/lib/util/dataColumns.js +189 -0
- package/lib/util/dataColumns.js.map +1 -0
- package/lib/util/kzg.d.ts +9 -21
- package/lib/util/kzg.js +12 -88
- package/lib/util/kzg.js.map +1 -1
- package/lib/util/peerId.js +1 -1
- package/lib/util/peerId.js.map +1 -1
- package/lib/util/sszBytes.d.ts +1 -0
- package/lib/util/sszBytes.js +17 -0
- package/lib/util/sszBytes.js.map +1 -1
- package/package.json +33 -32
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { Thread, Worker, spawn } from "@chainsafe/threads";
|
|
3
|
-
import {
|
|
3
|
+
import { exportToProtobuf } from "@libp2p/peer-id-factory";
|
|
4
4
|
import { chainConfigToJson } from "@lodestar/config";
|
|
5
5
|
import { AsyncIterableBridgeCaller, AsyncIterableBridgeHandler } from "../../util/asyncIterableToEvents.js";
|
|
6
6
|
import { peerIdFromString } from "../../util/peerId.js";
|
|
@@ -35,13 +35,13 @@ export class WorkerNetworkCore {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
static async init(modules) {
|
|
38
|
-
const { opts, config,
|
|
38
|
+
const { opts, config, peerId } = modules;
|
|
39
39
|
const { genesisTime, peerStoreDir, activeValidatorCount, localMultiaddrs, metricsEnabled, initialStatus } = opts;
|
|
40
40
|
const workerData = {
|
|
41
41
|
opts,
|
|
42
42
|
chainConfigJson: chainConfigToJson(config),
|
|
43
43
|
genesisValidatorsRoot: config.genesisValidatorsRoot,
|
|
44
|
-
|
|
44
|
+
peerIdProto: exportToProtobuf(peerId),
|
|
45
45
|
localMultiaddrs,
|
|
46
46
|
metricsEnabled,
|
|
47
47
|
peerStoreDir,
|
|
@@ -135,6 +135,13 @@ export class WorkerNetworkCore {
|
|
|
135
135
|
publishGossip(topic, data, opts) {
|
|
136
136
|
return this.getApi().publishGossip(topic, data, opts);
|
|
137
137
|
}
|
|
138
|
+
// Custody
|
|
139
|
+
setTargetGroupCount(count) {
|
|
140
|
+
return this.getApi().setTargetGroupCount(count);
|
|
141
|
+
}
|
|
142
|
+
setAdvertisedGroupCount(count) {
|
|
143
|
+
return this.getApi().setAdvertisedGroupCount(count);
|
|
144
|
+
}
|
|
138
145
|
// Debug
|
|
139
146
|
connectToPeer(peer, multiaddr) {
|
|
140
147
|
return this.getApi().connectToPeer(peer, multiaddr);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"networkCoreWorkerHandler.js","sourceRoot":"","sources":["../../../src/network/core/networkCoreWorkerHandler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,OAAO,EAAe,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"networkCoreWorkerHandler.js","sourceRoot":"","sources":["../../../src/network/core/networkCoreWorkerHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,8 @@ export interface INetworkCore extends INetworkCorePublic {
|
|
|
37
37
|
getConnectedPeerCount(): Promise<number>;
|
|
38
38
|
/** Chain must push status updates to the network core */
|
|
39
39
|
updateStatus(status: phase0.Status): Promise<void>;
|
|
40
|
+
setTargetGroupCount(count: number): Promise<void>;
|
|
41
|
+
setAdvertisedGroupCount(count: number): Promise<void>;
|
|
40
42
|
/** Opens stream to handle ReqResp outgoing request */
|
|
41
43
|
sendReqRespRequest(data: OutgoingRequestArgs): AsyncIterable<ResponseIncoming>;
|
|
42
44
|
/** Publish gossip message to peers */
|
|
@@ -58,7 +60,7 @@ export type NetworkWorkerData = {
|
|
|
58
60
|
genesisTime: number;
|
|
59
61
|
activeValidatorCount: number;
|
|
60
62
|
initialStatus: phase0.Status;
|
|
61
|
-
|
|
63
|
+
peerIdProto: Uint8Array;
|
|
62
64
|
localMultiaddrs: string[];
|
|
63
65
|
metricsEnabled: boolean;
|
|
64
66
|
peerStoreDir?: string;
|
|
@@ -74,6 +76,8 @@ export type NetworkWorkerApi = INetworkCorePublic & {
|
|
|
74
76
|
getConnectedPeers(): Promise<PeerIdStr[]>;
|
|
75
77
|
getConnectedPeerCount(): Promise<number>;
|
|
76
78
|
updateStatus(status: phase0.Status): Promise<void>;
|
|
79
|
+
setTargetGroupCount(count: number): Promise<void>;
|
|
80
|
+
setAdvertisedGroupCount(count: number): Promise<void>;
|
|
77
81
|
publishGossip(topic: string, data: Uint8Array, opts?: PublishOpts): Promise<number>;
|
|
78
82
|
close(): Promise<void>;
|
|
79
83
|
scrapeMetrics(): Promise<string>;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import EventEmitter from "node:events";
|
|
2
2
|
import { ENR, ENRData, SignableENR } from "@chainsafe/enr";
|
|
3
|
-
import {
|
|
3
|
+
import { PeerId } from "@libp2p/interface";
|
|
4
4
|
import { BeaconConfig } from "@lodestar/config";
|
|
5
5
|
import { LoggerNode } from "@lodestar/logger/node";
|
|
6
6
|
import { StrictEventEmitter } from "strict-event-emitter-types";
|
|
7
7
|
import { NetworkCoreMetrics } from "../core/metrics.js";
|
|
8
8
|
import { Discv5WorkerApi, LodestarDiscv5Opts } from "./types.js";
|
|
9
9
|
export type Discv5Opts = {
|
|
10
|
-
|
|
10
|
+
peerId: PeerId;
|
|
11
11
|
discv5: LodestarDiscv5Opts;
|
|
12
12
|
logger: LoggerNode;
|
|
13
13
|
config: BeaconConfig;
|
|
@@ -25,6 +25,7 @@ declare const Discv5Worker_base: {
|
|
|
25
25
|
export declare class Discv5Worker extends Discv5Worker_base {
|
|
26
26
|
private readonly opts;
|
|
27
27
|
private readonly workerApi;
|
|
28
|
+
private readonly keypair;
|
|
28
29
|
private readonly subscription;
|
|
29
30
|
private closed;
|
|
30
31
|
constructor(opts: Discv5Opts, workerApi: Discv5WorkerApi);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import EventEmitter from "node:events";
|
|
2
|
-
import { ENR, SignableENR } from "@chainsafe/enr";
|
|
2
|
+
import { ENR, SignableENR, createPrivateKeyFromPeerId } from "@chainsafe/enr";
|
|
3
3
|
import { Thread, Worker, spawn } from "@chainsafe/threads";
|
|
4
|
-
import {
|
|
4
|
+
import { exportToProtobuf } from "@libp2p/peer-id-factory";
|
|
5
5
|
import { chainConfigFromJson, chainConfigToJson } from "@lodestar/config";
|
|
6
6
|
/**
|
|
7
7
|
* Wrapper class abstracting the details of discv5 worker instantiation and message-passing
|
|
@@ -12,12 +12,13 @@ export class Discv5Worker extends EventEmitter {
|
|
|
12
12
|
this.opts = opts;
|
|
13
13
|
this.workerApi = workerApi;
|
|
14
14
|
this.closed = false;
|
|
15
|
+
this.keypair = createPrivateKeyFromPeerId(this.opts.peerId);
|
|
15
16
|
this.subscription = workerApi.discovered().subscribe((enrObj) => this.onDiscovered(enrObj));
|
|
16
17
|
}
|
|
17
18
|
static async init(opts) {
|
|
18
19
|
const workerData = {
|
|
19
20
|
enr: opts.discv5.enr,
|
|
20
|
-
|
|
21
|
+
peerIdProto: exportToProtobuf(opts.peerId),
|
|
21
22
|
bindAddrs: opts.discv5.bindAddrs,
|
|
22
23
|
config: opts.discv5.config ?? {},
|
|
23
24
|
bootEnrs: opts.discv5.bootEnrs,
|
|
@@ -50,7 +51,7 @@ export class Discv5Worker extends EventEmitter {
|
|
|
50
51
|
}
|
|
51
52
|
async enr() {
|
|
52
53
|
const obj = await this.workerApi.enr();
|
|
53
|
-
return new SignableENR(obj.kvs, obj.seq, this.
|
|
54
|
+
return new SignableENR(obj.kvs, obj.seq, this.keypair.privateKey);
|
|
54
55
|
}
|
|
55
56
|
setEnrValue(key, value) {
|
|
56
57
|
return this.workerApi.setEnrValue(key, value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/discv5/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,GAAG,EAAW,WAAW,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/discv5/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,GAAG,EAAW,WAAW,EAAE,0BAA0B,EAAC,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAe,mBAAmB,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAkBtF;;GAEG;AACH,MAAM,OAAO,YAAa,SAAS,YAAyE;IAK1G,YACmB,IAAgB,EAChB,SAA0B;QAE3C,KAAK,EAAE,CAAC;QAHS,SAAI,GAAJ,IAAI,CAAY;QAChB,cAAS,GAAT,SAAS,CAAiB;QAJrC,WAAM,GAAG,KAAK,CAAC;QAQrB,IAAI,CAAC,OAAO,GAAG,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAgB;QAChC,MAAM,UAAU,GAAqB;YACnC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;YACpB,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,MAAyB,CAAC;YAC7D,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE;YAChC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAC9B,WAAW,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChE,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB;YACxD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;SACjC,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE,EAAC,UAAU,EAA4C,CAAC,CAAC;QAElG,MAAM,SAAS,GAAG,MAAM,KAAK,CAAkB,MAAM,EAAE;YACrD,0FAA0F;YAC1F,8FAA8F;YAC9F,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;SACvB,CAAC,CAAC;QAEH,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAA8B,CAAC,CAAC;IAC9D,CAAC;IAED,YAAY,CAAC,GAAY;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACvC,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IAED,WAAW,CAAC,GAAW,EAAE,KAAiB;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,OAAe;QACpD,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,OAAe;QACrD,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAEO,UAAU,CAAC,IAAe;QAChC,MAAM,IAAI,GAAU,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,SAAS,CAAC,GAAY;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;CACF"}
|
|
@@ -23,7 +23,7 @@ export type LodestarDiscv5Opts = {
|
|
|
23
23
|
/** discv5 worker constructor data */
|
|
24
24
|
export interface Discv5WorkerData {
|
|
25
25
|
enr: string;
|
|
26
|
-
|
|
26
|
+
peerIdProto: Uint8Array;
|
|
27
27
|
bindAddrs: BindAddrs;
|
|
28
28
|
config: Discv5Config;
|
|
29
29
|
bootEnrs: string[];
|
|
@@ -2,11 +2,10 @@ import fs from "node:fs";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import worker from "node:worker_threads";
|
|
4
4
|
import { Discv5 } from "@chainsafe/discv5";
|
|
5
|
-
import { SignableENR } from "@chainsafe/enr";
|
|
5
|
+
import { SignableENR, createPrivateKeyFromPeerId } from "@chainsafe/enr";
|
|
6
6
|
import { Observable, Subject } from "@chainsafe/threads/observable";
|
|
7
7
|
import { expose } from "@chainsafe/threads/worker";
|
|
8
|
-
import {
|
|
9
|
-
import { peerIdFromPrivateKey } from "@libp2p/peer-id";
|
|
8
|
+
import { createFromProtobuf } from "@libp2p/peer-id-factory";
|
|
10
9
|
import { createBeaconConfig } from "@lodestar/config";
|
|
11
10
|
import { getNodeLogger } from "@lodestar/logger/node";
|
|
12
11
|
import { multiaddr } from "@multiformats/multiaddr";
|
|
@@ -36,13 +35,13 @@ if (workerData.metrics) {
|
|
|
36
35
|
labelNames: ["status"],
|
|
37
36
|
});
|
|
38
37
|
}
|
|
39
|
-
const
|
|
40
|
-
const
|
|
38
|
+
const peerId = await createFromProtobuf(workerData.peerIdProto);
|
|
39
|
+
const keypair = createPrivateKeyFromPeerId(peerId);
|
|
41
40
|
const config = createBeaconConfig(workerData.chainConfig, workerData.genesisValidatorsRoot);
|
|
42
41
|
// Initialize discv5
|
|
43
42
|
const discv5 = Discv5.create({
|
|
44
|
-
enr: SignableENR.decodeTxt(workerData.enr, privateKey
|
|
45
|
-
|
|
43
|
+
enr: SignableENR.decodeTxt(workerData.enr, keypair.privateKey),
|
|
44
|
+
peerId,
|
|
46
45
|
bindAddrs: {
|
|
47
46
|
ip4: (workerData.bindAddrs.ip4 ? multiaddr(workerData.bindAddrs.ip4) : undefined),
|
|
48
47
|
ip6: workerData.bindAddrs.ip6 ? multiaddr(workerData.bindAddrs.ip6) : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/network/discv5/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAe,WAAW,
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/network/discv5/worker.ts"],"names":[],"mappings":"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"}
|
package/lib/network/events.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PeerId, TopicValidatorResult } from "@libp2p/interface";
|
|
2
|
-
import { RootHex, phase0 } from "@lodestar/types";
|
|
2
|
+
import { ColumnIndex, RootHex, phase0 } from "@lodestar/types";
|
|
3
3
|
import { BlockInput, NullBlockInput } from "../chain/blocks/types.js";
|
|
4
4
|
import { PeerIdStr } from "../util/peerId.js";
|
|
5
5
|
import { StrictEventEmitterSingleArg } from "../util/strictEvents.js";
|
|
@@ -24,6 +24,8 @@ export type NetworkEventData = {
|
|
|
24
24
|
[NetworkEvent.peerConnected]: {
|
|
25
25
|
peer: PeerIdStr;
|
|
26
26
|
status: phase0.Status;
|
|
27
|
+
dataColumns: ColumnIndex[];
|
|
28
|
+
clientAgent: string;
|
|
27
29
|
};
|
|
28
30
|
[NetworkEvent.peerDisconnected]: {
|
|
29
31
|
peer: PeerIdStr;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/network/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAMzC,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAIvD,MAAM,CAAN,IAAY,YAgBX;AAhBD,WAAY,YAAY;IACtB,4DAA4D;IAC5D,6DAA6C,CAAA;IAC7C,mCAAmC;IACnC,mEAAmD,CAAA;IACnD,mDAAmC,CAAA;IACnC,6FAA6F;IAC7F,yDAAyC,CAAA;IACzC,6CAA6B,CAAA;IAC7B,uDAAuC,CAAA;IAEvC,2BAA2B;IAC3B,gEAAgE;IAChE,0EAA0D,CAAA;IAC1D,2DAA2D;IAC3D,gFAAgE,CAAA;AAClE,CAAC,EAhBW,YAAY,KAAZ,YAAY,QAgBvB;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/network/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAMzC,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAIvD,MAAM,CAAN,IAAY,YAgBX;AAhBD,WAAY,YAAY;IACtB,4DAA4D;IAC5D,6DAA6C,CAAA;IAC7C,mCAAmC;IACnC,mEAAmD,CAAA;IACnD,mDAAmC,CAAA;IACnC,6FAA6F;IAC7F,yDAAyC,CAAA;IACzC,6CAA6B,CAAA;IAC7B,uDAAuC,CAAA;IAEvC,2BAA2B;IAC3B,gEAAgE;IAChE,0EAA0D,CAAA;IAC1D,2DAA2D;IAC3D,gFAAgE,CAAA;AAClE,CAAC,EAhBW,YAAY,KAAZ,YAAY,QAgBvB;AAsBD,MAAM,CAAC,MAAM,qBAAqB,GAAyC;IACzE,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,YAAY;IACzD,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC,YAAY;IAC5D,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,IAAI,EAAE,sCAAsC;IAC1F,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAAC,YAAY;IAC9D,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC,YAAY;IACxD,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,cAAc,CAAC,YAAY;IAC7D,CAAC,YAAY,CAAC,uBAAuB,CAAC,EAAE,cAAc,CAAC,YAAY;IACnE,CAAC,YAAY,CAAC,6BAA6B,CAAC,EAAE,cAAc,CAAC,YAAY;CAC1E,CAAC;AAIF,MAAM,OAAO,eAAgB,SAAS,YAA2C;CAAG"}
|
|
@@ -76,10 +76,6 @@ export class Eth2Gossipsub extends GossipSub {
|
|
|
76
76
|
// if this is false, only publish to mesh peers. If there is not enough GOSSIP_D mesh peers,
|
|
77
77
|
// publish to some more topic peers to make sure we always publish to at least GOSSIP_D peers
|
|
78
78
|
floodPublish: !opts?.disableFloodPublish,
|
|
79
|
-
// Only send IDONTWANT messages if the message size is larger than this
|
|
80
|
-
// This should be large enough to not send IDONTWANT for "small" messages
|
|
81
|
-
// See https://github.com/ChainSafe/lodestar/pull/7077#issuecomment-2383679472
|
|
82
|
-
idontwantMinDataSize: 16829,
|
|
83
79
|
});
|
|
84
80
|
this.scoreParams = scoreParams;
|
|
85
81
|
this.config = config;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gossipsub.js","sourceRoot":"","sources":["../../../src/network/gossip/gossipsub.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gossipsub.js","sourceRoot":"","sources":["../../../src/network/gossip/gossipsub.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { PeerIdStr } from "@chainsafe/libp2p-gossipsub/types";
|
|
|
2
2
|
import { Message, TopicValidatorResult } from "@libp2p/interface";
|
|
3
3
|
import { BeaconConfig } from "@lodestar/config";
|
|
4
4
|
import { ForkName } from "@lodestar/params";
|
|
5
|
-
import { AttesterSlashing, LightClientFinalityUpdate, LightClientOptimisticUpdate, SignedAggregateAndProof, SignedBeaconBlock, SingleAttestation, Slot, SubnetID, altair, capella, deneb, phase0 } from "@lodestar/types";
|
|
5
|
+
import { AttesterSlashing, LightClientFinalityUpdate, LightClientOptimisticUpdate, SignedAggregateAndProof, SignedBeaconBlock, SingleAttestation, Slot, SubnetID, altair, capella, deneb, fulu, phase0 } from "@lodestar/types";
|
|
6
6
|
import { Logger } from "@lodestar/utils";
|
|
7
7
|
import { Libp2p } from "libp2p";
|
|
8
8
|
import { AttestationError, AttestationErrorType } from "../../chain/errors/attestationError.js";
|
|
@@ -12,6 +12,7 @@ import { JobItemQueue } from "../../util/queue/index.js";
|
|
|
12
12
|
export declare enum GossipType {
|
|
13
13
|
beacon_block = "beacon_block",
|
|
14
14
|
blob_sidecar = "blob_sidecar",
|
|
15
|
+
data_column_sidecar = "data_column_sidecar",
|
|
15
16
|
beacon_aggregate_and_proof = "beacon_aggregate_and_proof",
|
|
16
17
|
beacon_attestation = "beacon_attestation",
|
|
17
18
|
voluntary_exit = "voluntary_exit",
|
|
@@ -44,6 +45,10 @@ export type GossipTopicTypeMap = {
|
|
|
44
45
|
type: GossipType.blob_sidecar;
|
|
45
46
|
subnet: SubnetID;
|
|
46
47
|
};
|
|
48
|
+
[GossipType.data_column_sidecar]: {
|
|
49
|
+
type: GossipType.data_column_sidecar;
|
|
50
|
+
index: number;
|
|
51
|
+
};
|
|
47
52
|
[GossipType.beacon_aggregate_and_proof]: {
|
|
48
53
|
type: GossipType.beacon_aggregate_and_proof;
|
|
49
54
|
};
|
|
@@ -92,6 +97,7 @@ export type GossipTypeMap = {
|
|
|
92
97
|
[GossipType.blob_sidecar]: deneb.BlobSidecar;
|
|
93
98
|
[GossipType.beacon_aggregate_and_proof]: SignedAggregateAndProof;
|
|
94
99
|
[GossipType.beacon_attestation]: SingleAttestation;
|
|
100
|
+
[GossipType.data_column_sidecar]: fulu.DataColumnSidecar;
|
|
95
101
|
[GossipType.voluntary_exit]: phase0.SignedVoluntaryExit;
|
|
96
102
|
[GossipType.proposer_slashing]: phase0.ProposerSlashing;
|
|
97
103
|
[GossipType.attester_slashing]: AttesterSlashing;
|
|
@@ -106,6 +112,7 @@ export type GossipFnByType = {
|
|
|
106
112
|
[GossipType.blob_sidecar]: (blobSidecar: deneb.BlobSidecar) => Promise<void> | void;
|
|
107
113
|
[GossipType.beacon_aggregate_and_proof]: (aggregateAndProof: SignedAggregateAndProof) => Promise<void> | void;
|
|
108
114
|
[GossipType.beacon_attestation]: (attestation: SingleAttestation) => Promise<void> | void;
|
|
115
|
+
[GossipType.data_column_sidecar]: (blobSidecar: fulu.DataColumnSidecar) => Promise<void> | void;
|
|
109
116
|
[GossipType.voluntary_exit]: (voluntaryExit: phase0.SignedVoluntaryExit) => Promise<void> | void;
|
|
110
117
|
[GossipType.proposer_slashing]: (proposerSlashing: phase0.ProposerSlashing) => Promise<void> | void;
|
|
111
118
|
[GossipType.attester_slashing]: (attesterSlashing: AttesterSlashing) => Promise<void> | void;
|
|
@@ -2,6 +2,7 @@ export var GossipType;
|
|
|
2
2
|
(function (GossipType) {
|
|
3
3
|
GossipType["beacon_block"] = "beacon_block";
|
|
4
4
|
GossipType["blob_sidecar"] = "blob_sidecar";
|
|
5
|
+
GossipType["data_column_sidecar"] = "data_column_sidecar";
|
|
5
6
|
GossipType["beacon_aggregate_and_proof"] = "beacon_aggregate_and_proof";
|
|
6
7
|
GossipType["beacon_attestation"] = "beacon_attestation";
|
|
7
8
|
GossipType["voluntary_exit"] = "voluntary_exit";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/network/gossip/interface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/network/gossip/interface.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAN,IAAY,UAcX;AAdD,WAAY,UAAU;IACpB,2CAA6B,CAAA;IAC7B,2CAA6B,CAAA;IAC7B,yDAA2C,CAAA;IAC3C,uEAAyD,CAAA;IACzD,uDAAyC,CAAA;IACzC,+CAAiC,CAAA;IACjC,qDAAuC,CAAA;IACvC,qDAAuC,CAAA;IACvC,6FAA+E,CAAA;IAC/E,+CAAiC,CAAA;IACjC,2EAA6D,CAAA;IAC7D,+EAAiE,CAAA;IACjE,iEAAmD,CAAA;AACrD,CAAC,EAdW,UAAU,KAAV,UAAU,QAcrB;AAKD,MAAM,CAAN,IAAY,cAEX;AAFD,WAAY,cAAc;IACxB,2CAAyB,CAAA;AAC3B,CAAC,EAFW,cAAc,KAAd,cAAc,QAEzB"}
|