@lodestar/beacon-node 1.42.0-dev.7552832620 → 1.42.0-dev.bfeb9e7e15
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/network/gossip/topic.d.ts +727 -0
- package/lib/network/gossip/topic.d.ts.map +1 -1
- package/lib/sync/unknownBlock.d.ts +2 -8
- package/lib/sync/unknownBlock.d.ts.map +1 -1
- package/lib/sync/unknownBlock.js +7 -40
- package/lib/sync/unknownBlock.js.map +1 -1
- package/package.json +15 -15
- package/src/sync/unknownBlock.ts +9 -49
|
@@ -285,6 +285,134 @@ export declare function getGossipSSZType(topic: GossipTopic): import("@chainsafe
|
|
|
285
285
|
}>;
|
|
286
286
|
}>;
|
|
287
287
|
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
288
|
+
}> | import("@chainsafe/ssz").ContainerType<{
|
|
289
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
290
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
291
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
292
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
293
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
294
|
+
body: import("@chainsafe/ssz").ContainerType<{
|
|
295
|
+
randaoReveal: import("@chainsafe/ssz").ByteVectorType;
|
|
296
|
+
eth1Data: import("@chainsafe/ssz").ContainerType<{
|
|
297
|
+
depositRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
298
|
+
depositCount: import("@chainsafe/ssz").UintNumberType;
|
|
299
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
300
|
+
}>;
|
|
301
|
+
graffiti: import("@chainsafe/ssz").ByteVectorType;
|
|
302
|
+
proposerSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
303
|
+
signedHeader1: import("@chainsafe/ssz").ContainerType<{
|
|
304
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
305
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
306
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
307
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
308
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
309
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
310
|
+
}>;
|
|
311
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
312
|
+
}>;
|
|
313
|
+
signedHeader2: import("@chainsafe/ssz").ContainerType<{
|
|
314
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
315
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
316
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
317
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
318
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
319
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
320
|
+
}>;
|
|
321
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
322
|
+
}>;
|
|
323
|
+
}>>;
|
|
324
|
+
attesterSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
325
|
+
attestation1: import("@chainsafe/ssz").ContainerType<{
|
|
326
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
327
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
328
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
329
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
330
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
331
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
332
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
333
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
334
|
+
}>;
|
|
335
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
336
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
337
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
338
|
+
}>;
|
|
339
|
+
}>;
|
|
340
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
341
|
+
}>;
|
|
342
|
+
attestation2: import("@chainsafe/ssz").ContainerType<{
|
|
343
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
344
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
345
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
346
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
347
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
348
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
349
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
350
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
351
|
+
}>;
|
|
352
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
353
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
354
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
355
|
+
}>;
|
|
356
|
+
}>;
|
|
357
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
358
|
+
}>;
|
|
359
|
+
}>>;
|
|
360
|
+
attestations: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
361
|
+
aggregationBits: import("@chainsafe/ssz").BitListType;
|
|
362
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
363
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
364
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
365
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
366
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
367
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
368
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
369
|
+
}>;
|
|
370
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
371
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
372
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
373
|
+
}>;
|
|
374
|
+
}>;
|
|
375
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
376
|
+
}>>;
|
|
377
|
+
deposits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
378
|
+
proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
379
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
380
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
381
|
+
withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
|
|
382
|
+
amount: import("@chainsafe/ssz").UintNumberType;
|
|
383
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
384
|
+
}>;
|
|
385
|
+
}>>;
|
|
386
|
+
voluntaryExits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
387
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
388
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
389
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
390
|
+
}>;
|
|
391
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
392
|
+
}>>;
|
|
393
|
+
syncAggregate: import("@chainsafe/ssz").ContainerType<{
|
|
394
|
+
syncCommitteeBits: import("@chainsafe/ssz").BitVectorType;
|
|
395
|
+
syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType;
|
|
396
|
+
}>;
|
|
397
|
+
executionPayload: import("@chainsafe/ssz").ContainerType<{
|
|
398
|
+
parentHash: import("@chainsafe/ssz").ByteVectorType;
|
|
399
|
+
feeRecipient: import("@lodestar/types").ExecutionAddressType;
|
|
400
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
401
|
+
receiptsRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
402
|
+
logsBloom: import("@chainsafe/ssz").ByteVectorType;
|
|
403
|
+
prevRandao: import("@chainsafe/ssz").ByteVectorType;
|
|
404
|
+
blockNumber: import("@chainsafe/ssz").UintNumberType;
|
|
405
|
+
gasLimit: import("@chainsafe/ssz").UintNumberType;
|
|
406
|
+
gasUsed: import("@chainsafe/ssz").UintNumberType;
|
|
407
|
+
timestamp: import("@chainsafe/ssz").UintNumberType;
|
|
408
|
+
extraData: import("@chainsafe/ssz").ByteListType;
|
|
409
|
+
baseFeePerGas: import("@chainsafe/ssz").UintBigintType;
|
|
410
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
411
|
+
transactions: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteListType>;
|
|
412
|
+
}>;
|
|
413
|
+
}>;
|
|
414
|
+
}>;
|
|
415
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
288
416
|
}> | import("@chainsafe/ssz").ContainerType<{
|
|
289
417
|
message: import("@chainsafe/ssz").ContainerType<{
|
|
290
418
|
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
@@ -292,6 +420,293 @@ export declare function getGossipSSZType(topic: GossipTopic): import("@chainsafe
|
|
|
292
420
|
toExecutionAddress: import("@lodestar/types").ExecutionAddressType;
|
|
293
421
|
}>;
|
|
294
422
|
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
423
|
+
}> | import("@chainsafe/ssz").ContainerType<{
|
|
424
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
425
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
426
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
427
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
428
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
429
|
+
body: import("@chainsafe/ssz").ContainerType<{
|
|
430
|
+
randaoReveal: import("@chainsafe/ssz").ByteVectorType;
|
|
431
|
+
eth1Data: import("@chainsafe/ssz").ContainerType<{
|
|
432
|
+
depositRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
433
|
+
depositCount: import("@chainsafe/ssz").UintNumberType;
|
|
434
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
435
|
+
}>;
|
|
436
|
+
graffiti: import("@chainsafe/ssz").ByteVectorType;
|
|
437
|
+
proposerSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
438
|
+
signedHeader1: import("@chainsafe/ssz").ContainerType<{
|
|
439
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
440
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
441
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
442
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
443
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
444
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
445
|
+
}>;
|
|
446
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
447
|
+
}>;
|
|
448
|
+
signedHeader2: import("@chainsafe/ssz").ContainerType<{
|
|
449
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
450
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
451
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
452
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
453
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
454
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
455
|
+
}>;
|
|
456
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
457
|
+
}>;
|
|
458
|
+
}>>;
|
|
459
|
+
attesterSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
460
|
+
attestation1: import("@chainsafe/ssz").ContainerType<{
|
|
461
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
462
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
463
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
464
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
465
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
466
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
467
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
468
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
469
|
+
}>;
|
|
470
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
471
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
472
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
473
|
+
}>;
|
|
474
|
+
}>;
|
|
475
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
476
|
+
}>;
|
|
477
|
+
attestation2: import("@chainsafe/ssz").ContainerType<{
|
|
478
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
479
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
480
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
481
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
482
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
483
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
484
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
485
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
486
|
+
}>;
|
|
487
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
488
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
489
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
490
|
+
}>;
|
|
491
|
+
}>;
|
|
492
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
493
|
+
}>;
|
|
494
|
+
}>>;
|
|
495
|
+
attestations: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
496
|
+
aggregationBits: import("@chainsafe/ssz").BitListType;
|
|
497
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
498
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
499
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
500
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
501
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
502
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
503
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
504
|
+
}>;
|
|
505
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
506
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
507
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
508
|
+
}>;
|
|
509
|
+
}>;
|
|
510
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
511
|
+
}>>;
|
|
512
|
+
deposits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
513
|
+
proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
514
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
515
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
516
|
+
withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
|
|
517
|
+
amount: import("@chainsafe/ssz").UintNumberType;
|
|
518
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
519
|
+
}>;
|
|
520
|
+
}>>;
|
|
521
|
+
voluntaryExits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
522
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
523
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
524
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
525
|
+
}>;
|
|
526
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
527
|
+
}>>;
|
|
528
|
+
syncAggregate: import("@chainsafe/ssz").ContainerType<{
|
|
529
|
+
syncCommitteeBits: import("@chainsafe/ssz").BitVectorType;
|
|
530
|
+
syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType;
|
|
531
|
+
}>;
|
|
532
|
+
executionPayload: import("@chainsafe/ssz").ContainerType<{
|
|
533
|
+
parentHash: import("@chainsafe/ssz").ByteVectorType;
|
|
534
|
+
feeRecipient: import("@lodestar/types").ExecutionAddressType;
|
|
535
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
536
|
+
receiptsRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
537
|
+
logsBloom: import("@chainsafe/ssz").ByteVectorType;
|
|
538
|
+
prevRandao: import("@chainsafe/ssz").ByteVectorType;
|
|
539
|
+
blockNumber: import("@chainsafe/ssz").UintNumberType;
|
|
540
|
+
gasLimit: import("@chainsafe/ssz").UintNumberType;
|
|
541
|
+
gasUsed: import("@chainsafe/ssz").UintNumberType;
|
|
542
|
+
timestamp: import("@chainsafe/ssz").UintNumberType;
|
|
543
|
+
extraData: import("@chainsafe/ssz").ByteListType;
|
|
544
|
+
baseFeePerGas: import("@chainsafe/ssz").UintBigintType;
|
|
545
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
546
|
+
transactions: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteListType>;
|
|
547
|
+
withdrawals: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
548
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
549
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
550
|
+
address: import("@lodestar/types").ExecutionAddressType;
|
|
551
|
+
amount: import("@chainsafe/ssz").UintBigintType;
|
|
552
|
+
}>>;
|
|
553
|
+
}>;
|
|
554
|
+
blsToExecutionChanges: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
555
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
556
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
557
|
+
fromBlsPubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
558
|
+
toExecutionAddress: import("@lodestar/types").ExecutionAddressType;
|
|
559
|
+
}>;
|
|
560
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
561
|
+
}>>;
|
|
562
|
+
}>;
|
|
563
|
+
}>;
|
|
564
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
565
|
+
}> | import("@chainsafe/ssz").ContainerType<{
|
|
566
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
567
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
568
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
569
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
570
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
571
|
+
body: import("@chainsafe/ssz").ContainerType<{
|
|
572
|
+
randaoReveal: import("@chainsafe/ssz").ByteVectorType;
|
|
573
|
+
eth1Data: import("@chainsafe/ssz").ContainerType<{
|
|
574
|
+
depositRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
575
|
+
depositCount: import("@chainsafe/ssz").UintNumberType;
|
|
576
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
577
|
+
}>;
|
|
578
|
+
graffiti: import("@chainsafe/ssz").ByteVectorType;
|
|
579
|
+
proposerSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
580
|
+
signedHeader1: import("@chainsafe/ssz").ContainerType<{
|
|
581
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
582
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
583
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
584
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
585
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
586
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
587
|
+
}>;
|
|
588
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
589
|
+
}>;
|
|
590
|
+
signedHeader2: import("@chainsafe/ssz").ContainerType<{
|
|
591
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
592
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
593
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
594
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
595
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
596
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
597
|
+
}>;
|
|
598
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
599
|
+
}>;
|
|
600
|
+
}>>;
|
|
601
|
+
attesterSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
602
|
+
attestation1: import("@chainsafe/ssz").ContainerType<{
|
|
603
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
604
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
605
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
606
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
607
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
608
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
609
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
610
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
611
|
+
}>;
|
|
612
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
613
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
614
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
615
|
+
}>;
|
|
616
|
+
}>;
|
|
617
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
618
|
+
}>;
|
|
619
|
+
attestation2: import("@chainsafe/ssz").ContainerType<{
|
|
620
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
621
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
622
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
623
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
624
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
625
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
626
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
627
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
628
|
+
}>;
|
|
629
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
630
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
631
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
632
|
+
}>;
|
|
633
|
+
}>;
|
|
634
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
635
|
+
}>;
|
|
636
|
+
}>>;
|
|
637
|
+
attestations: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
638
|
+
aggregationBits: import("@chainsafe/ssz").BitListType;
|
|
639
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
640
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
641
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
642
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
643
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
644
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
645
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
646
|
+
}>;
|
|
647
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
648
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
649
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
650
|
+
}>;
|
|
651
|
+
}>;
|
|
652
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
653
|
+
}>>;
|
|
654
|
+
deposits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
655
|
+
proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
656
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
657
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
658
|
+
withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
|
|
659
|
+
amount: import("@chainsafe/ssz").UintNumberType;
|
|
660
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
661
|
+
}>;
|
|
662
|
+
}>>;
|
|
663
|
+
voluntaryExits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
664
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
665
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
666
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
667
|
+
}>;
|
|
668
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
669
|
+
}>>;
|
|
670
|
+
syncAggregate: import("@chainsafe/ssz").ContainerType<{
|
|
671
|
+
syncCommitteeBits: import("@chainsafe/ssz").BitVectorType;
|
|
672
|
+
syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType;
|
|
673
|
+
}>;
|
|
674
|
+
executionPayload: import("@chainsafe/ssz").ContainerType<{
|
|
675
|
+
parentHash: import("@chainsafe/ssz").ByteVectorType;
|
|
676
|
+
feeRecipient: import("@lodestar/types").ExecutionAddressType;
|
|
677
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
678
|
+
receiptsRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
679
|
+
logsBloom: import("@chainsafe/ssz").ByteVectorType;
|
|
680
|
+
prevRandao: import("@chainsafe/ssz").ByteVectorType;
|
|
681
|
+
blockNumber: import("@chainsafe/ssz").UintNumberType;
|
|
682
|
+
gasLimit: import("@chainsafe/ssz").UintNumberType;
|
|
683
|
+
gasUsed: import("@chainsafe/ssz").UintNumberType;
|
|
684
|
+
timestamp: import("@chainsafe/ssz").UintNumberType;
|
|
685
|
+
extraData: import("@chainsafe/ssz").ByteListType;
|
|
686
|
+
baseFeePerGas: import("@chainsafe/ssz").UintBigintType;
|
|
687
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
688
|
+
transactions: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteListType>;
|
|
689
|
+
withdrawals: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
690
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
691
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
692
|
+
address: import("@lodestar/types").ExecutionAddressType;
|
|
693
|
+
amount: import("@chainsafe/ssz").UintBigintType;
|
|
694
|
+
}>>;
|
|
695
|
+
blobGasUsed: import("@chainsafe/ssz").UintBigintType;
|
|
696
|
+
excessBlobGas: import("@chainsafe/ssz").UintBigintType;
|
|
697
|
+
}>;
|
|
698
|
+
blsToExecutionChanges: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
699
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
700
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
701
|
+
fromBlsPubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
702
|
+
toExecutionAddress: import("@lodestar/types").ExecutionAddressType;
|
|
703
|
+
}>;
|
|
704
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
705
|
+
}>>;
|
|
706
|
+
blobKzgCommitments: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
707
|
+
}>;
|
|
708
|
+
}>;
|
|
709
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
295
710
|
}> | import("@chainsafe/ssz").ContainerType<{
|
|
296
711
|
index: import("@chainsafe/ssz").UintNumberType;
|
|
297
712
|
blob: import("@chainsafe/ssz").ByteVectorType;
|
|
@@ -308,6 +723,171 @@ export declare function getGossipSSZType(topic: GossipTopic): import("@chainsafe
|
|
|
308
723
|
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
309
724
|
}>;
|
|
310
725
|
kzgCommitmentInclusionProof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
726
|
+
}> | import("@chainsafe/ssz").ContainerType<{
|
|
727
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
728
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
729
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
730
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
731
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
732
|
+
body: import("@chainsafe/ssz").ContainerType<{
|
|
733
|
+
randaoReveal: import("@chainsafe/ssz").ByteVectorType;
|
|
734
|
+
eth1Data: import("@chainsafe/ssz").ContainerType<{
|
|
735
|
+
depositRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
736
|
+
depositCount: import("@chainsafe/ssz").UintNumberType;
|
|
737
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
738
|
+
}>;
|
|
739
|
+
graffiti: import("@chainsafe/ssz").ByteVectorType;
|
|
740
|
+
proposerSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
741
|
+
signedHeader1: import("@chainsafe/ssz").ContainerType<{
|
|
742
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
743
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
744
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
745
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
746
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
747
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
748
|
+
}>;
|
|
749
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
750
|
+
}>;
|
|
751
|
+
signedHeader2: import("@chainsafe/ssz").ContainerType<{
|
|
752
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
753
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
754
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
755
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
756
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
757
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
758
|
+
}>;
|
|
759
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
760
|
+
}>;
|
|
761
|
+
}>>;
|
|
762
|
+
attesterSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
763
|
+
attestation1: import("@chainsafe/ssz").ContainerType<{
|
|
764
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
765
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
766
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
767
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
768
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
769
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
770
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
771
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
772
|
+
}>;
|
|
773
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
774
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
775
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
776
|
+
}>;
|
|
777
|
+
}>;
|
|
778
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
779
|
+
}>;
|
|
780
|
+
attestation2: import("@chainsafe/ssz").ContainerType<{
|
|
781
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
782
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
783
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
784
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
785
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
786
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
787
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
788
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
789
|
+
}>;
|
|
790
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
791
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
792
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
793
|
+
}>;
|
|
794
|
+
}>;
|
|
795
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
796
|
+
}>;
|
|
797
|
+
}>>;
|
|
798
|
+
attestations: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
799
|
+
aggregationBits: import("@chainsafe/ssz").BitListType;
|
|
800
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
801
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
802
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
803
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
804
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
805
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
806
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
807
|
+
}>;
|
|
808
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
809
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
810
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
811
|
+
}>;
|
|
812
|
+
}>;
|
|
813
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
814
|
+
committeeBits: import("@chainsafe/ssz").BitVectorType;
|
|
815
|
+
}>>;
|
|
816
|
+
deposits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
817
|
+
proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
818
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
819
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
820
|
+
withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
|
|
821
|
+
amount: import("@chainsafe/ssz").UintNumberType;
|
|
822
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
823
|
+
}>;
|
|
824
|
+
}>>;
|
|
825
|
+
voluntaryExits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
826
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
827
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
828
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
829
|
+
}>;
|
|
830
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
831
|
+
}>>;
|
|
832
|
+
syncAggregate: import("@chainsafe/ssz").ContainerType<{
|
|
833
|
+
syncCommitteeBits: import("@chainsafe/ssz").BitVectorType;
|
|
834
|
+
syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType;
|
|
835
|
+
}>;
|
|
836
|
+
executionPayload: import("@chainsafe/ssz").ContainerType<{
|
|
837
|
+
parentHash: import("@chainsafe/ssz").ByteVectorType;
|
|
838
|
+
feeRecipient: import("@lodestar/types").ExecutionAddressType;
|
|
839
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
840
|
+
receiptsRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
841
|
+
logsBloom: import("@chainsafe/ssz").ByteVectorType;
|
|
842
|
+
prevRandao: import("@chainsafe/ssz").ByteVectorType;
|
|
843
|
+
blockNumber: import("@chainsafe/ssz").UintNumberType;
|
|
844
|
+
gasLimit: import("@chainsafe/ssz").UintNumberType;
|
|
845
|
+
gasUsed: import("@chainsafe/ssz").UintNumberType;
|
|
846
|
+
timestamp: import("@chainsafe/ssz").UintNumberType;
|
|
847
|
+
extraData: import("@chainsafe/ssz").ByteListType;
|
|
848
|
+
baseFeePerGas: import("@chainsafe/ssz").UintBigintType;
|
|
849
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
850
|
+
transactions: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteListType>;
|
|
851
|
+
withdrawals: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
852
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
853
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
854
|
+
address: import("@lodestar/types").ExecutionAddressType;
|
|
855
|
+
amount: import("@chainsafe/ssz").UintBigintType;
|
|
856
|
+
}>>;
|
|
857
|
+
blobGasUsed: import("@chainsafe/ssz").UintBigintType;
|
|
858
|
+
excessBlobGas: import("@chainsafe/ssz").UintBigintType;
|
|
859
|
+
}>;
|
|
860
|
+
blsToExecutionChanges: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
861
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
862
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
863
|
+
fromBlsPubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
864
|
+
toExecutionAddress: import("@lodestar/types").ExecutionAddressType;
|
|
865
|
+
}>;
|
|
866
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
867
|
+
}>>;
|
|
868
|
+
blobKzgCommitments: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
869
|
+
executionRequests: import("@chainsafe/ssz").ContainerType<{
|
|
870
|
+
deposits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
871
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
872
|
+
withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
|
|
873
|
+
amount: import("@chainsafe/ssz").UintNumberType;
|
|
874
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
875
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
876
|
+
}>>;
|
|
877
|
+
withdrawals: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
878
|
+
sourceAddress: import("@lodestar/types").ExecutionAddressType;
|
|
879
|
+
validatorPubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
880
|
+
amount: import("@chainsafe/ssz").UintBigintType;
|
|
881
|
+
}>>;
|
|
882
|
+
consolidations: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
883
|
+
sourceAddress: import("@lodestar/types").ExecutionAddressType;
|
|
884
|
+
sourcePubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
885
|
+
targetPubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
886
|
+
}>>;
|
|
887
|
+
}>;
|
|
888
|
+
}>;
|
|
889
|
+
}>;
|
|
890
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
311
891
|
}> | import("@chainsafe/ssz").ContainerType<{
|
|
312
892
|
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
313
893
|
data: import("@chainsafe/ssz").ContainerType<{
|
|
@@ -383,6 +963,153 @@ export declare function getGossipSSZType(topic: GossipTopic): import("@chainsafe
|
|
|
383
963
|
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
384
964
|
}>;
|
|
385
965
|
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
966
|
+
}> | import("@chainsafe/ssz").ContainerType<{
|
|
967
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
968
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
969
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
970
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
971
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
972
|
+
body: import("@chainsafe/ssz").ContainerType<{
|
|
973
|
+
randaoReveal: import("@chainsafe/ssz").ByteVectorType;
|
|
974
|
+
eth1Data: import("@chainsafe/ssz").ContainerType<{
|
|
975
|
+
depositRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
976
|
+
depositCount: import("@chainsafe/ssz").UintNumberType;
|
|
977
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
978
|
+
}>;
|
|
979
|
+
graffiti: import("@chainsafe/ssz").ByteVectorType;
|
|
980
|
+
proposerSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
981
|
+
signedHeader1: import("@chainsafe/ssz").ContainerType<{
|
|
982
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
983
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
984
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
985
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
986
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
987
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
988
|
+
}>;
|
|
989
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
990
|
+
}>;
|
|
991
|
+
signedHeader2: import("@chainsafe/ssz").ContainerType<{
|
|
992
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
993
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
994
|
+
proposerIndex: import("@chainsafe/ssz").UintNumberType;
|
|
995
|
+
parentRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
996
|
+
stateRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
997
|
+
bodyRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
998
|
+
}>;
|
|
999
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1000
|
+
}>;
|
|
1001
|
+
}>>;
|
|
1002
|
+
attesterSlashings: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
1003
|
+
attestation1: import("@chainsafe/ssz").ContainerType<{
|
|
1004
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
1005
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
1006
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
1007
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
1008
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
1009
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
1010
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
1011
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
1012
|
+
}>;
|
|
1013
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
1014
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
1015
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
1016
|
+
}>;
|
|
1017
|
+
}>;
|
|
1018
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1019
|
+
}>;
|
|
1020
|
+
attestation2: import("@chainsafe/ssz").ContainerType<{
|
|
1021
|
+
attestingIndices: import("@chainsafe/ssz").ListBasicType<import("@chainsafe/ssz").UintNumberType>;
|
|
1022
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
1023
|
+
slot: import("@chainsafe/ssz").UintBigintType;
|
|
1024
|
+
index: import("@chainsafe/ssz").UintBigintType;
|
|
1025
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
1026
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
1027
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
1028
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
1029
|
+
}>;
|
|
1030
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
1031
|
+
epoch: import("@chainsafe/ssz").UintBigintType;
|
|
1032
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
1033
|
+
}>;
|
|
1034
|
+
}>;
|
|
1035
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1036
|
+
}>;
|
|
1037
|
+
}>>;
|
|
1038
|
+
attestations: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
1039
|
+
aggregationBits: import("@chainsafe/ssz").BitListType;
|
|
1040
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
1041
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
1042
|
+
index: import("@chainsafe/ssz").UintNumberType;
|
|
1043
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
1044
|
+
source: import("@chainsafe/ssz").ContainerType<{
|
|
1045
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
1046
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
1047
|
+
}>;
|
|
1048
|
+
target: import("@chainsafe/ssz").ContainerType<{
|
|
1049
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
1050
|
+
root: import("@chainsafe/ssz").ByteVectorType;
|
|
1051
|
+
}>;
|
|
1052
|
+
}>;
|
|
1053
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1054
|
+
committeeBits: import("@chainsafe/ssz").BitVectorType;
|
|
1055
|
+
}>>;
|
|
1056
|
+
deposits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
1057
|
+
proof: import("@chainsafe/ssz").VectorCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
1058
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
1059
|
+
pubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
1060
|
+
withdrawalCredentials: import("@chainsafe/ssz").ByteVectorType;
|
|
1061
|
+
amount: import("@chainsafe/ssz").UintNumberType;
|
|
1062
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1063
|
+
}>;
|
|
1064
|
+
}>>;
|
|
1065
|
+
voluntaryExits: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
1066
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
1067
|
+
epoch: import("@chainsafe/ssz").UintNumberType;
|
|
1068
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
1069
|
+
}>;
|
|
1070
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1071
|
+
}>>;
|
|
1072
|
+
syncAggregate: import("@chainsafe/ssz").ContainerType<{
|
|
1073
|
+
syncCommitteeBits: import("@chainsafe/ssz").BitVectorType;
|
|
1074
|
+
syncCommitteeSignature: import("@chainsafe/ssz").ByteVectorType;
|
|
1075
|
+
}>;
|
|
1076
|
+
blsToExecutionChanges: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
1077
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
1078
|
+
validatorIndex: import("@chainsafe/ssz").UintNumberType;
|
|
1079
|
+
fromBlsPubkey: import("@chainsafe/ssz").ByteVectorType;
|
|
1080
|
+
toExecutionAddress: import("@lodestar/types").ExecutionAddressType;
|
|
1081
|
+
}>;
|
|
1082
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1083
|
+
}>>;
|
|
1084
|
+
signedExecutionPayloadBid: import("@chainsafe/ssz").ContainerType<{
|
|
1085
|
+
message: import("@chainsafe/ssz").ContainerType<{
|
|
1086
|
+
parentBlockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
1087
|
+
parentBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
1088
|
+
blockHash: import("@chainsafe/ssz").ByteVectorType;
|
|
1089
|
+
prevRandao: import("@chainsafe/ssz").ByteVectorType;
|
|
1090
|
+
feeRecipient: import("@lodestar/types").ExecutionAddressType;
|
|
1091
|
+
gasLimit: import("@chainsafe/ssz").UintBigintType;
|
|
1092
|
+
builderIndex: import("@chainsafe/ssz").UintNumberType;
|
|
1093
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
1094
|
+
value: import("@chainsafe/ssz").UintNumberType;
|
|
1095
|
+
executionPayment: import("@chainsafe/ssz").UintNumberType;
|
|
1096
|
+
blobKzgCommitments: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
1097
|
+
}>;
|
|
1098
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1099
|
+
}>;
|
|
1100
|
+
payloadAttestations: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ContainerType<{
|
|
1101
|
+
aggregationBits: import("@chainsafe/ssz").BitVectorType;
|
|
1102
|
+
data: import("@chainsafe/ssz").ContainerType<{
|
|
1103
|
+
beaconBlockRoot: import("@chainsafe/ssz").ByteVectorType;
|
|
1104
|
+
slot: import("@chainsafe/ssz").UintNumberType;
|
|
1105
|
+
payloadPresent: import("@chainsafe/ssz").BooleanType;
|
|
1106
|
+
blobDataAvailable: import("@chainsafe/ssz").BooleanType;
|
|
1107
|
+
}>;
|
|
1108
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
1109
|
+
}>>;
|
|
1110
|
+
}>;
|
|
1111
|
+
}>;
|
|
1112
|
+
signature: import("@chainsafe/ssz").ByteVectorType;
|
|
386
1113
|
}> | import("@chainsafe/ssz").CompositeType<import("@chainsafe/ssz").ValueOfFields<{
|
|
387
1114
|
index: import("@chainsafe/ssz").UintNumberType;
|
|
388
1115
|
column: import("@chainsafe/ssz").ListCompositeType<import("@chainsafe/ssz").ByteVectorType>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["../../../src/network/gossip/topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAEL,QAAQ,EAMT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAiB,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AAEjH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC;CACzC;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IAG5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAF9C,OAAO,CAAC,gBAAgB,CAA4C;IAEpE,YAA6B,iBAAiB,EAAE,iBAAiB,EAAI;IAErE,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAQtC;IAED,8DAA8D;IAC9D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEvD;IAED,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAInD;CACF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAKrG;AA8BD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW
|
|
1
|
+
{"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["../../../src/network/gossip/topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAEL,QAAQ,EAMT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AAEjF,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAiB,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,EAAC,MAAM,gBAAgB,CAAC;AAEjH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC;CACzC;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IAG5C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAF9C,OAAO,CAAC,gBAAgB,CAA4C;IAEpE,YAA6B,iBAAiB,EAAE,iBAAiB,EAAI;IAErE,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAQtC;IAED,8DAA8D;IAC9D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEvD;IAED,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAInD;CACF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,CAKrG;AA8BD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyClD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAOnH;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,GAAG,WAAW,CAMjG;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,GAAG,iBAAiB,CAS7G;AAMD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAyD9G;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAC,GACxE,kBAAkB,CAAC,MAAM,kBAAkB,CAAC,EAAE,CA2DhD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,aAAa,GAC3B,kBAAkB,CAAC,MAAM,kBAAkB,CAAC,EAAE,CAShD;AAgBD,eAAO,MAAM,sCAAsC,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAiB9E,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ChainForkConfig } from "@lodestar/config";
|
|
2
2
|
import { Logger } from "@lodestar/utils";
|
|
3
|
-
import { IBlockInput } from "../chain/blocks/blockInput/types.js";
|
|
4
3
|
import { IBeaconChain } from "../chain/index.js";
|
|
5
4
|
import { Metrics } from "../metrics/index.js";
|
|
6
5
|
import { INetwork } from "../network/index.js";
|
|
@@ -103,16 +102,11 @@ export declare class UnknownBlockPeerBalancer {
|
|
|
103
102
|
onPeerConnected(peerId: PeerIdStr, syncMeta: PeerSyncMeta): void;
|
|
104
103
|
onPeerDisconnected(peerId: PeerIdStr): void;
|
|
105
104
|
/**
|
|
106
|
-
* called from
|
|
105
|
+
* called from fetchBlockInput() where we only have block root and nothing else
|
|
107
106
|
* excludedPeers are the peers that we requested already so we don't want to try again
|
|
108
107
|
* pendingColumns is empty for prefulu, or the 1st time we we download a block by root
|
|
109
108
|
*/
|
|
110
|
-
bestPeerForPendingColumns(pendingColumns: Set<number
|
|
111
|
-
/**
|
|
112
|
-
* called from fetchUnavailableBlockInput() where we have either BlockInput or NullBlockInput
|
|
113
|
-
* excludedPeers are the peers that we requested already so we don't want to try again
|
|
114
|
-
*/
|
|
115
|
-
bestPeerForBlockInput(blockInput: IBlockInput, excludedPeers: Set<PeerIdStr>): PeerSyncMeta | null;
|
|
109
|
+
bestPeerForPendingColumns(pendingColumns: Set<number>, excludedPeers: Set<PeerIdStr>): PeerSyncMeta | null;
|
|
116
110
|
/**
|
|
117
111
|
* Consumers don't need to call this method directly, it is called internally by bestPeer*() methods
|
|
118
112
|
* make this public for testing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknownBlock.d.ts","sourceRoot":"","sources":["../../src/sync/unknownBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAKjD,OAAO,EAAC,MAAM,EAA2C,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"unknownBlock.d.ts","sourceRoot":"","sources":["../../src/sync/unknownBlock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAKjD,OAAO,EAAC,MAAM,EAA2C,MAAM,iBAAiB,CAAC;AAIjF,OAAO,EAA6B,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,QAAQ,EAAuD,MAAM,qBAAqB,CAAC;AACnG,OAAO,EAAC,YAAY,EAAC,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAK5C,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAyBzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,cAAc;IAWvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAfxB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+C;IAC7E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClC,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,YAAY,CAA2B;IAE/C,YACmB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,QAAQ,EACjB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GAAG,IAAI,EACvB,IAAI,CAAC,yBAAa,EAapC;IAED,kBAAkB,IAAI,IAAI,CAgBzB;IAED,sBAAsB,IAAI,IAAI,CAQ7B;IAED,KAAK,IAAI,IAAI,CAEZ;IAED,qBAAqB,IAAI,OAAO,CAE/B;IAED;;OAEG;IACH,OAAO,CAAC,kBAAkB,CASxB;IAEF;;OAEG;IACH,OAAO,CAAC,sBAAsB,CAS5B;IAEF;;OAEG;IACH,OAAO,CAAC,eAAe,CAUrB;IAEF,OAAO,CAAC,YAAY,CA2BlB;IAEF,OAAO,CAAC,eAAe,CA4BrB;IAEF,OAAO,CAAC,eAAe,CASrB;IAEF,OAAO,CAAC,kBAAkB,CAGxB;IAEF;;OAEG;IACH,OAAO,CAAC,yBAAyB,CA2C/B;YAEY,aAAa;YAkEb,YAAY;YAkHZ,eAAe;IA4I7B;;;;;OAKG;IACH,OAAO,CAAC,gCAAgC;IA4BxC,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,sBAAsB;CAY/B;AAED;;GAEG;AACH,qBAAa,wBAAwB;IACnC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACjD,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEhD,cAGC;IAED,qCAAqC;IACrC,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAM/D;IAED,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAG1C;IAED;;;;OAIG;IACH,yBAAyB,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,YAAY,GAAG,IAAI,CAezG;IAED;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAEjC;IAED;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAE1C;IAED,sBAAsB,IAAI,MAAM,CAM/B;IAED,OAAO,CAAC,WAAW;CAgDpB"}
|
package/lib/sync/unknownBlock.js
CHANGED
|
@@ -428,7 +428,7 @@ export class BlockInputSync {
|
|
|
428
428
|
* From a set of shuffled peers:
|
|
429
429
|
* - fetch the block
|
|
430
430
|
* - from deneb, fetch all missing blobs
|
|
431
|
-
* - from peerDAS, fetch sampled
|
|
431
|
+
* - from peerDAS, fetch sampled columns
|
|
432
432
|
* TODO: this means we only have block root, and nothing else. Consider to reflect this in the function name
|
|
433
433
|
* prefulu, will attempt a max of `MAX_ATTEMPTS_PER_BLOCK` on different peers, postfulu we may attempt more as defined in `getMaxDownloadAttempts()` function
|
|
434
434
|
* Also verifies the received block root + returns the peer that provided the block for future downscoring.
|
|
@@ -436,9 +436,7 @@ export class BlockInputSync {
|
|
|
436
436
|
async fetchBlockInput(cacheItem) {
|
|
437
437
|
const rootHex = getBlockInputSyncCacheItemRootHex(cacheItem);
|
|
438
438
|
const excludedPeers = new Set();
|
|
439
|
-
const defaultPendingColumns =
|
|
440
|
-
? new Set(this.network.custodyConfig.sampledColumns)
|
|
441
|
-
: null;
|
|
439
|
+
const defaultPendingColumns = new Set(this.network.custodyConfig.sampledColumns);
|
|
442
440
|
const fetchStartSec = Date.now() / 1000;
|
|
443
441
|
let slot = isPendingBlockInput(cacheItem) ? cacheItem.blockInput.slot : undefined;
|
|
444
442
|
if (slot !== undefined) {
|
|
@@ -449,14 +447,10 @@ export class BlockInputSync {
|
|
|
449
447
|
const pendingColumns = isPendingBlockInput(cacheItem) && isBlockInputColumns(cacheItem.blockInput)
|
|
450
448
|
? new Set(cacheItem.blockInput.getMissingSampledColumnMeta().missing)
|
|
451
449
|
: defaultPendingColumns;
|
|
452
|
-
// pendingDataColumns is null pre-fulu
|
|
453
450
|
const peerMeta = this.peerBalancer.bestPeerForPendingColumns(pendingColumns, excludedPeers);
|
|
454
451
|
if (peerMeta === null) {
|
|
455
452
|
// no more peer with needed columns to try, throw error
|
|
456
|
-
|
|
457
|
-
if (pendingColumns) {
|
|
458
|
-
message += ` with needed columns=${prettyPrintIndices(Array.from(pendingColumns))}`;
|
|
459
|
-
}
|
|
453
|
+
const message = `Error fetching UnknownBlockRoot slot=${slot} root=${rootHex} after ${i}: cannot find peer with needed columns=${prettyPrintIndices(Array.from(pendingColumns))}`;
|
|
460
454
|
this.metrics?.blockInputSync.fetchTimeSec.observe({ result: FetchResult.FailureTriedAllPeers }, Date.now() / 1000 - fetchStartSec);
|
|
461
455
|
this.metrics?.blockInputSync.fetchPeers.set({ result: FetchResult.FailureTriedAllPeers }, i);
|
|
462
456
|
throw Error(message);
|
|
@@ -573,7 +567,7 @@ export class BlockInputSync {
|
|
|
573
567
|
// TODO(fulu): why is this commented out here?
|
|
574
568
|
//
|
|
575
569
|
// this.knownBadBlocks.add(block.blockRootHex);
|
|
576
|
-
// for (const peerIdStr of block.
|
|
570
|
+
// for (const peerIdStr of block.peerIdStrings) {
|
|
577
571
|
// // TODO: Refactor peerRpcScores to work with peerIdStr only
|
|
578
572
|
// this.network.reportPeer(peerIdStr, PeerAction.LowToleranceError, "BadBlockByRoot");
|
|
579
573
|
// }
|
|
@@ -636,7 +630,7 @@ export class UnknownBlockPeerBalancer {
|
|
|
636
630
|
this.activeRequests.delete(peerId);
|
|
637
631
|
}
|
|
638
632
|
/**
|
|
639
|
-
* called from
|
|
633
|
+
* called from fetchBlockInput() where we only have block root and nothing else
|
|
640
634
|
* excludedPeers are the peers that we requested already so we don't want to try again
|
|
641
635
|
* pendingColumns is empty for prefulu, or the 1st time we we download a block by root
|
|
642
636
|
*/
|
|
@@ -652,31 +646,6 @@ export class UnknownBlockPeerBalancer {
|
|
|
652
646
|
this.onRequest(bestPeerId);
|
|
653
647
|
return this.peersMeta.get(bestPeerId) ?? null;
|
|
654
648
|
}
|
|
655
|
-
/**
|
|
656
|
-
* called from fetchUnavailableBlockInput() where we have either BlockInput or NullBlockInput
|
|
657
|
-
* excludedPeers are the peers that we requested already so we don't want to try again
|
|
658
|
-
*/
|
|
659
|
-
bestPeerForBlockInput(blockInput, excludedPeers) {
|
|
660
|
-
const eligiblePeers = [];
|
|
661
|
-
if (isBlockInputColumns(blockInput)) {
|
|
662
|
-
const pendingDataColumns = new Set(blockInput.getMissingSampledColumnMeta().missing);
|
|
663
|
-
// there could be no pending column in case when block is still missing
|
|
664
|
-
eligiblePeers.push(...this.filterPeers(pendingDataColumns, excludedPeers));
|
|
665
|
-
}
|
|
666
|
-
else {
|
|
667
|
-
// prefulu
|
|
668
|
-
eligiblePeers.push(...this.filterPeers(null, excludedPeers));
|
|
669
|
-
}
|
|
670
|
-
if (eligiblePeers.length === 0) {
|
|
671
|
-
return null;
|
|
672
|
-
}
|
|
673
|
-
const sortedEligiblePeers = sortBy(shuffle(eligiblePeers),
|
|
674
|
-
// prefer peers with least active req
|
|
675
|
-
(peerId) => this.activeRequests.get(peerId) ?? 0);
|
|
676
|
-
const bestPeerId = sortedEligiblePeers[0];
|
|
677
|
-
this.onRequest(bestPeerId);
|
|
678
|
-
return this.peersMeta.get(bestPeerId) ?? null;
|
|
679
|
-
}
|
|
680
649
|
/**
|
|
681
650
|
* Consumers don't need to call this method directly, it is called internally by bestPeer*() methods
|
|
682
651
|
* make this public for testing
|
|
@@ -697,7 +666,6 @@ export class UnknownBlockPeerBalancer {
|
|
|
697
666
|
}
|
|
698
667
|
return totalActiveRequests;
|
|
699
668
|
}
|
|
700
|
-
// pendingDataColumns could be null for prefulu
|
|
701
669
|
filterPeers(pendingDataColumns, excludedPeers) {
|
|
702
670
|
let maxColumnCount = 0;
|
|
703
671
|
const considerPeers = [];
|
|
@@ -711,12 +679,11 @@ export class UnknownBlockPeerBalancer {
|
|
|
711
679
|
// should return peer with no more than MAX_CONCURRENT_REQUESTS active requests
|
|
712
680
|
continue;
|
|
713
681
|
}
|
|
714
|
-
if (pendingDataColumns
|
|
715
|
-
// prefulu, no pending columns
|
|
682
|
+
if (pendingDataColumns.size === 0) {
|
|
716
683
|
considerPeers.push({ peerId, columnCount: 0 });
|
|
717
684
|
continue;
|
|
718
685
|
}
|
|
719
|
-
//
|
|
686
|
+
// find peers that have custody columns that we need
|
|
720
687
|
const { custodyColumns: peerColumns } = syncMeta;
|
|
721
688
|
// check if the peer has all needed columns
|
|
722
689
|
// get match
|
|
@@ -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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"}
|
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.42.0-dev.
|
|
14
|
+
"version": "1.42.0-dev.bfeb9e7e15",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
@@ -135,18 +135,18 @@
|
|
|
135
135
|
"@libp2p/peer-id": "^6.0.4",
|
|
136
136
|
"@libp2p/prometheus-metrics": "^5.0.14",
|
|
137
137
|
"@libp2p/tcp": "^11.0.13",
|
|
138
|
-
"@lodestar/api": "^1.42.0-dev.
|
|
139
|
-
"@lodestar/config": "^1.42.0-dev.
|
|
140
|
-
"@lodestar/db": "^1.42.0-dev.
|
|
141
|
-
"@lodestar/fork-choice": "^1.42.0-dev.
|
|
142
|
-
"@lodestar/light-client": "^1.42.0-dev.
|
|
143
|
-
"@lodestar/logger": "^1.42.0-dev.
|
|
144
|
-
"@lodestar/params": "^1.42.0-dev.
|
|
145
|
-
"@lodestar/reqresp": "^1.42.0-dev.
|
|
146
|
-
"@lodestar/state-transition": "^1.42.0-dev.
|
|
147
|
-
"@lodestar/types": "^1.42.0-dev.
|
|
148
|
-
"@lodestar/utils": "^1.42.0-dev.
|
|
149
|
-
"@lodestar/validator": "^1.42.0-dev.
|
|
138
|
+
"@lodestar/api": "^1.42.0-dev.bfeb9e7e15",
|
|
139
|
+
"@lodestar/config": "^1.42.0-dev.bfeb9e7e15",
|
|
140
|
+
"@lodestar/db": "^1.42.0-dev.bfeb9e7e15",
|
|
141
|
+
"@lodestar/fork-choice": "^1.42.0-dev.bfeb9e7e15",
|
|
142
|
+
"@lodestar/light-client": "^1.42.0-dev.bfeb9e7e15",
|
|
143
|
+
"@lodestar/logger": "^1.42.0-dev.bfeb9e7e15",
|
|
144
|
+
"@lodestar/params": "^1.42.0-dev.bfeb9e7e15",
|
|
145
|
+
"@lodestar/reqresp": "^1.42.0-dev.bfeb9e7e15",
|
|
146
|
+
"@lodestar/state-transition": "^1.42.0-dev.bfeb9e7e15",
|
|
147
|
+
"@lodestar/types": "^1.42.0-dev.bfeb9e7e15",
|
|
148
|
+
"@lodestar/utils": "^1.42.0-dev.bfeb9e7e15",
|
|
149
|
+
"@lodestar/validator": "^1.42.0-dev.bfeb9e7e15",
|
|
150
150
|
"@multiformats/multiaddr": "^13.0.1",
|
|
151
151
|
"datastore-core": "^11.0.2",
|
|
152
152
|
"datastore-fs": "^11.0.2",
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
"@libp2p/interface-internal": "^3.0.13",
|
|
170
170
|
"@libp2p/logger": "^6.2.2",
|
|
171
171
|
"@libp2p/utils": "^7.0.13",
|
|
172
|
-
"@lodestar/spec-test-util": "^1.42.0-dev.
|
|
172
|
+
"@lodestar/spec-test-util": "^1.42.0-dev.bfeb9e7e15",
|
|
173
173
|
"@types/js-yaml": "^4.0.5",
|
|
174
174
|
"@types/qs": "^6.9.7",
|
|
175
175
|
"@types/tmp": "^0.2.3",
|
|
@@ -186,5 +186,5 @@
|
|
|
186
186
|
"beacon",
|
|
187
187
|
"blockchain"
|
|
188
188
|
],
|
|
189
|
-
"gitHead": "
|
|
189
|
+
"gitHead": "82246a04c97c4586dc491427b8fa58b6dff56ff3"
|
|
190
190
|
}
|
package/src/sync/unknownBlock.ts
CHANGED
|
@@ -481,7 +481,7 @@ export class BlockInputSync {
|
|
|
481
481
|
* From a set of shuffled peers:
|
|
482
482
|
* - fetch the block
|
|
483
483
|
* - from deneb, fetch all missing blobs
|
|
484
|
-
* - from peerDAS, fetch sampled
|
|
484
|
+
* - from peerDAS, fetch sampled columns
|
|
485
485
|
* TODO: this means we only have block root, and nothing else. Consider to reflect this in the function name
|
|
486
486
|
* prefulu, will attempt a max of `MAX_ATTEMPTS_PER_BLOCK` on different peers, postfulu we may attempt more as defined in `getMaxDownloadAttempts()` function
|
|
487
487
|
* Also verifies the received block root + returns the peer that provided the block for future downscoring.
|
|
@@ -489,10 +489,7 @@ export class BlockInputSync {
|
|
|
489
489
|
private async fetchBlockInput(cacheItem: BlockInputSyncCacheItem): Promise<PendingBlockInput> {
|
|
490
490
|
const rootHex = getBlockInputSyncCacheItemRootHex(cacheItem);
|
|
491
491
|
const excludedPeers = new Set<PeerIdStr>();
|
|
492
|
-
const defaultPendingColumns =
|
|
493
|
-
this.config.getForkSeq(this.chain.clock.currentSlot) >= ForkSeq.fulu
|
|
494
|
-
? new Set(this.network.custodyConfig.sampledColumns)
|
|
495
|
-
: null;
|
|
492
|
+
const defaultPendingColumns = new Set(this.network.custodyConfig.sampledColumns);
|
|
496
493
|
|
|
497
494
|
const fetchStartSec = Date.now() / 1000;
|
|
498
495
|
let slot = isPendingBlockInput(cacheItem) ? cacheItem.blockInput.slot : undefined;
|
|
@@ -506,14 +503,10 @@ export class BlockInputSync {
|
|
|
506
503
|
isPendingBlockInput(cacheItem) && isBlockInputColumns(cacheItem.blockInput)
|
|
507
504
|
? new Set(cacheItem.blockInput.getMissingSampledColumnMeta().missing)
|
|
508
505
|
: defaultPendingColumns;
|
|
509
|
-
// pendingDataColumns is null pre-fulu
|
|
510
506
|
const peerMeta = this.peerBalancer.bestPeerForPendingColumns(pendingColumns, excludedPeers);
|
|
511
507
|
if (peerMeta === null) {
|
|
512
508
|
// no more peer with needed columns to try, throw error
|
|
513
|
-
|
|
514
|
-
if (pendingColumns) {
|
|
515
|
-
message += ` with needed columns=${prettyPrintIndices(Array.from(pendingColumns))}`;
|
|
516
|
-
}
|
|
509
|
+
const message = `Error fetching UnknownBlockRoot slot=${slot} root=${rootHex} after ${i}: cannot find peer with needed columns=${prettyPrintIndices(Array.from(pendingColumns))}`;
|
|
517
510
|
this.metrics?.blockInputSync.fetchTimeSec.observe(
|
|
518
511
|
{result: FetchResult.FailureTriedAllPeers},
|
|
519
512
|
Date.now() / 1000 - fetchStartSec
|
|
@@ -650,7 +643,7 @@ export class BlockInputSync {
|
|
|
650
643
|
// TODO(fulu): why is this commented out here?
|
|
651
644
|
//
|
|
652
645
|
// this.knownBadBlocks.add(block.blockRootHex);
|
|
653
|
-
// for (const peerIdStr of block.
|
|
646
|
+
// for (const peerIdStr of block.peerIdStrings) {
|
|
654
647
|
// // TODO: Refactor peerRpcScores to work with peerIdStr only
|
|
655
648
|
// this.network.reportPeer(peerIdStr, PeerAction.LowToleranceError, "BadBlockByRoot");
|
|
656
649
|
// }
|
|
@@ -729,11 +722,11 @@ export class UnknownBlockPeerBalancer {
|
|
|
729
722
|
}
|
|
730
723
|
|
|
731
724
|
/**
|
|
732
|
-
* called from
|
|
725
|
+
* called from fetchBlockInput() where we only have block root and nothing else
|
|
733
726
|
* excludedPeers are the peers that we requested already so we don't want to try again
|
|
734
727
|
* pendingColumns is empty for prefulu, or the 1st time we we download a block by root
|
|
735
728
|
*/
|
|
736
|
-
bestPeerForPendingColumns(pendingColumns: Set<number
|
|
729
|
+
bestPeerForPendingColumns(pendingColumns: Set<number>, excludedPeers: Set<PeerIdStr>): PeerSyncMeta | null {
|
|
737
730
|
const eligiblePeers = this.filterPeers(pendingColumns, excludedPeers);
|
|
738
731
|
if (eligiblePeers.length === 0) {
|
|
739
732
|
return null;
|
|
@@ -750,37 +743,6 @@ export class UnknownBlockPeerBalancer {
|
|
|
750
743
|
return this.peersMeta.get(bestPeerId) ?? null;
|
|
751
744
|
}
|
|
752
745
|
|
|
753
|
-
/**
|
|
754
|
-
* called from fetchUnavailableBlockInput() where we have either BlockInput or NullBlockInput
|
|
755
|
-
* excludedPeers are the peers that we requested already so we don't want to try again
|
|
756
|
-
*/
|
|
757
|
-
bestPeerForBlockInput(blockInput: IBlockInput, excludedPeers: Set<PeerIdStr>): PeerSyncMeta | null {
|
|
758
|
-
const eligiblePeers: PeerIdStr[] = [];
|
|
759
|
-
|
|
760
|
-
if (isBlockInputColumns(blockInput)) {
|
|
761
|
-
const pendingDataColumns: Set<number> = new Set(blockInput.getMissingSampledColumnMeta().missing);
|
|
762
|
-
// there could be no pending column in case when block is still missing
|
|
763
|
-
eligiblePeers.push(...this.filterPeers(pendingDataColumns, excludedPeers));
|
|
764
|
-
} else {
|
|
765
|
-
// prefulu
|
|
766
|
-
eligiblePeers.push(...this.filterPeers(null, excludedPeers));
|
|
767
|
-
}
|
|
768
|
-
|
|
769
|
-
if (eligiblePeers.length === 0) {
|
|
770
|
-
return null;
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
const sortedEligiblePeers = sortBy(
|
|
774
|
-
shuffle(eligiblePeers),
|
|
775
|
-
// prefer peers with least active req
|
|
776
|
-
(peerId) => this.activeRequests.get(peerId) ?? 0
|
|
777
|
-
);
|
|
778
|
-
|
|
779
|
-
const bestPeerId = sortedEligiblePeers[0];
|
|
780
|
-
this.onRequest(bestPeerId);
|
|
781
|
-
return this.peersMeta.get(bestPeerId) ?? null;
|
|
782
|
-
}
|
|
783
|
-
|
|
784
746
|
/**
|
|
785
747
|
* Consumers don't need to call this method directly, it is called internally by bestPeer*() methods
|
|
786
748
|
* make this public for testing
|
|
@@ -804,8 +766,7 @@ export class UnknownBlockPeerBalancer {
|
|
|
804
766
|
return totalActiveRequests;
|
|
805
767
|
}
|
|
806
768
|
|
|
807
|
-
|
|
808
|
-
private filterPeers(pendingDataColumns: Set<number> | null, excludedPeers: Set<PeerIdStr>): PeerIdStr[] {
|
|
769
|
+
private filterPeers(pendingDataColumns: Set<number>, excludedPeers: Set<PeerIdStr>): PeerIdStr[] {
|
|
809
770
|
let maxColumnCount = 0;
|
|
810
771
|
const considerPeers: {peerId: PeerIdStr; columnCount: number}[] = [];
|
|
811
772
|
for (const [peerId, syncMeta] of this.peersMeta.entries()) {
|
|
@@ -820,13 +781,12 @@ export class UnknownBlockPeerBalancer {
|
|
|
820
781
|
continue;
|
|
821
782
|
}
|
|
822
783
|
|
|
823
|
-
if (pendingDataColumns
|
|
824
|
-
// prefulu, no pending columns
|
|
784
|
+
if (pendingDataColumns.size === 0) {
|
|
825
785
|
considerPeers.push({peerId, columnCount: 0});
|
|
826
786
|
continue;
|
|
827
787
|
}
|
|
828
788
|
|
|
829
|
-
//
|
|
789
|
+
// find peers that have custody columns that we need
|
|
830
790
|
const {custodyColumns: peerColumns} = syncMeta;
|
|
831
791
|
// check if the peer has all needed columns
|
|
832
792
|
// get match
|