@lodestar/beacon-node 1.32.0-dev.335a428aa9 → 1.32.0-dev.4a12abd772

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.
Files changed (97) hide show
  1. package/lib/api/impl/validator/index.js +43 -29
  2. package/lib/api/impl/validator/index.js.map +1 -1
  3. package/lib/chain/archiveStore/historicalState/metrics.js +8 -0
  4. package/lib/chain/archiveStore/historicalState/metrics.js.map +1 -1
  5. package/lib/chain/blocks/verifyBlocksDataAvailability.js +1 -1
  6. package/lib/chain/blocks/verifyBlocksDataAvailability.js.map +1 -1
  7. package/lib/chain/chain.d.ts +4 -4
  8. package/lib/chain/chain.js +9 -2
  9. package/lib/chain/chain.js.map +1 -1
  10. package/lib/chain/interface.d.ts +2 -2
  11. package/lib/chain/options.d.ts +0 -2
  12. package/lib/chain/options.js.map +1 -1
  13. package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -1
  14. package/lib/chain/produceBlock/produceBlockBody.js +141 -108
  15. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  16. package/lib/chain/validation/blobSidecar.d.ts +1 -1
  17. package/lib/chain/validation/blobSidecar.js +6 -6
  18. package/lib/chain/validation/blobSidecar.js.map +1 -1
  19. package/lib/execution/engine/mock.js +3 -3
  20. package/lib/execution/engine/mock.js.map +1 -1
  21. package/lib/metrics/metrics/beacon.d.ts +3 -0
  22. package/lib/metrics/metrics/beacon.js +13 -0
  23. package/lib/metrics/metrics/beacon.js.map +1 -1
  24. package/lib/network/core/networkCore.d.ts +4 -4
  25. package/lib/network/core/networkCore.js +45 -43
  26. package/lib/network/core/networkCore.js.map +1 -1
  27. package/lib/network/core/types.d.ts +4 -0
  28. package/lib/network/discv5/index.d.ts +1 -0
  29. package/lib/network/discv5/index.js +1 -0
  30. package/lib/network/discv5/index.js.map +1 -1
  31. package/lib/network/discv5/types.d.ts +1 -0
  32. package/lib/network/discv5/utils.d.ts +3 -1
  33. package/lib/network/discv5/utils.js +12 -2
  34. package/lib/network/discv5/utils.js.map +1 -1
  35. package/lib/network/discv5/worker.js +5 -1
  36. package/lib/network/discv5/worker.js.map +1 -1
  37. package/lib/network/forks.d.ts +2 -0
  38. package/lib/network/forks.js +4 -0
  39. package/lib/network/forks.js.map +1 -1
  40. package/lib/network/gossip/encoding.js +1 -1
  41. package/lib/network/gossip/encoding.js.map +1 -1
  42. package/lib/network/gossip/gossipsub.js +6 -4
  43. package/lib/network/gossip/gossipsub.js.map +1 -1
  44. package/lib/network/gossip/interface.d.ts +2 -2
  45. package/lib/network/gossip/scoringParameters.js +10 -10
  46. package/lib/network/gossip/scoringParameters.js.map +1 -1
  47. package/lib/network/gossip/topic.d.ts +2059 -1512
  48. package/lib/network/gossip/topic.js +13 -12
  49. package/lib/network/gossip/topic.js.map +1 -1
  50. package/lib/network/network.js +40 -28
  51. package/lib/network/network.js.map +1 -1
  52. package/lib/network/peers/discover.d.ts +2 -0
  53. package/lib/network/peers/discover.js +1 -0
  54. package/lib/network/peers/discover.js.map +1 -1
  55. package/lib/network/processor/gossipHandlers.js +4 -4
  56. package/lib/network/processor/gossipHandlers.js.map +1 -1
  57. package/lib/network/processor/gossipQueues/index.js +1 -1
  58. package/lib/network/processor/gossipQueues/index.js.map +1 -1
  59. package/lib/network/processor/index.js +2 -2
  60. package/lib/network/processor/index.js.map +1 -1
  61. package/lib/network/reqresp/ReqRespBeaconNode.d.ts +3 -3
  62. package/lib/network/reqresp/ReqRespBeaconNode.js +9 -8
  63. package/lib/network/reqresp/ReqRespBeaconNode.js.map +1 -1
  64. package/lib/network/reqresp/handlers/beaconBlocksByRange.js +2 -2
  65. package/lib/network/reqresp/handlers/beaconBlocksByRange.js.map +1 -1
  66. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js +1 -1
  67. package/lib/network/reqresp/handlers/beaconBlocksByRoot.js.map +1 -1
  68. package/lib/network/reqresp/handlers/blobSidecarsByRange.js +1 -1
  69. package/lib/network/reqresp/handlers/blobSidecarsByRange.js.map +1 -1
  70. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js +1 -1
  71. package/lib/network/reqresp/handlers/blobSidecarsByRoot.js.map +1 -1
  72. package/lib/network/reqresp/handlers/lightClientBootstrap.js +1 -1
  73. package/lib/network/reqresp/handlers/lightClientBootstrap.js.map +1 -1
  74. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js +1 -1
  75. package/lib/network/reqresp/handlers/lightClientFinalityUpdate.js.map +1 -1
  76. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js +1 -1
  77. package/lib/network/reqresp/handlers/lightClientOptimisticUpdate.js.map +1 -1
  78. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js +1 -1
  79. package/lib/network/reqresp/handlers/lightClientUpdatesByRange.js.map +1 -1
  80. package/lib/network/reqresp/handlers/status.js +1 -1
  81. package/lib/network/reqresp/handlers/status.js.map +1 -1
  82. package/lib/network/subnets/attnetsService.d.ts +3 -3
  83. package/lib/network/subnets/attnetsService.js +17 -17
  84. package/lib/network/subnets/attnetsService.js.map +1 -1
  85. package/lib/network/subnets/interface.d.ts +3 -3
  86. package/lib/network/subnets/syncnetsService.d.ts +3 -3
  87. package/lib/network/subnets/syncnetsService.js +13 -13
  88. package/lib/network/subnets/syncnetsService.js.map +1 -1
  89. package/lib/network/subscribeBoundary.d.ts +5 -0
  90. package/lib/network/subscribeBoundary.js +4 -0
  91. package/lib/network/subscribeBoundary.js.map +1 -0
  92. package/lib/node/nodejs.js +0 -6
  93. package/lib/node/nodejs.js.map +1 -1
  94. package/lib/util/kzg.d.ts +2 -34
  95. package/lib/util/kzg.js +2 -123
  96. package/lib/util/kzg.js.map +1 -1
  97. package/package.json +15 -15
@@ -1,8 +1,8 @@
1
1
  import { BeaconConfig } from "@lodestar/config";
2
- import { ForkName } from "@lodestar/params";
3
2
  import { Logger } from "@lodestar/utils";
4
3
  import { IClock } from "../../util/clock.js";
5
4
  import { NetworkCoreMetrics } from "../core/metrics.js";
5
+ import { SubscribeBoundary } from "../core/types.js";
6
6
  import { MetadataController } from "../metadata.js";
7
7
  import { RequestedSubnet } from "../peers/utils/index.js";
8
8
  import { CommitteeSubscription, GossipSubscriber, SubnetsService, SubnetsServiceOpts } from "./interface.js";
@@ -37,9 +37,9 @@ export declare class SyncnetsService implements SubnetsService {
37
37
  */
38
38
  addCommitteeSubscriptions(subscriptions: CommitteeSubscription[]): void;
39
39
  /** Call ONLY ONCE: Two epoch before the fork, re-subscribe all existing random subscriptions to the new fork */
40
- subscribeSubnetsToNextFork(nextFork: ForkName): void;
40
+ subscribeSubnetsAfterBoundary(boundary: SubscribeBoundary): void;
41
41
  /** Call ONLY ONCE: Two epochs after the fork, un-subscribe all subnets from the old fork */
42
- unsubscribeSubnetsFromPrevFork(prevFork: ForkName): void;
42
+ unsubscribeSubnetsBeforeBoundary(boundary: SubscribeBoundary): void;
43
43
  /**
44
44
  * Run per epoch, clean-up operations that are not urgent
45
45
  */
@@ -2,7 +2,7 @@ import { SYNC_COMMITTEE_SUBNET_COUNT } from "@lodestar/params";
2
2
  import { computeStartSlotAtEpoch } from "@lodestar/state-transition";
3
3
  import { ssz } from "@lodestar/types";
4
4
  import { ClockEvent } from "../../util/clock.js";
5
- import { getActiveForks } from "../forks.js";
5
+ import { getActiveSubscribeBoundaries } from "../forks.js";
6
6
  import { GossipType } from "../gossip/index.js";
7
7
  import { SubnetMap } from "../peers/utils/index.js";
8
8
  const gossipType = GossipType.sync_committee;
@@ -70,18 +70,18 @@ export class SyncnetsService {
70
70
  this.updateMetadata();
71
71
  }
72
72
  /** Call ONLY ONCE: Two epoch before the fork, re-subscribe all existing random subscriptions to the new fork */
73
- subscribeSubnetsToNextFork(nextFork) {
74
- this.logger.info("Subscribing to random attnets to next fork", { nextFork });
73
+ subscribeSubnetsAfterBoundary(boundary) {
74
+ this.logger.info("Subscribing to random attnets after boundary", boundary);
75
75
  for (const subnet of this.subscriptionsCommittee.getAll()) {
76
- this.gossip.subscribeTopic({ type: gossipType, fork: nextFork, subnet });
76
+ this.gossip.subscribeTopic({ type: gossipType, boundary: { fork: boundary.fork }, subnet });
77
77
  }
78
78
  }
79
79
  /** Call ONLY ONCE: Two epochs after the fork, un-subscribe all subnets from the old fork */
80
- unsubscribeSubnetsFromPrevFork(prevFork) {
81
- this.logger.info("Unsubscribing to random attnets from prev fork", { prevFork });
80
+ unsubscribeSubnetsBeforeBoundary(boundary) {
81
+ this.logger.info("Unsubscribing to random attnets before boundary", boundary);
82
82
  for (let subnet = 0; subnet < SYNC_COMMITTEE_SUBNET_COUNT; subnet++) {
83
83
  if (!this.opts?.subscribeAllSubnets) {
84
- this.gossip.unsubscribeTopic({ type: gossipType, fork: prevFork, subnet });
84
+ this.gossip.unsubscribeTopic({ type: gossipType, boundary: { fork: boundary.fork }, subnet });
85
85
  }
86
86
  }
87
87
  }
@@ -98,11 +98,11 @@ export class SyncnetsService {
98
98
  }
99
99
  /** Tigger a gossip subcription only if not already subscribed */
100
100
  subscribeToSubnets(subnets) {
101
- const forks = getActiveForks(this.config, this.clock.currentEpoch);
101
+ const boundaries = getActiveSubscribeBoundaries(this.config, this.clock.currentEpoch);
102
102
  for (const subnet of subnets) {
103
103
  if (!this.subscriptionsCommittee.has(subnet)) {
104
- for (const fork of forks) {
105
- this.gossip.subscribeTopic({ type: gossipType, fork, subnet });
104
+ for (const boundary of boundaries) {
105
+ this.gossip.subscribeTopic({ type: gossipType, boundary, subnet });
106
106
  }
107
107
  this.metrics?.syncnetsService.subscribeSubnets.inc({ subnet });
108
108
  }
@@ -110,12 +110,12 @@ export class SyncnetsService {
110
110
  }
111
111
  /** Trigger a gossip un-subscrition only if no-one is still subscribed */
112
112
  unsubscribeSubnets(subnets) {
113
- const forks = getActiveForks(this.config, this.clock.currentEpoch);
113
+ const boundaries = getActiveSubscribeBoundaries(this.config, this.clock.currentEpoch);
114
114
  for (const subnet of subnets) {
115
115
  // No need to check if active in subscriptionsCommittee since we only have a single SubnetMap
116
116
  if (!this.opts?.subscribeAllSubnets) {
117
- for (const fork of forks) {
118
- this.gossip.unsubscribeTopic({ type: gossipType, fork, subnet });
117
+ for (const boundary of boundaries) {
118
+ this.gossip.unsubscribeTopic({ type: gossipType, boundary, subnet });
119
119
  }
120
120
  this.metrics?.syncnetsService.unsubscribeSubnets.inc({ subnet });
121
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"syncnetsService.js","sourceRoot":"","sources":["../../../src/network/subnets/syncnetsService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncnetsService.js","sourceRoot":"","sources":["../../../src/network/subnets/syncnetsService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { BeaconConfig } from "@lodestar/config";
2
+ import { Epoch } from "@lodestar/types";
3
+ import { SubscribeBoundary } from "./core/types.js";
4
+ export declare function getSubscribeBoundary(config: BeaconConfig, epoch: Epoch): SubscribeBoundary;
5
+ //# sourceMappingURL=subscribeBoundary.d.ts.map
@@ -0,0 +1,4 @@
1
+ export function getSubscribeBoundary(config, epoch) {
2
+ return { fork: config.getForkInfoAtEpoch(epoch).name };
3
+ }
4
+ //# sourceMappingURL=subscribeBoundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribeBoundary.js","sourceRoot":"","sources":["../../src/network/subscribeBoundary.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,oBAAoB,CAAC,MAAoB,EAAE,KAAY;IACrE,OAAO,EAAC,IAAI,EAAE,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAC,CAAC;AACvD,CAAC"}
@@ -12,7 +12,6 @@ import { Network, getReqRespHandlers } from "../network/index.js";
12
12
  import { BackfillSync } from "../sync/backfill/index.js";
13
13
  import { BeaconSync } from "../sync/index.js";
14
14
  import { Clock } from "../util/clock.js";
15
- import { TrustedFileMode, initCKZG, loadEthereumTrustedSetup } from "../util/kzg.js";
16
15
  import { runNodeNotifier } from "./notifier.js";
17
16
  export * from "./options.js";
18
17
  export var BeaconNodeStatus;
@@ -76,11 +75,6 @@ export class BeaconNode {
76
75
  // Since it is perfectly fine to have listeners > 10
77
76
  setMaxListeners(Infinity, controller.signal);
78
77
  const signal = controller.signal;
79
- // If deneb is configured, load the trusted setup
80
- if (config.DENEB_FORK_EPOCH < Infinity) {
81
- await initCKZG();
82
- loadEthereumTrustedSetup(TrustedFileMode.Txt, opts.chain.trustedSetup);
83
- }
84
78
  let metrics = null;
85
79
  if (opts.metrics.enabled ||
86
80
  // monitoring relies on metrics data
@@ -1 +1 @@
1
- {"version":3,"file":"nodejs.js","sourceRoot":"","sources":["../../src/node/nodejs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAOzD,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAGtC,OAAO,EAAC,mBAAmB,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAgB,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAmB,sBAAsB,EAAC,MAAM,8BAA8B,CAAC;AAEtF,OAAO,EAAC,gCAAgC,EAAC,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAC,0BAA0B,EAAE,yBAAyB,EAAC,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAA6B,aAAa,EAAE,oBAAoB,EAAC,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,OAAO,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,UAAU,EAAc,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,eAAe,EAAE,QAAQ,EAAE,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAG9C,cAAc,cAAc,CAAC;AAiC7B,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,uCAAmB,CAAA;IACnB,qCAAiB,CAAA;AACnB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,IAAK,YAaJ;AAbD,WAAK,YAAY;IACf,2BAAW,CAAA;IACX,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,6BAAa,CAAA;IACb,uCAAuB,CAAA;IACvB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;IACzB,mCAAmB,CAAA;IACnB,wBAAwB;IACxB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,6BAAa,CAAA;AACf,CAAC,EAbI,YAAY,KAAZ,YAAY,QAahB;AAED;;;GAGG;AACH,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC;;;GAGG;AACH,MAAM,OAAO,UAAU;IAkBrB,YAAY,EACV,IAAI,EACJ,MAAM,EACN,EAAE,EACF,OAAO,EACP,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,OAAO,EACP,KAAK,EACL,GAAG,EACH,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,UAAU,GACQ;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAoC,EACnD,IAAI,EACJ,MAAM,EACN,EAAE,EACF,MAAM,EACN,uBAAuB,EACvB,UAAU,EACV,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,iBAAiB,GAAG,EAAE,GACA;QACtB,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,2CAA2C,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,8FAA8F;QAC9F,oDAAoD;QACpD,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAEjC,iDAAiD;QACjD,IAAI,MAAM,CAAC,gBAAgB,GAAG,QAAQ,EAAE,CAAC;YACvC,MAAM,QAAQ,EAAE,CAAC;YACjB,wBAAwB,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IACE,IAAI,CAAC,OAAO,CAAC,OAAO;YACpB,oCAAoC;YACpC,IAAI,CAAC,UAAU,CAAC,QAAQ,EACxB,CAAC;YACD,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;YAClF,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACxC,yFAAyF;YACzF,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1B,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,gBAAgB,GACpB,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,oBAAoB;YAChE,CAAC,CAAC,sBAAsB,CACpB,OAAO,EAAE,QAAQ,IAAI,IAAI,EACzB,MAAM,EACN,WAAW,CAAC,WAAW,EACvB,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAC,CAAC,EACzC,IAAI,CAAC,gBAAgB,CACtB;YACH,CAAC,CAAC,IAAI,CAAC;QAEX,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,EAAC,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,MAAM,EAAC,CAAC,CAAC;QAEhF,qBAAqB;QACrB,qCAAqC;QACrC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;QAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ;YACzC,CAAC,CAAC,IAAI,iBAAiB,CACnB,QAAQ,EACR,EAAC,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAC,EACxD,EAAC,QAAQ,EAAG,OAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,YAAY,CAAC,UAAU,EAAC,CAAC,EAAC,CACnG;YACH,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE;YACxC,MAAM;YACN,KAAK;YACL,OAAO;YACP,EAAE;YACF,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;YACpB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAC,CAAC;YAClD,uBAAuB;YACvB,OAAO;YACP,gBAAgB;YAChB,WAAW;YACX,IAAI,EAAE,gCAAgC,CAAC,IAAI,CAAC,IAAI,EAAE;gBAChD,MAAM;gBACN,EAAE;gBACF,OAAO;gBACP,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAC,CAAC;gBACjD,MAAM;aACP,CAAC;YACF,eAAe,EAAE,yBAAyB,CAAC,IAAI,CAAC,eAAe,EAAE;gBAC/D,OAAO;gBACP,MAAM;gBACN,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAC,CAAC;aACvD,CAAC;YACF,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO;gBAC7C,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;gBAC5E,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,oDAAoD;QACpD,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAEnB,kDAAkD;QAClD,wDAAwD;QACxD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YACjC,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,YAAY,CAAC,OAAO,EAAC,CAAC;YACpD,OAAO;YACP,KAAK;YACL,EAAE;YACF,UAAU;YACV,YAAY;YACZ,iBAAiB,EAAE,kBAAkB,CAAC,EAAC,EAAE,EAAE,KAAK,EAAC,CAAC;SACnD,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;YACrC,MAAM;YACN,EAAE;YACF,KAAK;YACL,OAAO;YACP,OAAO;YACP,YAAY;YACZ,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAC,CAAC;SAClD,CAAC,CAAC;QAEH,MAAM,YAAY,GAChB,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC;YAC7B,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACjC,MAAM;gBACN,EAAE;gBACF,KAAK;gBACL,OAAO;gBACP,OAAO;gBACP,YAAY;gBACZ,WAAW;gBACX,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAC,CAAC;gBACrD,MAAM;aACP,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QAEX,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YAC3B,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,YAAY,CAAC,GAAG,EAAC,CAAC;YAChD,EAAE;YACF,IAAI;YACJ,OAAO;YACP,KAAK;YACL,OAAO;SACR,CAAC,CAAC;QAEH,sDAAsD;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;YACxC,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE;gBACvC,QAAQ,EAAG,OAAmB,CAAC,QAAQ;gBACvC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;gBACvG,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,YAAY,CAAC,OAAO,EAAC,CAAC;aACrD,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YACrD,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAC,MAAM,EAAE,YAAY,CAAC,IAAI,EAAC,CAAC;YACjD,GAAG;YACH,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;SAC1C,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC;QAED,KAAK,eAAe,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;QAErE,OAAO,IAAI,UAAU,CAAC;YACpB,IAAI;YACJ,MAAM;YACN,EAAE;YACF,OAAO;YACP,aAAa;YACb,UAAU;YACV,gBAAgB;YAChB,OAAO;YACP,KAAK;YACL,GAAG;YACH,OAAO;YACP,IAAI;YACJ,YAAY;YACZ,UAAU;SACX,CAAM,CAAC;IACV,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACzD,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC7C,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;QACxC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"nodejs.js","sourceRoot":"","sources":["../../src/node/nodejs.ts"],"names":[],"mappings":"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"}
package/lib/util/kzg.d.ts CHANGED
@@ -1,35 +1,3 @@
1
- export declare const FIELD_ELEMENTS_PER_BLOB_MAINNET = 4096;
2
- export declare let ckzg: {
3
- freeTrustedSetup(): void;
4
- loadTrustedSetup(filePath: string): void;
5
- blobToKzgCommitment(blob: Uint8Array): Uint8Array;
6
- computeBlobKzgProof(blob: Uint8Array, commitment: Uint8Array): Uint8Array;
7
- verifyBlobKzgProof(blob: Uint8Array, commitment: Uint8Array, proof: Uint8Array): boolean;
8
- verifyBlobKzgProofBatch(blobs: Uint8Array[], expectedKzgCommitments: Uint8Array[], kzgProofs: Uint8Array[]): boolean;
9
- };
10
- export declare const TRUSTED_SETUP_BIN_FILEPATH: string;
11
- export declare function initCKZG(): Promise<void>;
12
- export declare enum TrustedFileMode {
13
- Bin = "bin",
14
- Txt = "txt"
15
- }
16
- /**
17
- * Load our KZG trusted setup into C-KZG for later use.
18
- * We persist the trusted setup as serialized bytes to save space over TXT or JSON formats.
19
- * However the current c-kzg API **requires** to read from a file with a specific .txt format
20
- */
21
- export declare function loadEthereumTrustedSetup(mode?: TrustedFileMode, filePath?: string): void;
22
- export interface TrustedSetupJSON {
23
- setup_G1: string[];
24
- setup_G2: string[];
25
- }
26
- type TrustedSetupBin = Uint8Array;
27
- type TrustedSetupTXT = string;
28
- /**
29
- * Custom format defined in https://github.com/ethereum/c-kzg-4844/issues/3
30
- */
31
- export declare function trustedSetupJsonToBin(data: TrustedSetupJSON): TrustedSetupBin;
32
- export declare function trustedSetupBinToJson(bytes: TrustedSetupBin): TrustedSetupJSON;
33
- export declare function trustedSetupJsonToTxt(data: TrustedSetupJSON): TrustedSetupTXT;
34
- export {};
1
+ import { DasContextJs } from "@crate-crypto/node-eth-kzg";
2
+ export declare const kzg: DasContextJs;
35
3
  //# sourceMappingURL=kzg.d.ts.map
package/lib/util/kzg.js CHANGED
@@ -1,124 +1,3 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
- import { fileURLToPath } from "node:url";
4
- import { fromHex, strip0xPrefix, toHex } from "@lodestar/utils";
5
- // "c-kzg" has hardcoded the mainnet value, do not use params
6
- export const FIELD_ELEMENTS_PER_BLOB_MAINNET = 4096;
7
- function ckzgNotLoaded() {
8
- throw Error("c-kzg library not loaded");
9
- }
10
- export let ckzg = {
11
- freeTrustedSetup: ckzgNotLoaded,
12
- loadTrustedSetup: ckzgNotLoaded,
13
- blobToKzgCommitment: ckzgNotLoaded,
14
- computeBlobKzgProof: ckzgNotLoaded,
15
- verifyBlobKzgProof: ckzgNotLoaded,
16
- verifyBlobKzgProofBatch: ckzgNotLoaded,
17
- };
18
- // Global variable __dirname no longer available in ES6 modules.
19
- // Solutions: https://stackoverflow.com/questions/46745014/alternative-for-dirname-in-node-js-when-using-es6-modules
20
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
21
- export const TRUSTED_SETUP_BIN_FILEPATH = path.join(__dirname, "../../trusted_setup.bin");
22
- const TRUSTED_SETUP_JSON_FILEPATH = path.join(__dirname, "../../trusted_setup.json");
23
- const TRUSTED_SETUP_TXT_FILEPATH = path.join(__dirname, "../../trusted_setup.txt");
24
- const POINT_COUNT_BYTES = 4;
25
- const G1POINT_BYTES = 48;
26
- const G2POINT_BYTES = 96;
27
- const G1POINT_COUNT = FIELD_ELEMENTS_PER_BLOB_MAINNET;
28
- const G2POINT_COUNT = 65;
29
- const TOTAL_SIZE = 2 * POINT_COUNT_BYTES + G1POINT_BYTES * G1POINT_COUNT + G2POINT_BYTES * G2POINT_COUNT;
30
- export async function initCKZG() {
31
- // @ts-ignore
32
- ckzg = (await import("c-kzg")).default;
33
- }
34
- export var TrustedFileMode;
35
- (function (TrustedFileMode) {
36
- TrustedFileMode["Bin"] = "bin";
37
- TrustedFileMode["Txt"] = "txt";
38
- })(TrustedFileMode || (TrustedFileMode = {}));
39
- /**
40
- * Load our KZG trusted setup into C-KZG for later use.
41
- * We persist the trusted setup as serialized bytes to save space over TXT or JSON formats.
42
- * However the current c-kzg API **requires** to read from a file with a specific .txt format
43
- */
44
- export function loadEthereumTrustedSetup(mode = TrustedFileMode.Txt, filePath) {
45
- try {
46
- let setupFilePath;
47
- if (mode === TrustedFileMode.Bin) {
48
- const binPath = filePath ?? TRUSTED_SETUP_BIN_FILEPATH;
49
- const bytes = fs.readFileSync(binPath);
50
- const json = trustedSetupBinToJson(bytes);
51
- const txt = trustedSetupJsonToTxt(json);
52
- fs.writeFileSync(TRUSTED_SETUP_TXT_FILEPATH, txt);
53
- setupFilePath = TRUSTED_SETUP_TXT_FILEPATH;
54
- }
55
- else {
56
- setupFilePath = filePath ?? TRUSTED_SETUP_TXT_FILEPATH;
57
- }
58
- try {
59
- // in unit tests, calling loadTrustedSetup() twice has error so we have to free and retry
60
- ckzg.loadTrustedSetup(setupFilePath);
61
- }
62
- catch (e) {
63
- if (e.message !== "Error trusted setup is already loaded") {
64
- throw e;
65
- }
66
- }
67
- }
68
- catch (e) {
69
- e.message = `Error loading trusted setup ${TRUSTED_SETUP_JSON_FILEPATH}: ${e.message}`;
70
- throw e;
71
- }
72
- }
73
- /**
74
- * Custom format defined in https://github.com/ethereum/c-kzg-4844/issues/3
75
- */
76
- export function trustedSetupJsonToBin(data) {
77
- const out = new Uint8Array(TOTAL_SIZE);
78
- const dv = new DataView(out.buffer, out.byteOffset, out.byteLength);
79
- dv.setUint32(0, G1POINT_COUNT);
80
- dv.setUint32(POINT_COUNT_BYTES, G2POINT_BYTES);
81
- for (let i = 0; i < G1POINT_COUNT; i++) {
82
- const point = fromHex(data.setup_G1[i]);
83
- if (point.length !== G1POINT_BYTES)
84
- throw Error(`g1 point size ${point.length} != ${G1POINT_BYTES}`);
85
- out.set(point, 2 * POINT_COUNT_BYTES + i * G1POINT_BYTES);
86
- }
87
- for (let i = 0; i < G2POINT_COUNT; i++) {
88
- const point = fromHex(data.setup_G2[i]);
89
- if (point.length !== G2POINT_BYTES)
90
- throw Error(`g2 point size ${point.length} != ${G2POINT_BYTES}`);
91
- out.set(point, 2 * POINT_COUNT_BYTES + G1POINT_COUNT * G1POINT_BYTES + i * G2POINT_BYTES);
92
- }
93
- return out;
94
- }
95
- export function trustedSetupBinToJson(bytes) {
96
- const data = {
97
- // biome-ignore lint/style/useNamingConvention: Need to be consistent with KZG pattern
98
- setup_G1: [],
99
- // biome-ignore lint/style/useNamingConvention: Need to be consistent with KZG pattern
100
- setup_G2: [],
101
- };
102
- if (bytes.length < TOTAL_SIZE) {
103
- throw Error(`trusted_setup size ${bytes.length} < ${TOTAL_SIZE}`);
104
- }
105
- for (let i = 0; i < G1POINT_COUNT; i++) {
106
- const start = 2 * POINT_COUNT_BYTES + i * G1POINT_BYTES;
107
- data.setup_G1.push(toHex(bytes.slice(start, start + G1POINT_BYTES)));
108
- }
109
- for (let i = 0; i < G2POINT_COUNT; i++) {
110
- const start = 2 * POINT_COUNT_BYTES + G1POINT_COUNT * G1POINT_BYTES + i * G2POINT_BYTES;
111
- data.setup_G1.push(toHex(bytes.slice(start, start + G2POINT_BYTES)));
112
- }
113
- return data;
114
- }
115
- export function trustedSetupJsonToTxt(data) {
116
- return [
117
- // ↵
118
- G1POINT_COUNT,
119
- G2POINT_COUNT,
120
- ...data.setup_G1.map(strip0xPrefix),
121
- ...data.setup_G2.map(strip0xPrefix),
122
- ].join("\n");
123
- }
1
+ import { DasContextJs } from "@crate-crypto/node-eth-kzg";
2
+ export const kzg = DasContextJs.create({ usePrecomp: true });
124
3
  //# sourceMappingURL=kzg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kzg.js","sourceRoot":"","sources":["../../src/util/kzg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kzg.js","sourceRoot":"","sources":["../../src/util/kzg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AAExD,MAAM,CAAC,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "bugs": {
12
12
  "url": "https://github.com/ChainSafe/lodestar/issues"
13
13
  },
14
- "version": "1.32.0-dev.335a428aa9",
14
+ "version": "1.32.0-dev.4a12abd772",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -103,6 +103,7 @@
103
103
  "@chainsafe/pubkey-index-map": "^3.0.0",
104
104
  "@chainsafe/ssz": "^1.2.1",
105
105
  "@chainsafe/threads": "^1.11.2",
106
+ "@crate-crypto/node-eth-kzg": "^0.7.1",
106
107
  "@ethersproject/abi": "^5.7.0",
107
108
  "@fastify/bearer-auth": "^10.0.1",
108
109
  "@fastify/cors": "^10.0.1",
@@ -117,20 +118,19 @@
117
118
  "@libp2p/peer-id": "^5.1.0",
118
119
  "@libp2p/prometheus-metrics": "^4.3.15",
119
120
  "@libp2p/tcp": "^10.1.8",
120
- "@lodestar/api": "1.32.0-dev.335a428aa9",
121
- "@lodestar/config": "1.32.0-dev.335a428aa9",
122
- "@lodestar/db": "1.32.0-dev.335a428aa9",
123
- "@lodestar/fork-choice": "1.32.0-dev.335a428aa9",
124
- "@lodestar/light-client": "1.32.0-dev.335a428aa9",
125
- "@lodestar/logger": "1.32.0-dev.335a428aa9",
126
- "@lodestar/params": "1.32.0-dev.335a428aa9",
127
- "@lodestar/reqresp": "1.32.0-dev.335a428aa9",
128
- "@lodestar/state-transition": "1.32.0-dev.335a428aa9",
129
- "@lodestar/types": "1.32.0-dev.335a428aa9",
130
- "@lodestar/utils": "1.32.0-dev.335a428aa9",
131
- "@lodestar/validator": "1.32.0-dev.335a428aa9",
121
+ "@lodestar/api": "1.32.0-dev.4a12abd772",
122
+ "@lodestar/config": "1.32.0-dev.4a12abd772",
123
+ "@lodestar/db": "1.32.0-dev.4a12abd772",
124
+ "@lodestar/fork-choice": "1.32.0-dev.4a12abd772",
125
+ "@lodestar/light-client": "1.32.0-dev.4a12abd772",
126
+ "@lodestar/logger": "1.32.0-dev.4a12abd772",
127
+ "@lodestar/params": "1.32.0-dev.4a12abd772",
128
+ "@lodestar/reqresp": "1.32.0-dev.4a12abd772",
129
+ "@lodestar/state-transition": "1.32.0-dev.4a12abd772",
130
+ "@lodestar/types": "1.32.0-dev.4a12abd772",
131
+ "@lodestar/utils": "1.32.0-dev.4a12abd772",
132
+ "@lodestar/validator": "1.32.0-dev.4a12abd772",
132
133
  "@multiformats/multiaddr": "^12.1.3",
133
- "c-kzg": "^2.1.2",
134
134
  "datastore-core": "^10.0.2",
135
135
  "datastore-level": "^11.0.1",
136
136
  "deepmerge": "^4.3.1",
@@ -165,5 +165,5 @@
165
165
  "beacon",
166
166
  "blockchain"
167
167
  ],
168
- "gitHead": "9650027a63395434475b29b25da097e0fe482869"
168
+ "gitHead": "33122289eb5e9b33450a89e9216090c513f94f82"
169
169
  }