@lodestar/beacon-node 1.18.0-dev.c94ecd23e4 → 1.18.0-dev.d8f6199889
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/rewards/index.js +4 -0
- package/lib/api/impl/beacon/rewards/index.js.map +1 -1
- package/lib/api/impl/validator/index.d.ts +14 -0
- package/lib/api/impl/validator/index.js +7 -7
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/rest/activeSockets.js +1 -1
- package/lib/api/rest/activeSockets.js.map +1 -1
- package/lib/chain/blocks/types.d.ts +15 -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/chain.d.ts +5 -0
- package/lib/chain/chain.js +44 -4
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/forkChoice/index.d.ts +4 -2
- package/lib/chain/forkChoice/index.js +4 -1
- package/lib/chain/forkChoice/index.js.map +1 -1
- package/lib/chain/interface.d.ts +5 -0
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/opPools/attestationPool.js +1 -1
- package/lib/chain/opPools/attestationPool.js.map +1 -1
- package/lib/chain/options.d.ts +5 -1
- package/lib/chain/options.js +6 -0
- package/lib/chain/options.js.map +1 -1
- package/lib/chain/reprocess.js +1 -1
- package/lib/chain/reprocess.js.map +1 -1
- package/lib/chain/rewards/attestationsRewards.d.ts +7 -0
- package/lib/chain/rewards/attestationsRewards.js +109 -0
- package/lib/chain/rewards/attestationsRewards.js.map +1 -0
- package/lib/chain/seenCache/seenGossipBlockInput.d.ts +2 -2
- package/lib/chain/seenCache/seenGossipBlockInput.js +22 -7
- package/lib/chain/seenCache/seenGossipBlockInput.js.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +0 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.js +4 -6
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/chain/stateCache/stateContextCheckpointsCache.d.ts +2 -3
- package/lib/chain/stateCache/stateContextCheckpointsCache.js +1 -2
- package/lib/chain/stateCache/stateContextCheckpointsCache.js.map +1 -1
- package/lib/chain/validation/block.js +2 -2
- package/lib/chain/validation/block.js.map +1 -1
- package/lib/eth1/provider/eth1Provider.js +1 -1
- package/lib/eth1/provider/eth1Provider.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +1 -1
- package/lib/metrics/metrics/lodestar.js +5 -5
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/monitoring/options.js +3 -3
- package/lib/monitoring/options.js.map +1 -1
- package/lib/network/core/metrics.d.ts +2 -3
- package/lib/network/core/metrics.js.map +1 -1
- package/lib/network/core/networkCore.js +1 -4
- package/lib/network/core/networkCore.js.map +1 -1
- package/lib/network/events.d.ts +2 -2
- package/lib/network/gossip/gossipsub.js +2 -2
- package/lib/network/gossip/gossipsub.js.map +1 -1
- package/lib/network/libp2p/index.js +1 -1
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/options.js +0 -2
- package/lib/network/options.js.map +1 -1
- package/lib/network/peers/peerManager.js +1 -1
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/processor/gossipHandlers.js +41 -16
- package/lib/network/processor/gossipHandlers.js.map +1 -1
- package/lib/network/processor/index.js +1 -1
- package/lib/network/processor/index.js.map +1 -1
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.d.ts +2 -2
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js +15 -3
- package/lib/network/reqresp/beaconBlocksMaybeBlobsByRoot.js.map +1 -1
- package/lib/network/reqresp/rateLimit.js +12 -12
- package/lib/network/reqresp/rateLimit.js.map +1 -1
- package/lib/network/subnets/index.d.ts +0 -1
- package/lib/network/subnets/index.js +0 -1
- package/lib/network/subnets/index.js.map +1 -1
- package/lib/network/subnets/interface.d.ts +0 -1
- package/lib/sync/interface.d.ts +16 -12
- package/lib/sync/interface.js +1 -0
- package/lib/sync/interface.js.map +1 -1
- package/lib/sync/unknownBlock.js +63 -60
- package/lib/sync/unknownBlock.js.map +1 -1
- package/lib/sync/utils/pendingBlocksTree.js +1 -1
- package/lib/sync/utils/pendingBlocksTree.js.map +1 -1
- package/package.json +16 -17
- package/lib/network/subnets/attnetsService.d.ts +0 -118
- package/lib/network/subnets/attnetsService.js +0 -325
- package/lib/network/subnets/attnetsService.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknownBlock.js","sourceRoot":"","sources":["../../src/sync/unknownBlock.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unknownBlock.js","sourceRoot":"","sources":["../../src/sync/unknownBlock.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ export function getUnknownAndAncestorBlocks(blocks) {
|
|
|
45
45
|
for (const block of blocks.values()) {
|
|
46
46
|
const parentHex = block.parentBlockRootHex;
|
|
47
47
|
if (block.status === PendingBlockStatus.pending &&
|
|
48
|
-
(block.blockInput == null || block.blockInput
|
|
48
|
+
(block.blockInput?.block == null || block.blockInput?.type === BlockInputType.blobsPromise) &&
|
|
49
49
|
parentHex == null) {
|
|
50
50
|
unknowns.push(block);
|
|
51
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pendingBlocksTree.js","sourceRoot":"","sources":["../../../src/sync/utils/pendingBlocksTree.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAGL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"pendingBlocksTree.js","sourceRoot":"","sources":["../../../src/sync/utils/pendingBlocksTree.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAGL,kBAAkB,GAGnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAE3D,MAAM,UAAU,sBAAsB,CAAC,YAAqB,EAAE,MAAkC;IAC9F,iDAAiD;IACjD,MAAM,QAAQ,GAAG,IAAI,MAAM,CAA0B,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;YACrC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,OAAO,qBAAqB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;AACvD,CAAC;AAED,wDAAwD;AACxD,SAAS,qBAAqB,CAC5B,iBAAyB,EACzB,QAAsC,EACtC,mBAAmC,EAAE;IAErC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC9D,IAAI,qBAAqB,EAAE,CAAC;QAC1B,KAAK,MAAM,oBAAoB,IAAI,qBAAqB,EAAE,CAAC;YACzD,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC5C,qBAAqB,CAAC,oBAAoB,CAAC,YAAY,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAqB,EAAE,MAAkC;IAC3F,MAAM,gBAAgB,GAAmB,EAAE,CAAC;IAE5C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,kBAAkB,KAAK,YAAY,EAAE,CAAC;YAC9C,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAkC;IAC5E,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,MAAM,SAAS,GAAsB,EAAE,CAAC;IAExC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,KAAK,CAAC,kBAAkB,CAAC;QAC3C,IACE,KAAK,CAAC,MAAM,KAAK,kBAAkB,CAAC,OAAO;YAC3C,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,KAAK,cAAc,CAAC,YAAY,CAAC;YAC3F,SAAS,IAAI,IAAI,EACjB,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,kBAAkB,CAAC,UAAU,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1F,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,CAAC;AAC/B,CAAC"}
|
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.18.0-dev.
|
|
14
|
+
"version": "1.18.0-dev.d8f6199889",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
@@ -81,7 +81,6 @@
|
|
|
81
81
|
"test:e2e": "LODESTAR_PRESET=minimal vitest --run --segfaultRetry 3 --config vitest.e2e.config.ts --dir test/e2e",
|
|
82
82
|
"test:sim": "vitest --run test/sim/**/*.test.ts",
|
|
83
83
|
"test:sim:mergemock": "vitest --run test/sim/mergemock.test.ts",
|
|
84
|
-
"test:sim:withdrawals": "vitest --run test/sim/withdrawal-interop.test.ts",
|
|
85
84
|
"test:sim:blobs": "vitest --run test/sim/4844-interop.test.ts",
|
|
86
85
|
"download-spec-tests": "node --loader=ts-node/esm test/spec/downloadTests.ts",
|
|
87
86
|
"test:spec:bls": "vitest --run --config vitest.spec.config.ts --dir test/spec/bls/",
|
|
@@ -100,9 +99,9 @@
|
|
|
100
99
|
"@chainsafe/libp2p-gossipsub": "^11.2.1",
|
|
101
100
|
"@chainsafe/libp2p-identify": "^1.0.0",
|
|
102
101
|
"@chainsafe/libp2p-noise": "^14.1.0",
|
|
103
|
-
"@chainsafe/persistent-merkle-tree": "^0.
|
|
102
|
+
"@chainsafe/persistent-merkle-tree": "^0.7.1",
|
|
104
103
|
"@chainsafe/prometheus-gc-stats": "^1.0.0",
|
|
105
|
-
"@chainsafe/ssz": "^0.
|
|
104
|
+
"@chainsafe/ssz": "^0.15.1",
|
|
106
105
|
"@chainsafe/threads": "^1.11.1",
|
|
107
106
|
"@ethersproject/abi": "^5.7.0",
|
|
108
107
|
"@fastify/bearer-auth": "^9.0.0",
|
|
@@ -118,18 +117,18 @@
|
|
|
118
117
|
"@libp2p/peer-id-factory": "^4.0.3",
|
|
119
118
|
"@libp2p/prometheus-metrics": "^3.0.10",
|
|
120
119
|
"@libp2p/tcp": "9.0.10",
|
|
121
|
-
"@lodestar/api": "1.18.0-dev.
|
|
122
|
-
"@lodestar/config": "1.18.0-dev.
|
|
123
|
-
"@lodestar/db": "1.18.0-dev.
|
|
124
|
-
"@lodestar/fork-choice": "1.18.0-dev.
|
|
125
|
-
"@lodestar/light-client": "1.18.0-dev.
|
|
126
|
-
"@lodestar/logger": "1.18.0-dev.
|
|
127
|
-
"@lodestar/params": "1.18.0-dev.
|
|
128
|
-
"@lodestar/reqresp": "1.18.0-dev.
|
|
129
|
-
"@lodestar/state-transition": "1.18.0-dev.
|
|
130
|
-
"@lodestar/types": "1.18.0-dev.
|
|
131
|
-
"@lodestar/utils": "1.18.0-dev.
|
|
132
|
-
"@lodestar/validator": "1.18.0-dev.
|
|
120
|
+
"@lodestar/api": "1.18.0-dev.d8f6199889",
|
|
121
|
+
"@lodestar/config": "1.18.0-dev.d8f6199889",
|
|
122
|
+
"@lodestar/db": "1.18.0-dev.d8f6199889",
|
|
123
|
+
"@lodestar/fork-choice": "1.18.0-dev.d8f6199889",
|
|
124
|
+
"@lodestar/light-client": "1.18.0-dev.d8f6199889",
|
|
125
|
+
"@lodestar/logger": "1.18.0-dev.d8f6199889",
|
|
126
|
+
"@lodestar/params": "1.18.0-dev.d8f6199889",
|
|
127
|
+
"@lodestar/reqresp": "1.18.0-dev.d8f6199889",
|
|
128
|
+
"@lodestar/state-transition": "1.18.0-dev.d8f6199889",
|
|
129
|
+
"@lodestar/types": "1.18.0-dev.d8f6199889",
|
|
130
|
+
"@lodestar/utils": "1.18.0-dev.d8f6199889",
|
|
131
|
+
"@lodestar/validator": "1.18.0-dev.d8f6199889",
|
|
133
132
|
"@multiformats/multiaddr": "^12.1.3",
|
|
134
133
|
"c-kzg": "^2.1.2",
|
|
135
134
|
"datastore-core": "^9.1.1",
|
|
@@ -168,5 +167,5 @@
|
|
|
168
167
|
"beacon",
|
|
169
168
|
"blockchain"
|
|
170
169
|
],
|
|
171
|
-
"gitHead": "
|
|
170
|
+
"gitHead": "909e4dc78099bfb749c1739de88a27758d1805b7"
|
|
172
171
|
}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
-
import { ForkName } from "@lodestar/params";
|
|
3
|
-
import { Slot } from "@lodestar/types";
|
|
4
|
-
import { Logger } from "@lodestar/utils";
|
|
5
|
-
import { IClock } from "../../util/clock.js";
|
|
6
|
-
import { MetadataController } from "../metadata.js";
|
|
7
|
-
import { RequestedSubnet } from "../peers/utils/index.js";
|
|
8
|
-
import { NetworkCoreMetrics } from "../core/metrics.js";
|
|
9
|
-
import { IAttnetsService, CommitteeSubscription, SubnetsServiceOpts, GossipSubscriber, SubnetsServiceTestOpts } from "./interface.js";
|
|
10
|
-
export declare enum SubnetSource {
|
|
11
|
-
committee = "committee",
|
|
12
|
-
random = "random"
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Manage random (long lived) subnets and committee (short lived) subnets.
|
|
16
|
-
* - PeerManager uses attnetsService to know which peers are required for duties
|
|
17
|
-
* - Network call addCommitteeSubscriptions() from API calls
|
|
18
|
-
* - Gossip handler checks shouldProcess to know if validator is aggregator
|
|
19
|
-
*/
|
|
20
|
-
export declare class AttnetsService implements IAttnetsService {
|
|
21
|
-
private readonly config;
|
|
22
|
-
private readonly clock;
|
|
23
|
-
private readonly gossip;
|
|
24
|
-
private readonly metadata;
|
|
25
|
-
private readonly logger;
|
|
26
|
-
private readonly metrics;
|
|
27
|
-
private readonly opts;
|
|
28
|
-
/** Committee subnets - PeerManager must find peers for those */
|
|
29
|
-
private committeeSubnets;
|
|
30
|
-
/**
|
|
31
|
-
* All currently subscribed short-lived subnets, for attestation aggregation
|
|
32
|
-
* This class will tell gossip to subscribe and un-subscribe
|
|
33
|
-
* If a value exists for `SubscriptionId` it means that gossip subscription is active in network.gossip
|
|
34
|
-
*/
|
|
35
|
-
private subscriptionsCommittee;
|
|
36
|
-
/** Same as `subscriptionsCommittee` but for long-lived subnets. May overlap with `subscriptionsCommittee` */
|
|
37
|
-
private subscriptionsRandom;
|
|
38
|
-
/**
|
|
39
|
-
* Map of an aggregator at a slot and subnet
|
|
40
|
-
* Used to determine if we should process an attestation.
|
|
41
|
-
*/
|
|
42
|
-
private aggregatorSlotSubnet;
|
|
43
|
-
/**
|
|
44
|
-
* A collection of seen validators. These dictate how many random subnets we should be
|
|
45
|
-
* subscribed to. As these time out, we unsubscribe from the required random subnets and update our ENR.
|
|
46
|
-
* This is a map of validator index and its last active slot.
|
|
47
|
-
*/
|
|
48
|
-
private knownValidators;
|
|
49
|
-
private randBetweenFn;
|
|
50
|
-
private shuffleFn;
|
|
51
|
-
constructor(config: ChainForkConfig, clock: IClock, gossip: GossipSubscriber, metadata: MetadataController, logger: Logger, metrics: NetworkCoreMetrics | null, opts: SubnetsServiceOpts & SubnetsServiceTestOpts);
|
|
52
|
-
close(): void;
|
|
53
|
-
/**
|
|
54
|
-
* Get all active subnets for the hearbeat.
|
|
55
|
-
*/
|
|
56
|
-
getActiveSubnets(): RequestedSubnet[];
|
|
57
|
-
/**
|
|
58
|
-
* Called from the API when validator is a part of a committee.
|
|
59
|
-
*/
|
|
60
|
-
addCommitteeSubscriptions(subscriptions: CommitteeSubscription[]): void;
|
|
61
|
-
/**
|
|
62
|
-
* Check if a subscription is still active before handling a gossip object
|
|
63
|
-
*/
|
|
64
|
-
shouldProcess(subnet: number, slot: Slot): boolean;
|
|
65
|
-
/** Call ONLY ONCE: Two epoch before the fork, re-subscribe all existing random subscriptions to the new fork */
|
|
66
|
-
subscribeSubnetsToNextFork(nextFork: ForkName): void;
|
|
67
|
-
/** Call ONLY ONCE: Two epochs after the fork, un-subscribe all subnets from the old fork */
|
|
68
|
-
unsubscribeSubnetsFromPrevFork(prevFork: ForkName): void;
|
|
69
|
-
/**
|
|
70
|
-
* Run per slot.
|
|
71
|
-
* - Subscribe to gossip subnets 2 slots in advance
|
|
72
|
-
* - Unsubscribe from expired subnets
|
|
73
|
-
*/
|
|
74
|
-
private onSlot;
|
|
75
|
-
/**
|
|
76
|
-
* Run per epoch, clean-up operations that are not urgent
|
|
77
|
-
*/
|
|
78
|
-
private onEpoch;
|
|
79
|
-
/**
|
|
80
|
-
* Unsubscribe to a committee subnet from subscribedCommitteeSubnets.
|
|
81
|
-
* If a random subnet is present, we do not unsubscribe from it.
|
|
82
|
-
*/
|
|
83
|
-
private unsubscribeExpiredCommitteeSubnets;
|
|
84
|
-
/**
|
|
85
|
-
* A random subnet has expired.
|
|
86
|
-
* This function selects a new subnet to join, or extends the expiry if there are no more
|
|
87
|
-
* available subnets to choose from.
|
|
88
|
-
*/
|
|
89
|
-
private unsubscribeExpiredRandomSubnets;
|
|
90
|
-
/**
|
|
91
|
-
* A known validator has not sent a subscription in a while. They are considered offline and the
|
|
92
|
-
* beacon node no longer needs to be subscribed to the allocated random subnets.
|
|
93
|
-
*
|
|
94
|
-
* We don't keep track of a specific validator to random subnet, rather the ratio of active
|
|
95
|
-
* validators to random subnets. So when a validator goes offline, we can simply remove the
|
|
96
|
-
* allocated amount of random subnets.
|
|
97
|
-
*/
|
|
98
|
-
private pruneExpiredKnownValidators;
|
|
99
|
-
/**
|
|
100
|
-
* No need to track aggregator for past slots.
|
|
101
|
-
* @param currentSlot
|
|
102
|
-
*/
|
|
103
|
-
private pruneExpiredAggregator;
|
|
104
|
-
/**
|
|
105
|
-
* Called when we have new validators or expired validators.
|
|
106
|
-
* knownValidators should be updated before this function.
|
|
107
|
-
*/
|
|
108
|
-
private rebalanceRandomSubnets;
|
|
109
|
-
/** Update ENR */
|
|
110
|
-
private updateMetadata;
|
|
111
|
-
/** Tigger a gossip subcription only if not already subscribed */
|
|
112
|
-
private subscribeToSubnets;
|
|
113
|
-
/** Trigger a gossip un-subscrition only if no-one is still subscribed */
|
|
114
|
-
private unsubscribeSubnets;
|
|
115
|
-
private randomSubscriptionSlotLen;
|
|
116
|
-
private onScrapeLodestarMetrics;
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=attnetsService.d.ts.map
|
|
@@ -1,325 +0,0 @@
|
|
|
1
|
-
import { computeStartSlotAtEpoch } from "@lodestar/state-transition";
|
|
2
|
-
import { ATTESTATION_SUBNET_COUNT, EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION, RANDOM_SUBNETS_PER_VALIDATOR, SLOTS_PER_EPOCH, } from "@lodestar/params";
|
|
3
|
-
import { ssz } from "@lodestar/types";
|
|
4
|
-
import { MapDef, randBetween } from "@lodestar/utils";
|
|
5
|
-
import { shuffle } from "../../util/shuffle.js";
|
|
6
|
-
import { ClockEvent } from "../../util/clock.js";
|
|
7
|
-
import { GossipType } from "../gossip/index.js";
|
|
8
|
-
import { SubnetMap } from "../peers/utils/index.js";
|
|
9
|
-
import { getActiveForks } from "../forks.js";
|
|
10
|
-
/**
|
|
11
|
-
* The time (in slots) before a last seen validator is considered absent and we unsubscribe from the random
|
|
12
|
-
* gossip topics that we subscribed to due to the validator connection.
|
|
13
|
-
*/
|
|
14
|
-
const LAST_SEEN_VALIDATOR_TIMEOUT = 150;
|
|
15
|
-
const gossipType = GossipType.beacon_attestation;
|
|
16
|
-
export var SubnetSource;
|
|
17
|
-
(function (SubnetSource) {
|
|
18
|
-
SubnetSource["committee"] = "committee";
|
|
19
|
-
SubnetSource["random"] = "random";
|
|
20
|
-
})(SubnetSource || (SubnetSource = {}));
|
|
21
|
-
/**
|
|
22
|
-
* Manage random (long lived) subnets and committee (short lived) subnets.
|
|
23
|
-
* - PeerManager uses attnetsService to know which peers are required for duties
|
|
24
|
-
* - Network call addCommitteeSubscriptions() from API calls
|
|
25
|
-
* - Gossip handler checks shouldProcess to know if validator is aggregator
|
|
26
|
-
*/
|
|
27
|
-
export class AttnetsService {
|
|
28
|
-
constructor(config, clock, gossip, metadata, logger, metrics, opts) {
|
|
29
|
-
this.config = config;
|
|
30
|
-
this.clock = clock;
|
|
31
|
-
this.gossip = gossip;
|
|
32
|
-
this.metadata = metadata;
|
|
33
|
-
this.logger = logger;
|
|
34
|
-
this.metrics = metrics;
|
|
35
|
-
this.opts = opts;
|
|
36
|
-
/** Committee subnets - PeerManager must find peers for those */
|
|
37
|
-
this.committeeSubnets = new SubnetMap();
|
|
38
|
-
/**
|
|
39
|
-
* All currently subscribed short-lived subnets, for attestation aggregation
|
|
40
|
-
* This class will tell gossip to subscribe and un-subscribe
|
|
41
|
-
* If a value exists for `SubscriptionId` it means that gossip subscription is active in network.gossip
|
|
42
|
-
*/
|
|
43
|
-
this.subscriptionsCommittee = new SubnetMap();
|
|
44
|
-
/** Same as `subscriptionsCommittee` but for long-lived subnets. May overlap with `subscriptionsCommittee` */
|
|
45
|
-
this.subscriptionsRandom = new SubnetMap();
|
|
46
|
-
/**
|
|
47
|
-
* Map of an aggregator at a slot and subnet
|
|
48
|
-
* Used to determine if we should process an attestation.
|
|
49
|
-
*/
|
|
50
|
-
this.aggregatorSlotSubnet = new MapDef(() => new Set());
|
|
51
|
-
/**
|
|
52
|
-
* A collection of seen validators. These dictate how many random subnets we should be
|
|
53
|
-
* subscribed to. As these time out, we unsubscribe from the required random subnets and update our ENR.
|
|
54
|
-
* This is a map of validator index and its last active slot.
|
|
55
|
-
*/
|
|
56
|
-
this.knownValidators = new Map();
|
|
57
|
-
/**
|
|
58
|
-
* Run per slot.
|
|
59
|
-
* - Subscribe to gossip subnets 2 slots in advance
|
|
60
|
-
* - Unsubscribe from expired subnets
|
|
61
|
-
*/
|
|
62
|
-
this.onSlot = (clockSlot) => {
|
|
63
|
-
try {
|
|
64
|
-
for (const [dutiedSlot, subnets] of this.aggregatorSlotSubnet.entries()) {
|
|
65
|
-
if (dutiedSlot === clockSlot + this.opts.slotsToSubscribeBeforeAggregatorDuty) {
|
|
66
|
-
// Trigger gossip subscription first, in batch
|
|
67
|
-
if (subnets.size > 0) {
|
|
68
|
-
this.subscribeToSubnets(Array.from(subnets), SubnetSource.committee);
|
|
69
|
-
}
|
|
70
|
-
// Then, register the subscriptions
|
|
71
|
-
Array.from(subnets).map((subnet) => this.subscriptionsCommittee.request({ subnet, toSlot: dutiedSlot }));
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
// For node >= 64 validators, we should consistently subscribe to all subnets
|
|
75
|
-
// it's important to check random subnets first
|
|
76
|
-
// See https://github.com/ChainSafe/lodestar/issues/4929
|
|
77
|
-
this.unsubscribeExpiredRandomSubnets(clockSlot);
|
|
78
|
-
this.unsubscribeExpiredCommitteeSubnets(clockSlot);
|
|
79
|
-
}
|
|
80
|
-
catch (e) {
|
|
81
|
-
this.logger.error("Error on AttnetsService.onSlot", { slot: clockSlot }, e);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* Run per epoch, clean-up operations that are not urgent
|
|
86
|
-
*/
|
|
87
|
-
this.onEpoch = (epoch) => {
|
|
88
|
-
try {
|
|
89
|
-
const slot = computeStartSlotAtEpoch(epoch);
|
|
90
|
-
this.pruneExpiredKnownValidators(slot);
|
|
91
|
-
this.pruneExpiredAggregator(slot);
|
|
92
|
-
}
|
|
93
|
-
catch (e) {
|
|
94
|
-
this.logger.error("Error on AttnetsService.onEpoch", { epoch }, e);
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
// if subscribeAllSubnets, we act like we have >= ATTESTATION_SUBNET_COUNT validators connecting to this node
|
|
98
|
-
// so that we have enough subnet topic peers, see https://github.com/ChainSafe/lodestar/issues/4921
|
|
99
|
-
if (this.opts.subscribeAllSubnets) {
|
|
100
|
-
for (let subnet = 0; subnet < ATTESTATION_SUBNET_COUNT; subnet++) {
|
|
101
|
-
this.committeeSubnets.request({ subnet, toSlot: Infinity });
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
this.randBetweenFn = this.opts.randBetweenFn ?? randBetween;
|
|
105
|
-
this.shuffleFn = this.opts.shuffleFn ?? shuffle;
|
|
106
|
-
if (metrics) {
|
|
107
|
-
metrics.attnetsService.subscriptionsRandom.addCollect(() => this.onScrapeLodestarMetrics(metrics));
|
|
108
|
-
}
|
|
109
|
-
this.clock.on(ClockEvent.slot, this.onSlot);
|
|
110
|
-
this.clock.on(ClockEvent.epoch, this.onEpoch);
|
|
111
|
-
}
|
|
112
|
-
close() {
|
|
113
|
-
this.clock.off(ClockEvent.slot, this.onSlot);
|
|
114
|
-
this.clock.off(ClockEvent.epoch, this.onEpoch);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Get all active subnets for the hearbeat.
|
|
118
|
-
*/
|
|
119
|
-
getActiveSubnets() {
|
|
120
|
-
// Omit subscriptionsRandom, not necessary to force the network component to keep peers on that subnets
|
|
121
|
-
return this.committeeSubnets.getActiveTtl(this.clock.currentSlot);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Called from the API when validator is a part of a committee.
|
|
125
|
-
*/
|
|
126
|
-
addCommitteeSubscriptions(subscriptions) {
|
|
127
|
-
const currentSlot = this.clock.currentSlot;
|
|
128
|
-
let addedknownValidators = false;
|
|
129
|
-
for (const { validatorIndex, subnet, slot, isAggregator } of subscriptions) {
|
|
130
|
-
// Add known validator
|
|
131
|
-
if (!this.knownValidators.has(validatorIndex))
|
|
132
|
-
addedknownValidators = true;
|
|
133
|
-
this.knownValidators.set(validatorIndex, currentSlot);
|
|
134
|
-
// the peer-manager heartbeat will help find the subnet
|
|
135
|
-
this.committeeSubnets.request({ subnet, toSlot: slot + 1 });
|
|
136
|
-
if (isAggregator) {
|
|
137
|
-
// need exact slot here
|
|
138
|
-
this.aggregatorSlotSubnet.getOrDefault(slot).add(subnet);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
if (addedknownValidators)
|
|
142
|
-
this.rebalanceRandomSubnets();
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Check if a subscription is still active before handling a gossip object
|
|
146
|
-
*/
|
|
147
|
-
shouldProcess(subnet, slot) {
|
|
148
|
-
if (!this.aggregatorSlotSubnet.has(slot)) {
|
|
149
|
-
return false;
|
|
150
|
-
}
|
|
151
|
-
return this.aggregatorSlotSubnet.getOrDefault(slot).has(subnet);
|
|
152
|
-
}
|
|
153
|
-
/** Call ONLY ONCE: Two epoch before the fork, re-subscribe all existing random subscriptions to the new fork */
|
|
154
|
-
subscribeSubnetsToNextFork(nextFork) {
|
|
155
|
-
this.logger.info("Subscribing to random attnets to next fork", { nextFork });
|
|
156
|
-
for (const subnet of this.subscriptionsRandom.getAll()) {
|
|
157
|
-
this.gossip.subscribeTopic({ type: gossipType, fork: nextFork, subnet });
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
/** Call ONLY ONCE: Two epochs after the fork, un-subscribe all subnets from the old fork */
|
|
161
|
-
unsubscribeSubnetsFromPrevFork(prevFork) {
|
|
162
|
-
this.logger.info("Unsubscribing to random attnets from prev fork", { prevFork });
|
|
163
|
-
for (let subnet = 0; subnet < ATTESTATION_SUBNET_COUNT; subnet++) {
|
|
164
|
-
if (!this.opts.subscribeAllSubnets) {
|
|
165
|
-
this.gossip.unsubscribeTopic({ type: gossipType, fork: prevFork, subnet });
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Unsubscribe to a committee subnet from subscribedCommitteeSubnets.
|
|
171
|
-
* If a random subnet is present, we do not unsubscribe from it.
|
|
172
|
-
*/
|
|
173
|
-
unsubscribeExpiredCommitteeSubnets(slot) {
|
|
174
|
-
const expired = this.subscriptionsCommittee.getExpired(slot);
|
|
175
|
-
if (expired.length > 0) {
|
|
176
|
-
this.unsubscribeSubnets(expired, slot, SubnetSource.committee);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
/**
|
|
180
|
-
* A random subnet has expired.
|
|
181
|
-
* This function selects a new subnet to join, or extends the expiry if there are no more
|
|
182
|
-
* available subnets to choose from.
|
|
183
|
-
*/
|
|
184
|
-
unsubscribeExpiredRandomSubnets(slot) {
|
|
185
|
-
const expired = this.subscriptionsRandom.getExpired(slot);
|
|
186
|
-
const currentSlot = this.clock.currentSlot;
|
|
187
|
-
if (expired.length === 0) {
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
if (this.knownValidators.size * RANDOM_SUBNETS_PER_VALIDATOR >= ATTESTATION_SUBNET_COUNT) {
|
|
191
|
-
// Optimization: If we have to be subcribed to all subnets, no need to unsubscribe. Just extend the timeout
|
|
192
|
-
for (const subnet of expired) {
|
|
193
|
-
this.subscriptionsRandom.request({ subnet, toSlot: this.randomSubscriptionSlotLen() + currentSlot });
|
|
194
|
-
}
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
// Prune subnets and re-subcribe to new ones
|
|
198
|
-
this.unsubscribeSubnets(expired, slot, SubnetSource.random);
|
|
199
|
-
this.rebalanceRandomSubnets();
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* A known validator has not sent a subscription in a while. They are considered offline and the
|
|
203
|
-
* beacon node no longer needs to be subscribed to the allocated random subnets.
|
|
204
|
-
*
|
|
205
|
-
* We don't keep track of a specific validator to random subnet, rather the ratio of active
|
|
206
|
-
* validators to random subnets. So when a validator goes offline, we can simply remove the
|
|
207
|
-
* allocated amount of random subnets.
|
|
208
|
-
*/
|
|
209
|
-
pruneExpiredKnownValidators(currentSlot) {
|
|
210
|
-
let deletedKnownValidators = false;
|
|
211
|
-
for (const [index, slot] of this.knownValidators.entries()) {
|
|
212
|
-
if (currentSlot > slot + LAST_SEEN_VALIDATOR_TIMEOUT) {
|
|
213
|
-
const deleted = this.knownValidators.delete(index);
|
|
214
|
-
if (deleted)
|
|
215
|
-
deletedKnownValidators = true;
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
if (deletedKnownValidators)
|
|
219
|
-
this.rebalanceRandomSubnets();
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* No need to track aggregator for past slots.
|
|
223
|
-
* @param currentSlot
|
|
224
|
-
*/
|
|
225
|
-
pruneExpiredAggregator(currentSlot) {
|
|
226
|
-
for (const slot of this.aggregatorSlotSubnet.keys()) {
|
|
227
|
-
if (currentSlot > slot) {
|
|
228
|
-
this.aggregatorSlotSubnet.delete(slot);
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* Called when we have new validators or expired validators.
|
|
234
|
-
* knownValidators should be updated before this function.
|
|
235
|
-
*/
|
|
236
|
-
rebalanceRandomSubnets() {
|
|
237
|
-
const slot = this.clock.currentSlot;
|
|
238
|
-
// By limiting to ATTESTATION_SUBNET_COUNT, if target is still over subnetDiff equals 0
|
|
239
|
-
const targetRandomSubnetCount = Math.min(this.knownValidators.size * RANDOM_SUBNETS_PER_VALIDATOR, ATTESTATION_SUBNET_COUNT);
|
|
240
|
-
const subnetDiff = targetRandomSubnetCount - this.subscriptionsRandom.size;
|
|
241
|
-
// subscribe to more random subnets
|
|
242
|
-
if (subnetDiff > 0) {
|
|
243
|
-
const activeSubnets = new Set(this.subscriptionsRandom.getActive(slot));
|
|
244
|
-
const allSubnets = Array.from({ length: ATTESTATION_SUBNET_COUNT }, (_, i) => i);
|
|
245
|
-
const availableSubnets = allSubnets.filter((subnet) => !activeSubnets.has(subnet));
|
|
246
|
-
const subnetsToConnect = this.shuffleFn(availableSubnets).slice(0, subnetDiff);
|
|
247
|
-
// Tell gossip to connect to the subnets if not connected already
|
|
248
|
-
this.subscribeToSubnets(subnetsToConnect, SubnetSource.random);
|
|
249
|
-
// Register these new subnets until some future slot
|
|
250
|
-
for (const subnet of subnetsToConnect) {
|
|
251
|
-
// the heartbeat will help connect to respective peers
|
|
252
|
-
this.subscriptionsRandom.request({ subnet, toSlot: this.randomSubscriptionSlotLen() + slot });
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
// unsubscribe some random subnets
|
|
256
|
-
if (subnetDiff < 0) {
|
|
257
|
-
const activeRandomSubnets = this.subscriptionsRandom.getActive(slot);
|
|
258
|
-
// TODO: Do we want to remove the oldest subnets or the newest subnets?
|
|
259
|
-
// .slice(-2) will extract the last two items of the array
|
|
260
|
-
const toRemoveSubnets = activeRandomSubnets.slice(subnetDiff);
|
|
261
|
-
for (const subnet of toRemoveSubnets) {
|
|
262
|
-
this.subscriptionsRandom.delete(subnet);
|
|
263
|
-
}
|
|
264
|
-
this.unsubscribeSubnets(toRemoveSubnets, slot, SubnetSource.random);
|
|
265
|
-
}
|
|
266
|
-
// If there has been a change update the local ENR bitfield
|
|
267
|
-
if (subnetDiff !== 0) {
|
|
268
|
-
this.updateMetadata();
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
/** Update ENR */
|
|
272
|
-
updateMetadata() {
|
|
273
|
-
const subnets = ssz.phase0.AttestationSubnets.defaultValue();
|
|
274
|
-
for (const subnet of this.subscriptionsRandom.getAll()) {
|
|
275
|
-
subnets.set(subnet, true);
|
|
276
|
-
}
|
|
277
|
-
// Only update metadata if necessary, setting `metadata.[key]` triggers a write to disk
|
|
278
|
-
if (!ssz.phase0.AttestationSubnets.equals(subnets, this.metadata.attnets)) {
|
|
279
|
-
this.metadata.attnets = subnets;
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
/** Tigger a gossip subcription only if not already subscribed */
|
|
283
|
-
subscribeToSubnets(subnets, src) {
|
|
284
|
-
const forks = getActiveForks(this.config, this.clock.currentEpoch);
|
|
285
|
-
for (const subnet of subnets) {
|
|
286
|
-
if (!this.subscriptionsCommittee.has(subnet) && !this.subscriptionsRandom.has(subnet)) {
|
|
287
|
-
for (const fork of forks) {
|
|
288
|
-
this.gossip.subscribeTopic({ type: gossipType, fork, subnet });
|
|
289
|
-
}
|
|
290
|
-
this.metrics?.attnetsService.subscribeSubnets.inc({ subnet, src });
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
/** Trigger a gossip un-subscrition only if no-one is still subscribed */
|
|
295
|
-
unsubscribeSubnets(subnets, slot, src) {
|
|
296
|
-
// No need to unsubscribeTopic(). Return early to prevent repetitive extra work
|
|
297
|
-
if (this.opts.subscribeAllSubnets)
|
|
298
|
-
return;
|
|
299
|
-
const forks = getActiveForks(this.config, this.clock.currentEpoch);
|
|
300
|
-
for (const subnet of subnets) {
|
|
301
|
-
if (!this.subscriptionsCommittee.isActiveAtSlot(subnet, slot) &&
|
|
302
|
-
!this.subscriptionsRandom.isActiveAtSlot(subnet, slot)) {
|
|
303
|
-
for (const fork of forks) {
|
|
304
|
-
this.gossip.unsubscribeTopic({ type: gossipType, fork, subnet });
|
|
305
|
-
}
|
|
306
|
-
this.metrics?.attnetsService.unsubscribeSubnets.inc({ subnet, src });
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
randomSubscriptionSlotLen() {
|
|
311
|
-
return (this.randBetweenFn(EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION, 2 * EPOCHS_PER_RANDOM_SUBNET_SUBSCRIPTION) *
|
|
312
|
-
SLOTS_PER_EPOCH);
|
|
313
|
-
}
|
|
314
|
-
onScrapeLodestarMetrics(metrics) {
|
|
315
|
-
metrics.attnetsService.committeeSubnets.set(this.committeeSubnets.size);
|
|
316
|
-
metrics.attnetsService.subscriptionsCommittee.set(this.subscriptionsCommittee.size);
|
|
317
|
-
metrics.attnetsService.subscriptionsRandom.set(this.subscriptionsRandom.size);
|
|
318
|
-
let aggregatorCount = 0;
|
|
319
|
-
for (const subnets of this.aggregatorSlotSubnet.values()) {
|
|
320
|
-
aggregatorCount += subnets.size;
|
|
321
|
-
}
|
|
322
|
-
metrics.attnetsService.aggregatorSlotSubnetCount.set(aggregatorCount);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
//# sourceMappingURL=attnetsService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attnetsService.js","sourceRoot":"","sources":["../../../src/network/subnets/attnetsService.ts"],"names":[],"mappings":"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"}
|