@lodestar/beacon-node 1.30.0-dev.0463a14aa4 → 1.30.0-dev.0eb947d0d0
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/utils.js +1 -1
- package/lib/api/impl/beacon/blocks/utils.js.map +1 -1
- package/lib/api/impl/beacon/state/utils.js +2 -2
- package/lib/api/impl/beacon/state/utils.js.map +1 -1
- package/lib/api/impl/validator/index.js +1 -21
- package/lib/api/impl/validator/index.js.map +1 -1
- package/lib/api/rest/base.js +0 -10
- package/lib/api/rest/base.js.map +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.js +1 -1
- package/lib/chain/archiveStore/utils/archiveBlocks.js.map +1 -1
- package/lib/chain/chain.d.ts +23 -0
- package/lib/chain/chain.js +4 -4
- package/lib/chain/chain.js.map +1 -1
- package/lib/network/core/metrics.d.ts +1 -0
- package/lib/network/core/metrics.js +4 -0
- package/lib/network/core/metrics.js.map +1 -1
- package/lib/network/core/networkCore.d.ts +1 -0
- package/lib/network/core/networkCore.js +18 -12
- package/lib/network/core/networkCore.js.map +1 -1
- package/lib/network/gossip/topic.d.ts +181 -152
- package/lib/network/libp2p/index.js +1 -1
- package/lib/network/libp2p/index.js.map +1 -1
- package/lib/network/network.js +2 -2
- package/lib/network/network.js.map +1 -1
- package/lib/network/options.d.ts +18 -0
- package/lib/network/options.js.map +1 -1
- package/lib/network/peers/peerManager.d.ts +1 -0
- package/lib/network/peers/peerManager.js +26 -3
- package/lib/network/peers/peerManager.js.map +1 -1
- package/lib/network/peers/peersData.d.ts +2 -1
- package/lib/network/peers/peersData.js.map +1 -1
- package/lib/network/peers/utils/prioritizePeers.d.ts +21 -1
- package/lib/network/peers/utils/prioritizePeers.js +49 -2
- package/lib/network/peers/utils/prioritizePeers.js.map +1 -1
- package/lib/network/reqresp/ReqRespBeaconNode.js +2 -2
- package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
- package/package.json +15 -15
|
@@ -127,118 +127,6 @@ export declare function getGossipSSZType(topic: GossipTopic): import("@chainsafe
|
|
|
127
127
|
}>;
|
|
128
128
|
}>;
|
|
129
129
|
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
130
|
-
}> | import("@chainsafe/ssz").ContainerType<{
|
|
131
|
-
message: import("@chainsafe/ssz").ContainerType<{
|
|
132
|
-
slot: import("@chainsafe/ssz").UintNumberType;
|
|
133
|
-
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
134
|
-
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
135
|
-
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
136
|
-
body: import("@chainsafe/ssz").ContainerType<{
|
|
137
|
-
syncAggregate: import("@chainsafe/ssz").ContainerType<{
|
|
138
|
-
syncCommitteeBits: import("@chainsafe/ssz").BitVectorType;
|
|
139
|
-
syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType;
|
|
140
|
-
}>;
|
|
141
|
-
randaoReveal: import("@chainsafe/ssz").ByteVectorType;
|
|
142
|
-
eth1Data: import("@chainsafe/ssz").ContainerType<{
|
|
143
|
-
depositRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
144
|
-
depositCount: import("@chainsafe/ssz").UintNumberType;
|
|
145
|
-
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
146
|
-
}>;
|
|
147
|
-
graffiti: import("@chainsafe/ssz").ByteVectorType;
|
|
148
|
-
proposerSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
149
|
-
signedHeader1: import("@chainsafe/ssz").ContainerType<{
|
|
150
|
-
message: import("@chainsafe/ssz").ContainerType<{
|
|
151
|
-
slot: import("@chainsafe/ssz").UintBigintType;
|
|
152
|
-
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
153
|
-
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
154
|
-
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
155
|
-
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
156
|
-
}>;
|
|
157
|
-
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
158
|
-
}>;
|
|
159
|
-
signedHeader2: import("@chainsafe/ssz").ContainerType<{
|
|
160
|
-
message: import("@chainsafe/ssz").ContainerType<{
|
|
161
|
-
slot: import("@chainsafe/ssz").UintBigintType;
|
|
162
|
-
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
163
|
-
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
164
|
-
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
165
|
-
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
166
|
-
}>;
|
|
167
|
-
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
168
|
-
}>;
|
|
169
|
-
}>>;
|
|
170
|
-
attesterSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
171
|
-
attestation1: import("@chainsafe/ssz").ContainerType<{
|
|
172
|
-
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
173
|
-
data: import("@chainsafe/ssz").ContainerType<{
|
|
174
|
-
slot: import("@chainsafe/ssz").UintBigintType;
|
|
175
|
-
index: import("@chainsafe/ssz").UintBigintType;
|
|
176
|
-
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
177
|
-
source: import("@chainsafe/ssz").ContainerType<{
|
|
178
|
-
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
179
|
-
root: import("@chainsafe/ssz").ByteVectorType;
|
|
180
|
-
}>;
|
|
181
|
-
target: import("@chainsafe/ssz").ContainerType<{
|
|
182
|
-
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
183
|
-
root: import("@chainsafe/ssz").ByteVectorType;
|
|
184
|
-
}>;
|
|
185
|
-
}>;
|
|
186
|
-
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
187
|
-
}>;
|
|
188
|
-
attestation2: import("@chainsafe/ssz").ContainerType<{
|
|
189
|
-
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
190
|
-
data: import("@chainsafe/ssz").ContainerType<{
|
|
191
|
-
slot: import("@chainsafe/ssz").UintBigintType;
|
|
192
|
-
index: import("@chainsafe/ssz").UintBigintType;
|
|
193
|
-
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
194
|
-
source: import("@chainsafe/ssz").ContainerType<{
|
|
195
|
-
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
196
|
-
root: import("@chainsafe/ssz").ByteVectorType;
|
|
197
|
-
}>;
|
|
198
|
-
target: import("@chainsafe/ssz").ContainerType<{
|
|
199
|
-
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
200
|
-
root: import("@chainsafe/ssz").ByteVectorType;
|
|
201
|
-
}>;
|
|
202
|
-
}>;
|
|
203
|
-
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
204
|
-
}>;
|
|
205
|
-
}>>;
|
|
206
|
-
attestations: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
207
|
-
aggregationBits: import("@chainsafe/ssz").BitListType;
|
|
208
|
-
data: import("@chainsafe/ssz").ContainerType<{
|
|
209
|
-
slot: import("@chainsafe/ssz").UintNumberType;
|
|
210
|
-
index: import("@chainsafe/ssz").UintNumberType;
|
|
211
|
-
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
212
|
-
source: import("@chainsafe/ssz").ContainerType<{
|
|
213
|
-
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
214
|
-
root: import("@chainsafe/ssz").ByteVectorType;
|
|
215
|
-
}>;
|
|
216
|
-
target: import("@chainsafe/ssz").ContainerType<{
|
|
217
|
-
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
218
|
-
root: import("@chainsafe/ssz").ByteVectorType;
|
|
219
|
-
}>;
|
|
220
|
-
}>;
|
|
221
|
-
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
222
|
-
}>>;
|
|
223
|
-
deposits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
224
|
-
proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
225
|
-
data: import("@chainsafe/ssz").ContainerType<{
|
|
226
|
-
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
227
|
-
withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
|
|
228
|
-
amount: import("@chainsafe/ssz").UintNumberType;
|
|
229
|
-
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
230
|
-
}>;
|
|
231
|
-
}>>;
|
|
232
|
-
voluntaryExits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
233
|
-
message: import("@chainsafe/ssz").ContainerType<{
|
|
234
|
-
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
235
|
-
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
236
|
-
}>;
|
|
237
|
-
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
238
|
-
}>>;
|
|
239
|
-
}>;
|
|
240
|
-
}>;
|
|
241
|
-
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
242
130
|
}> | import("@chainsafe/ssz").ContainerType<{
|
|
243
131
|
signedHeader1: import("@chainsafe/ssz").ContainerType<{
|
|
244
132
|
message: import("@chainsafe/ssz").ContainerType<{
|
|
@@ -273,44 +161,6 @@ export declare function getGossipSSZType(topic: GossipTopic): import("@chainsafe
|
|
|
273
161
|
toExecutionAddress: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
|
|
274
162
|
}>;
|
|
275
163
|
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
276
|
-
}> | import("@chainsafe/ssz").ContainerType<{
|
|
277
|
-
message: import("@chainsafe/ssz").ContainerType<{
|
|
278
|
-
aggregatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
279
|
-
contribution: import("@chainsafe/ssz").ContainerType<{
|
|
280
|
-
slot: import("@chainsafe/ssz").UintNumberType;
|
|
281
|
-
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
282
|
-
subcommitteeIndex: import("@chainsafe/ssz").UintNumberType;
|
|
283
|
-
aggregationBits: import("@chainsafe/ssz").BitVectorType;
|
|
284
|
-
signature: import(
|
|
285
|
-
/**
|
|
286
|
-
* Stringify a GossipTopic into a spec-ed formated partial topic string
|
|
287
|
-
*/
|
|
288
|
-
"@chainsafe/ssz").ByteVectorType;
|
|
289
|
-
}>;
|
|
290
|
-
selectionProof: import("@chainsafe/ssz").ByteVectorType;
|
|
291
|
-
}>;
|
|
292
|
-
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
293
|
-
}> | import("@chainsafe/ssz").ContainerType<{
|
|
294
|
-
index: import("@chainsafe/ssz").UintNumberType;
|
|
295
|
-
blob: import("@chainsafe/ssz").ByteVectorType;
|
|
296
|
-
kzgCommitment: import("@chainsafe/ssz").ByteVectorType;
|
|
297
|
-
kzgProof: import("@chainsafe/ssz").ByteVectorType;
|
|
298
|
-
signedBlockHeader: import("@chainsafe/ssz").ContainerType<{
|
|
299
|
-
message: import("@chainsafe/ssz").ContainerType<{
|
|
300
|
-
slot: import("@chainsafe/ssz").UintNumberType;
|
|
301
|
-
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
302
|
-
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
303
|
-
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
304
|
-
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
305
|
-
}>;
|
|
306
|
-
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
307
|
-
}>;
|
|
308
|
-
kzgCommitmentInclusionProof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
309
|
-
}> | import("@chainsafe/ssz").ContainerType<{
|
|
310
|
-
slot: import("@chainsafe/ssz").UintNumberType;
|
|
311
|
-
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
312
|
-
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
313
|
-
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
314
164
|
}> | import("@chainsafe/ssz").CompositeType<import("@chainsafe/ssz").ValueOfFields<{
|
|
315
165
|
attestation1: import("@chainsafe/ssz").ContainerType<{
|
|
316
166
|
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
@@ -1046,7 +896,168 @@ export declare function getGossipSSZType(topic: GossipTopic): import("@chainsafe
|
|
|
1046
896
|
}>;
|
|
1047
897
|
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1048
898
|
}>;
|
|
1049
|
-
}>> | import("@chainsafe/ssz").
|
|
899
|
+
}>> | import("@chainsafe/ssz").ContainerType<{
|
|
900
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
901
|
+
body: import("@chainsafe/ssz").ContainerType<{
|
|
902
|
+
executionPayload: import("@chainsafe/ssz").ContainerType<{
|
|
903
|
+
blobGasUsed: import("@chainsafe/ssz").UintBigintType;
|
|
904
|
+
excessBlobGas: import("@chainsafe/ssz").UintBigintType;
|
|
905
|
+
withdrawals: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
906
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
907
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
908
|
+
address: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
|
|
909
|
+
amount: import("@chainsafe/ssz").UintBigintType;
|
|
910
|
+
}>>;
|
|
911
|
+
transactions: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteListType>;
|
|
912
|
+
parentHash: import("@chainsafe/ssz").ByteVectorType;
|
|
913
|
+
feeRecipient: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
|
|
914
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
915
|
+
receiptsRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
916
|
+
logsBloom: import("@chainsafe/ssz").ByteVectorType;
|
|
917
|
+
prevRandao: import("@chainsafe/ssz").ByteVectorType;
|
|
918
|
+
blockNumber: import("@chainsafe/ssz").UintNumberType;
|
|
919
|
+
gasLimit: import("@chainsafe/ssz").UintNumberType;
|
|
920
|
+
gasUsed: import("@chainsafe/ssz").UintNumberType;
|
|
921
|
+
timestamp: import("@chainsafe/ssz").UintNumberType;
|
|
922
|
+
extraData: import("@chainsafe/ssz").ByteListType;
|
|
923
|
+
baseFeePerGas: import("@chainsafe/ssz").UintBigintType;
|
|
924
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
925
|
+
}>;
|
|
926
|
+
blsToExecutionChanges: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
927
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
928
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
929
|
+
fromBlsPubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
930
|
+
toExecutionAddress: import("@lodestar/types/lib/utils/executionAddress.js").ExecutionAddressType;
|
|
931
|
+
}>;
|
|
932
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
933
|
+
}>>;
|
|
934
|
+
blobKzgCommitments: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
935
|
+
syncAggregate: import("@chainsafe/ssz").ContainerType<{
|
|
936
|
+
syncCommitteeBits: import("@chainsafe/ssz").BitVectorType;
|
|
937
|
+
syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType;
|
|
938
|
+
}>;
|
|
939
|
+
randaoReveal: import("@chainsafe/ssz").ByteVectorType;
|
|
940
|
+
eth1Data: import("@chainsafe/ssz").ContainerType<{
|
|
941
|
+
depositRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
942
|
+
depositCount: import("@chainsafe/ssz").UintNumberType;
|
|
943
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
944
|
+
}>;
|
|
945
|
+
graffiti: import("@chainsafe/ssz").ByteVectorType;
|
|
946
|
+
proposerSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
947
|
+
signedHeader1: import("@chainsafe/ssz").ContainerType<{
|
|
948
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
949
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
950
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
951
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
952
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
953
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
954
|
+
}>;
|
|
955
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
956
|
+
}>;
|
|
957
|
+
signedHeader2: import("@chainsafe/ssz").ContainerType<{
|
|
958
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
959
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
960
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
961
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
962
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
963
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
964
|
+
}>;
|
|
965
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
966
|
+
}>;
|
|
967
|
+
}>>;
|
|
968
|
+
attesterSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
969
|
+
attestation1: import("@chainsafe/ssz").ContainerType<{
|
|
970
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
971
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
972
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
973
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
974
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
975
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
976
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
977
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
978
|
+
}>;
|
|
979
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
980
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
981
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
982
|
+
}>;
|
|
983
|
+
}>;
|
|
984
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
985
|
+
}>;
|
|
986
|
+
attestation2: import("@chainsafe/ssz").ContainerType<{
|
|
987
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
988
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
989
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
990
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
991
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
992
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
993
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
994
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
995
|
+
}>;
|
|
996
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
997
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
998
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
999
|
+
}>;
|
|
1000
|
+
}>;
|
|
1001
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1002
|
+
}>;
|
|
1003
|
+
}>>;
|
|
1004
|
+
attestations: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
1005
|
+
aggregationBits: import("@chainsafe/ssz").BitListType;
|
|
1006
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
1007
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
1008
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
1009
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
1010
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
1011
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
1012
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
1013
|
+
}>;
|
|
1014
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
1015
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
1016
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
1017
|
+
}>;
|
|
1018
|
+
}>;
|
|
1019
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1020
|
+
}>>;
|
|
1021
|
+
deposits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
1022
|
+
proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
1023
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
1024
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
1025
|
+
withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
|
|
1026
|
+
amount: import("@chainsafe/ssz").UintNumberType;
|
|
1027
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1028
|
+
}>;
|
|
1029
|
+
}>>;
|
|
1030
|
+
voluntaryExits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
1031
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
1032
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
1033
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
1034
|
+
}>;
|
|
1035
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1036
|
+
}>>;
|
|
1037
|
+
}>;
|
|
1038
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
1039
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
1040
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
1041
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
1042
|
+
}>;
|
|
1043
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1044
|
+
}> | import("@chainsafe/ssz").ContainerType<{
|
|
1045
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
1046
|
+
blob: import("@chainsafe/ssz").ByteVectorType;
|
|
1047
|
+
kzgCommitment: import("@chainsafe/ssz").ByteVectorType;
|
|
1048
|
+
kzgProof: import("@chainsafe/ssz").ByteVectorType;
|
|
1049
|
+
signedBlockHeader: import("@chainsafe/ssz").ContainerType<{
|
|
1050
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
1051
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
1052
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
1053
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
1054
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
1055
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
1056
|
+
}>;
|
|
1057
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1058
|
+
}>;
|
|
1059
|
+
kzgCommitmentInclusionProof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
1060
|
+
}> | import("@chainsafe/ssz").CompositeType<import("@chainsafe/ssz").ValueOfFields<{
|
|
1050
1061
|
message: import("@chainsafe/ssz").ContainerType<{
|
|
1051
1062
|
aggregatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
1052
1063
|
aggregate: import("@chainsafe/ssz").ContainerType<{
|
|
@@ -1877,7 +1888,25 @@ export declare function getGossipSSZType(topic: GossipTopic): import("@chainsafe
|
|
|
1877
1888
|
}>;
|
|
1878
1889
|
}>;
|
|
1879
1890
|
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1880
|
-
}>> | import("@chainsafe/ssz").
|
|
1891
|
+
}>> | import("@chainsafe/ssz").ContainerType<{
|
|
1892
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
1893
|
+
aggregatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
1894
|
+
contribution: import("@chainsafe/ssz").ContainerType<{
|
|
1895
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
1896
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
1897
|
+
subcommitteeIndex: import("@chainsafe/ssz").UintNumberType;
|
|
1898
|
+
aggregationBits: import("@chainsafe/ssz").BitVectorType;
|
|
1899
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1900
|
+
}>;
|
|
1901
|
+
selectionProof: import("@chainsafe/ssz").ByteVectorType;
|
|
1902
|
+
}>;
|
|
1903
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1904
|
+
}> | import("@chainsafe/ssz").ContainerType<{
|
|
1905
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
1906
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
1907
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
1908
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1909
|
+
}> | import("@chainsafe/ssz").CompositeType<import("@chainsafe/ssz").ValueOfFields<{
|
|
1881
1910
|
attestedHeader: import("@chainsafe/ssz").ContainerType<{
|
|
1882
1911
|
beacon: import("@chainsafe/ssz").ContainerType<{
|
|
1883
1912
|
slot: import("@chainsafe/ssz").UintNumberType;
|
|
@@ -63,7 +63,7 @@ export async function createNodeJsLibp2p(privateKey, networkOpts = {}, nodeJsLib
|
|
|
63
63
|
},
|
|
64
64
|
}),
|
|
65
65
|
],
|
|
66
|
-
streamMuxers: [mplex({ maxInboundStreams: 256 })],
|
|
66
|
+
streamMuxers: [mplex({ maxInboundStreams: 256, disconnectThreshold: networkOpts.disconnectThreshold })],
|
|
67
67
|
peerDiscovery,
|
|
68
68
|
metrics: nodeJsLibp2pOpts.metrics
|
|
69
69
|
? prometheusMetrics({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/libp2p/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/libp2p/index.ts"],"names":[],"mappings":"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"}
|
package/lib/network/network.js
CHANGED
|
@@ -153,14 +153,14 @@ export class Network {
|
|
|
153
153
|
async close() {
|
|
154
154
|
if (this.closed)
|
|
155
155
|
return;
|
|
156
|
-
// Used only for sleep() statements
|
|
157
|
-
this.controller.abort();
|
|
158
156
|
this.events.off(NetworkEvent.peerConnected, this.onPeerConnected);
|
|
159
157
|
this.events.off(NetworkEvent.peerDisconnected, this.onPeerDisconnected);
|
|
160
158
|
this.chain.emitter.off(routes.events.EventType.head, this.onHead);
|
|
161
159
|
this.chain.emitter.off(routes.events.EventType.lightClientFinalityUpdate, this.onLightClientFinalityUpdate);
|
|
162
160
|
this.chain.emitter.off(routes.events.EventType.lightClientOptimisticUpdate, this.onLightClientOptimisticUpdate);
|
|
163
161
|
await this.core.close();
|
|
162
|
+
// Used only for sleep() statements
|
|
163
|
+
this.controller.abort();
|
|
164
164
|
this.logger.debug("network core closed");
|
|
165
165
|
}
|
|
166
166
|
async scrapeMetrics() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network/network.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/network/network.ts"],"names":[],"mappings":"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"}
|
package/lib/network/options.d.ts
CHANGED
|
@@ -14,6 +14,24 @@ export interface NetworkOptions extends PeerManagerOpts, Omit<ReqRespBeaconNodeO
|
|
|
14
14
|
useWorker?: boolean;
|
|
15
15
|
maxYoungGenerationSizeMb?: number;
|
|
16
16
|
disableLightClientServer?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* During E2E tests observe a lot of following `missing stream`:
|
|
19
|
+
*
|
|
20
|
+
* > libp2p:mplex receiver stream with id 2 and protocol /eth2/beacon_chain/req/metadata/2/ssz_snappy ended
|
|
21
|
+
* > libp2p:mplex initiator stream with id 4 and protocol /eth2/beacon_chain/req/metadata/2/ssz_snappy ended
|
|
22
|
+
* > libp2p:mplex initiator stream with id 2 and protocol /eth2/beacon_chain/req/metadata/2/ssz_snappy ended
|
|
23
|
+
* > libp2p:mplex missing stream 2 for message type CLOSE_INITIATOR
|
|
24
|
+
* > libp2p:mplex missing stream 2 for message type CLOSE_RECEIVER
|
|
25
|
+
* > libp2p:mplex missing stream 4 for message type CLOSE_INITIATOR
|
|
26
|
+
*
|
|
27
|
+
* which results in following rate-limit error and cause the connection to close and fail the e2e tests
|
|
28
|
+
* > libp2p:mplex rate limit hit when receiving messages for streams that do not exist - closing remote connection
|
|
29
|
+
* > libp2p:mplex:stream:initiator:3 abort with error Error: Too many messages for missing streams
|
|
30
|
+
*
|
|
31
|
+
* The default value for `disconnectThreshold` in libp2p is set to `5`.
|
|
32
|
+
* We need to increase this only for the testing purpose
|
|
33
|
+
*/
|
|
34
|
+
disconnectThreshold?: number;
|
|
17
35
|
}
|
|
18
36
|
export declare const defaultNetworkOptions: NetworkOptions;
|
|
19
37
|
//# sourceMappingURL=options.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/network/options.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/network/options.ts"],"names":[],"mappings":"AA8CA,MAAM,CAAC,MAAM,qBAAqB,GAAmB;IACnD,QAAQ,EAAE,GAAG,EAAE,0DAA0D;IACzE,WAAW,EAAE,GAAG;IAChB,eAAe,EAAE,CAAC,uBAAuB,CAAC;IAC1C,cAAc,EAAE,EAAE;IAClB,0BAA0B;IAC1B,MAAM,EAAE,IAAI;IACZ,mBAAmB,EAAE,CAAC;IACtB,SAAS,EAAE,IAAI;IACf,yFAAyF;IACzF,mBAAmB,EAAE,IAAI;IACzB,gFAAgF;IAChF,wBAAwB,EAAE,GAAG;IAC7B,kGAAkG;IAClG,oCAAoC,EAAE,CAAC;IACvC,sDAAsD;IACtD,wBAAwB,EAAE,KAAK;CAChC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BitArray } from "@chainsafe/ssz";
|
|
2
|
-
import { SYNC_COMMITTEE_SUBNET_COUNT } from "@lodestar/params";
|
|
2
|
+
import { SLOTS_PER_EPOCH, SYNC_COMMITTEE_SUBNET_COUNT } from "@lodestar/params";
|
|
3
3
|
import { withTimeout } from "@lodestar/utils";
|
|
4
4
|
import { GOODBYE_KNOWN_CODES, GoodByeReasonCode, Libp2pEvent } from "../../constants/index.js";
|
|
5
5
|
import { NetworkEvent } from "../events.js";
|
|
@@ -33,6 +33,10 @@ const DEFAULT_DISCV5_FIRST_QUERY_DELAY_MS = 1000;
|
|
|
33
33
|
const PEER_RELEVANT_TAG = "relevant";
|
|
34
34
|
/** Tag value of PEER_RELEVANT_TAG */
|
|
35
35
|
const PEER_RELEVANT_TAG_VALUE = 100;
|
|
36
|
+
/** Change pruning behavior once the head falls behind */
|
|
37
|
+
const STARVATION_THRESHOLD_SLOTS = SLOTS_PER_EPOCH * 2;
|
|
38
|
+
/** Percentage of peers to attempt to prune when starvation threshold is met */
|
|
39
|
+
const STARVATION_PRUNE_RATIO = 0.05;
|
|
36
40
|
/**
|
|
37
41
|
* Relative factor of peers that are allowed to have a negative gossipsub score without penalizing them in lodestar.
|
|
38
42
|
*/
|
|
@@ -110,6 +114,7 @@ export class PeerManager {
|
|
|
110
114
|
relevantStatus: RelevantPeerStatus.Unknown,
|
|
111
115
|
direction,
|
|
112
116
|
peerId: remotePeer,
|
|
117
|
+
status: null,
|
|
113
118
|
metadata: null,
|
|
114
119
|
agentVersion: null,
|
|
115
120
|
agentClient: null,
|
|
@@ -170,6 +175,7 @@ export class PeerManager {
|
|
|
170
175
|
this.libp2p.services.components.events.addEventListener(Libp2pEvent.connectionOpen, this.onLibp2pPeerConnect);
|
|
171
176
|
this.libp2p.services.components.events.addEventListener(Libp2pEvent.connectionClose, this.onLibp2pPeerDisconnect);
|
|
172
177
|
this.networkEventBus.on(NetworkEvent.reqRespRequest, this.onRequest);
|
|
178
|
+
this.lastStatus = this.statusCache.get();
|
|
173
179
|
// On start-up will connected to existing peers in libp2p.peerStore, same as autoDial behaviour
|
|
174
180
|
this.heartbeat();
|
|
175
181
|
this.intervals = [
|
|
@@ -288,8 +294,10 @@ export class PeerManager {
|
|
|
288
294
|
onStatus(peer, status) {
|
|
289
295
|
// reset the to-status timer of this peer
|
|
290
296
|
const peerData = this.connectedPeers.get(peer.toString());
|
|
291
|
-
if (peerData)
|
|
297
|
+
if (peerData) {
|
|
292
298
|
peerData.lastStatusUnixTsMs = Date.now();
|
|
299
|
+
peerData.status = status;
|
|
300
|
+
}
|
|
293
301
|
let isIrrelevant;
|
|
294
302
|
try {
|
|
295
303
|
const irrelevantReasonType = assertPeerRelevance(status, this.statusCache.get(), this.clock.currentSlot);
|
|
@@ -392,18 +400,33 @@ export class PeerManager {
|
|
|
392
400
|
connectedHealthyPeers.push(peer);
|
|
393
401
|
}
|
|
394
402
|
}
|
|
403
|
+
const status = this.statusCache.get();
|
|
404
|
+
const starved =
|
|
405
|
+
// while syncing progress is happening, we aren't starved
|
|
406
|
+
this.lastStatus.headSlot === status.headSlot &&
|
|
407
|
+
// if the head falls behind the threshold, we are starved
|
|
408
|
+
this.clock.currentSlot - status.headSlot > STARVATION_THRESHOLD_SLOTS;
|
|
409
|
+
this.lastStatus = status;
|
|
410
|
+
this.metrics?.peerManager.starved.set(starved ? 1 : 0);
|
|
395
411
|
const { peersToDisconnect, peersToConnect, attnetQueries, syncnetQueries } = prioritizePeers(connectedHealthyPeers.map((peer) => {
|
|
396
412
|
const peerData = this.connectedPeers.get(peer.toString());
|
|
397
413
|
return {
|
|
398
414
|
id: peer,
|
|
399
415
|
direction: peerData?.direction ?? null,
|
|
416
|
+
status: peerData?.status ?? null,
|
|
400
417
|
attnets: peerData?.metadata?.attnets ?? null,
|
|
401
418
|
syncnets: peerData?.metadata?.syncnets ?? null,
|
|
402
419
|
score: this.peerRpcScores.getScore(peer),
|
|
403
420
|
};
|
|
404
421
|
}),
|
|
405
422
|
// Collect subnets which we need peers for in the current slot
|
|
406
|
-
this.attnetsService.getActiveSubnets(), this.syncnetsService.getActiveSubnets(),
|
|
423
|
+
this.attnetsService.getActiveSubnets(), this.syncnetsService.getActiveSubnets(), {
|
|
424
|
+
...this.opts,
|
|
425
|
+
status,
|
|
426
|
+
starved,
|
|
427
|
+
starvationPruneRatio: STARVATION_PRUNE_RATIO,
|
|
428
|
+
starvationThresholdSlots: STARVATION_THRESHOLD_SLOTS,
|
|
429
|
+
});
|
|
407
430
|
const queriesMerged = [];
|
|
408
431
|
for (const { type, queries } of [
|
|
409
432
|
{ type: SubnetType.attnets, queries: attnetQueries },
|