@lodestar/beacon-node 1.21.0-dev.3fb0f5cc6c → 1.21.0-dev.3fb7f60609

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 (92) hide show
  1. package/lib/api/impl/api.js +1 -1
  2. package/lib/api/impl/api.js.map +1 -1
  3. package/lib/api/impl/beacon/state/utils.js +1 -1
  4. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  5. package/lib/api/impl/validator/index.d.ts +2 -1
  6. package/lib/api/impl/validator/index.js +6 -5
  7. package/lib/api/impl/validator/index.js.map +1 -1
  8. package/lib/api/options.d.ts +2 -0
  9. package/lib/api/options.js +1 -0
  10. package/lib/api/options.js.map +1 -1
  11. package/lib/chain/bls/interface.d.ts +1 -1
  12. package/lib/chain/bls/maybeBatch.d.ts +1 -1
  13. package/lib/chain/bls/maybeBatch.js +7 -8
  14. package/lib/chain/bls/maybeBatch.js.map +1 -1
  15. package/lib/chain/bls/multithread/index.d.ts +1 -2
  16. package/lib/chain/bls/multithread/index.js +4 -9
  17. package/lib/chain/bls/multithread/index.js.map +1 -1
  18. package/lib/chain/bls/multithread/jobItem.d.ts +2 -2
  19. package/lib/chain/bls/multithread/jobItem.js +12 -12
  20. package/lib/chain/bls/multithread/jobItem.js.map +1 -1
  21. package/lib/chain/bls/multithread/types.d.ts +0 -1
  22. package/lib/chain/bls/multithread/types.js.map +1 -1
  23. package/lib/chain/bls/multithread/worker.js +2 -3
  24. package/lib/chain/bls/multithread/worker.js.map +1 -1
  25. package/lib/chain/bls/singleThread.d.ts +1 -1
  26. package/lib/chain/bls/singleThread.js +6 -7
  27. package/lib/chain/bls/singleThread.js.map +1 -1
  28. package/lib/chain/bls/utils.d.ts +1 -1
  29. package/lib/chain/bls/utils.js +2 -2
  30. package/lib/chain/bls/utils.js.map +1 -1
  31. package/lib/chain/chain.d.ts +9 -1
  32. package/lib/chain/chain.js +47 -27
  33. package/lib/chain/chain.js.map +1 -1
  34. package/lib/chain/historicalState/getHistoricalState.d.ts +17 -0
  35. package/lib/chain/historicalState/getHistoricalState.js +73 -0
  36. package/lib/chain/historicalState/getHistoricalState.js.map +1 -0
  37. package/lib/chain/historicalState/index.d.ts +15 -0
  38. package/lib/chain/historicalState/index.js +50 -0
  39. package/lib/chain/historicalState/index.js.map +1 -0
  40. package/lib/chain/historicalState/types.d.ts +52 -0
  41. package/lib/chain/historicalState/types.js +7 -0
  42. package/lib/chain/historicalState/types.js.map +1 -0
  43. package/lib/chain/historicalState/worker.d.ts +2 -0
  44. package/lib/chain/historicalState/worker.js +198 -0
  45. package/lib/chain/historicalState/worker.js.map +1 -0
  46. package/lib/chain/interface.d.ts +5 -0
  47. package/lib/chain/opPools/aggregatedAttestationPool.js +2 -2
  48. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  49. package/lib/chain/opPools/attestationPool.js +3 -7
  50. package/lib/chain/opPools/attestationPool.js.map +1 -1
  51. package/lib/chain/opPools/syncCommitteeMessagePool.js +3 -4
  52. package/lib/chain/opPools/syncCommitteeMessagePool.js.map +1 -1
  53. package/lib/chain/opPools/syncContributionAndProofPool.js +2 -2
  54. package/lib/chain/opPools/syncContributionAndProofPool.js.map +1 -1
  55. package/lib/chain/opPools/utils.d.ts +1 -1
  56. package/lib/chain/opPools/utils.js +2 -3
  57. package/lib/chain/opPools/utils.js.map +1 -1
  58. package/lib/chain/validation/signatureSets/aggregateAndProof.d.ts +1 -1
  59. package/lib/chain/validation/signatureSets/selectionProof.d.ts +1 -1
  60. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +1 -1
  61. package/lib/eth1/provider/eth1Provider.js +2 -2
  62. package/lib/eth1/provider/eth1Provider.js.map +1 -1
  63. package/lib/execution/builder/http.js +2 -2
  64. package/lib/execution/builder/http.js.map +1 -1
  65. package/lib/execution/engine/http.d.ts +14 -2
  66. package/lib/execution/engine/http.js +29 -2
  67. package/lib/execution/engine/http.js.map +1 -1
  68. package/lib/execution/engine/index.js +3 -3
  69. package/lib/execution/engine/index.js.map +1 -1
  70. package/lib/execution/engine/interface.d.ts +26 -0
  71. package/lib/execution/engine/interface.js +20 -0
  72. package/lib/execution/engine/interface.js.map +1 -1
  73. package/lib/execution/engine/mock.d.ts +1 -0
  74. package/lib/execution/engine/mock.js +5 -1
  75. package/lib/execution/engine/mock.js.map +1 -1
  76. package/lib/execution/engine/types.d.ts +15 -0
  77. package/lib/execution/engine/types.js.map +1 -1
  78. package/lib/metrics/metrics/lodestar.d.ts +1 -1
  79. package/lib/metrics/metrics/lodestar.js +3 -3
  80. package/lib/metrics/metrics/lodestar.js.map +1 -1
  81. package/lib/metrics/server/http.d.ts +1 -1
  82. package/lib/metrics/server/http.js +3 -2
  83. package/lib/metrics/server/http.js.map +1 -1
  84. package/lib/node/nodejs.js +13 -1
  85. package/lib/node/nodejs.js.map +1 -1
  86. package/lib/util/graffiti.d.ts +4 -0
  87. package/lib/util/graffiti.js +12 -0
  88. package/lib/util/graffiti.js.map +1 -1
  89. package/lib/util/metadata.d.ts +6 -0
  90. package/lib/util/metadata.js +10 -0
  91. package/lib/util/metadata.js.map +1 -0
  92. package/package.json +15 -16
@@ -17,7 +17,7 @@ export function getApi(opts, modules) {
17
17
  lodestar: getLodestarApi(modules),
18
18
  node: getNodeApi(opts, modules),
19
19
  proof: getProofApi(opts, modules),
20
- validator: getValidatorApi(modules),
20
+ validator: getValidatorApi(opts, modules),
21
21
  };
22
22
  }
23
23
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/impl/api.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,MAAM,UAAU,MAAM,CAAC,IAAgB,EAAE,OAAmB;IAC1D,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;QAC7B,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;QAC7B,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC;QAC3B,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;QAC7B,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC;QACvC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;QAC/B,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;QACjC,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC;KACpC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api/impl/api.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,MAAM,UAAU,MAAM,CAAC,IAAgB,EAAE,OAAmB;IAC1D,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;QAC7B,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;QAC7B,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC;QAC3B,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;QAC7B,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC;QACvC,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC;QACjC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;QAC/B,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC;QACjC,SAAS,EAAE,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;KAC1C,CAAC;AACJ,CAAC"}
@@ -40,7 +40,7 @@ export async function getStateResponseWithRegen(chain, stateId) {
40
40
  ? await chain.getStateByStateRoot(rootOrSlot, { allowRegen: true })
41
41
  : rootOrSlot >= chain.forkChoice.getFinalizedBlock().slot
42
42
  ? await chain.getStateBySlot(rootOrSlot, { allowRegen: true })
43
- : null; // TODO implement historical state regen
43
+ : await chain.getHistoricalStateBySlot(rootOrSlot);
44
44
  if (!res) {
45
45
  throw new ApiError(404, `No state found for id '${stateId}'`);
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/api/impl/beacon/state/utils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { routes } from "@lodestar/api";
2
2
  import { ApplicationMethods } from "@lodestar/api/server";
3
3
  import { ApiModules } from "../types.js";
4
+ import { ApiOptions } from "../../options.js";
4
5
  /**
5
6
  * If the node is within this many epochs from the head, we declare it to be synced regardless of
6
7
  * the network sync state.
@@ -19,5 +20,5 @@ export declare const SYNC_TOLERANCE_EPOCHS = 1;
19
20
  * Server implementation for handling validator duties.
20
21
  * See `@lodestar/validator/src/api` for the client implementation).
21
22
  */
22
- export declare function getValidatorApi({ chain, config, logger, metrics, network, sync, }: ApiModules): ApplicationMethods<routes.validator.Endpoints>;
23
+ export declare function getValidatorApi(opts: ApiOptions, { chain, config, logger, metrics, network, sync }: ApiModules): ApplicationMethods<routes.validator.Endpoints>;
23
24
  //# sourceMappingURL=index.d.ts.map
@@ -10,7 +10,7 @@ import { validateApiAggregateAndProof } from "../../../chain/validation/index.js
10
10
  import { ZERO_HASH } from "../../../constants/index.js";
11
11
  import { SyncState } from "../../../sync/index.js";
12
12
  import { isOptimisticBlock } from "../../../util/forkChoice.js";
13
- import { toGraffitiBuffer } from "../../../util/graffiti.js";
13
+ import { getDefaultGraffiti, toGraffitiBuffer } from "../../../util/graffiti.js";
14
14
  import { ApiError, NodeIsSyncing, OnlySupportedByDVT } from "../errors.js";
15
15
  import { validateSyncCommitteeGossipContributionAndProof } from "../../../chain/validation/syncCommitteeContributionAndProof.js";
16
16
  import { RegenCaller } from "../../../chain/regen/index.js";
@@ -18,6 +18,7 @@ import { getValidatorStatus } from "../beacon/state/utils.js";
18
18
  import { validateGossipFnRetryUnknownRoot } from "../../../network/processor/gossipHandlers.js";
19
19
  import { SCHEDULER_LOOKAHEAD_FACTOR } from "../../../chain/prepareNextSlot.js";
20
20
  import { ChainEvent } from "../../../chain/index.js";
21
+ import { getLodestarClientVersion } from "../../../util/metadata.js";
21
22
  import { computeSubnetForCommitteesAtSlot, getPubkeysForIndices, selectBlockProductionSource } from "./utils.js";
22
23
  /**
23
24
  * If the node is within this many epochs from the head, we declare it to be synced regardless of
@@ -48,7 +49,7 @@ const BLOCK_PRODUCTION_RACE_TIMEOUT_MS = 12_000;
48
49
  * Server implementation for handling validator duties.
49
50
  * See `@lodestar/validator/src/api` for the client implementation).
50
51
  */
51
- export function getValidatorApi({ chain, config, logger, metrics, network, sync, }) {
52
+ export function getValidatorApi(opts, { chain, config, logger, metrics, network, sync }) {
52
53
  let genesisBlockRoot = null;
53
54
  /**
54
55
  * Validator clock may be advanced from beacon's clock. If the validator requests a resource in a
@@ -285,7 +286,7 @@ export function getValidatorApi({ chain, config, logger, metrics, network, sync,
285
286
  slot,
286
287
  parentBlockRoot,
287
288
  randaoReveal,
288
- graffiti: toGraffitiBuffer(graffiti || ""),
289
+ graffiti: toGraffitiBuffer(graffiti ?? getDefaultGraffiti(getLodestarClientVersion(opts), chain.executionEngine.clientVersion, opts)),
289
290
  commonBlockBody,
290
291
  });
291
292
  metrics?.blockProductionSuccess.inc({ source });
@@ -330,7 +331,7 @@ export function getValidatorApi({ chain, config, logger, metrics, network, sync,
330
331
  slot,
331
332
  parentBlockRoot,
332
333
  randaoReveal,
333
- graffiti: toGraffitiBuffer(graffiti || ""),
334
+ graffiti: toGraffitiBuffer(graffiti ?? getDefaultGraffiti(getLodestarClientVersion(opts), chain.executionEngine.clientVersion, opts)),
334
335
  feeRecipient,
335
336
  commonBlockBody,
336
337
  });
@@ -425,7 +426,7 @@ export function getValidatorApi({ chain, config, logger, metrics, network, sync,
425
426
  slot,
426
427
  parentBlockRoot,
427
428
  randaoReveal,
428
- graffiti: toGraffitiBuffer(graffiti || ""),
429
+ graffiti: toGraffitiBuffer(graffiti ?? getDefaultGraffiti(getLodestarClientVersion(opts), chain.executionEngine.clientVersion, opts)),
429
430
  });
430
431
  logger.debug("Produced common block body", loggerContext);
431
432
  logger.verbose("Block production race (builder vs execution) starting", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/impl/validator/index.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,9 @@ import { BeaconRestApiServerOpts } from "./rest/index.js";
2
2
  export type ApiOptions = {
3
3
  maxGindicesInProof?: number;
4
4
  rest: BeaconRestApiServerOpts;
5
+ commit?: string;
5
6
  version?: string;
7
+ private?: boolean;
6
8
  };
7
9
  export declare const defaultApiOptions: ApiOptions;
8
10
  //# sourceMappingURL=options.d.ts.map
@@ -3,5 +3,6 @@ export const defaultApiOptions = {
3
3
  maxGindicesInProof: 512,
4
4
  rest: beaconRestApiServerOpts,
5
5
  version: "dev",
6
+ private: false,
6
7
  };
7
8
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/api/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAA0B,MAAM,iBAAiB,CAAC;AAQjF,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,kBAAkB,EAAE,GAAG;IACvB,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,KAAK;CACf,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/api/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAA0B,MAAM,iBAAiB,CAAC;AAUjF,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,kBAAkB,EAAE,GAAG;IACvB,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;CACf,CAAC"}
@@ -1,4 +1,4 @@
1
- import { PublicKey } from "@chainsafe/bls/types";
1
+ import { PublicKey } from "@chainsafe/blst";
2
2
  import { ISignatureSet } from "@lodestar/state-transition";
3
3
  export type VerifySignatureOpts = {
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { PublicKey } from "@chainsafe/bls/types";
1
+ import { PublicKey } from "@chainsafe/blst";
2
2
  export type SignatureSetDeserialized = {
3
3
  publicKey: PublicKey;
4
4
  message: Uint8Array;
@@ -1,5 +1,4 @@
1
- import { CoordType } from "@chainsafe/bls/types";
2
- import bls from "@chainsafe/bls";
1
+ import { Signature, verify, verifyMultipleAggregateSignatures } from "@chainsafe/blst";
3
2
  const MIN_SET_COUNT_TO_BATCH = 2;
4
3
  /**
5
4
  * Verify signatures sets with batch verification or regular core verify depending on the set count.
@@ -8,11 +7,11 @@ const MIN_SET_COUNT_TO_BATCH = 2;
8
7
  export function verifySignatureSetsMaybeBatch(sets) {
9
8
  try {
10
9
  if (sets.length >= MIN_SET_COUNT_TO_BATCH) {
11
- return bls.Signature.verifyMultipleSignatures(sets.map((s) => ({
12
- publicKey: s.publicKey,
13
- message: s.message,
10
+ return verifyMultipleAggregateSignatures(sets.map((s) => ({
11
+ pk: s.publicKey,
12
+ msg: s.message,
14
13
  // true = validate signature
15
- signature: bls.Signature.fromBytes(s.signature, CoordType.affine, true),
14
+ sig: Signature.fromBytes(s.signature, true),
16
15
  })));
17
16
  }
18
17
  // .every on an empty array returns true
@@ -22,8 +21,8 @@ export function verifySignatureSetsMaybeBatch(sets) {
22
21
  // If too few signature sets verify them without batching
23
22
  return sets.every((set) => {
24
23
  // true = validate signature
25
- const sig = bls.Signature.fromBytes(set.signature, CoordType.affine, true);
26
- return sig.verify(set.publicKey, set.message);
24
+ const sig = Signature.fromBytes(set.signature, true);
25
+ return verify(set.message, set.publicKey, sig);
27
26
  });
28
27
  }
29
28
  catch (_) {
@@ -1 +1 @@
1
- {"version":3,"file":"maybeBatch.js","sourceRoot":"","sources":["../../../src/chain/bls/maybeBatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAY,MAAM,sBAAsB,CAAC;AAC1D,OAAO,GAAG,MAAM,gBAAgB,CAAC;AAEjC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAQjC;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAgC;IAC5E,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC;YAC1C,OAAO,GAAG,CAAC,SAAS,CAAC,wBAAwB,CAC3C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACf,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,4BAA4B;gBAC5B,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;aACxE,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,yDAAyD;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,4BAA4B;YAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC3E,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sEAAsE;QACtE,2FAA2F;QAC3F,yGAAyG;QACzG,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"maybeBatch.js","sourceRoot":"","sources":["../../../src/chain/bls/maybeBatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,iCAAiC,EAAC,MAAM,iBAAiB,CAAC;AAEhG,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAQjC;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAgC;IAC5E,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC;YAC1C,OAAO,iCAAiC,CACtC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACf,EAAE,EAAE,CAAC,CAAC,SAAS;gBACf,GAAG,EAAE,CAAC,CAAC,OAAO;gBACd,4BAA4B;gBAC5B,GAAG,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC;aAC5C,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,yDAAyD;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,4BAA4B;YAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACrD,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sEAAsE;QACtE,2FAA2F;QAC3F,yGAAyG;QACzG,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { PublicKey } from "@chainsafe/bls/types";
1
+ import { PublicKey } from "@chainsafe/blst";
2
2
  import { Logger } from "@lodestar/utils";
3
3
  import { ISignatureSet } from "@lodestar/state-transition";
4
4
  import { Metrics } from "../../../metrics/index.js";
@@ -23,7 +23,6 @@ export type { JobQueueItemType };
23
23
  export declare class BlsMultiThreadWorkerPool implements IBlsVerifier {
24
24
  private readonly logger;
25
25
  private readonly metrics;
26
- private readonly format;
27
26
  private readonly workers;
28
27
  private readonly jobs;
29
28
  private bufferedJobs;
@@ -7,8 +7,6 @@ import { spawn, Worker } from "@chainsafe/threads";
7
7
  // @ts-ignore
8
8
  // eslint-disable-next-line
9
9
  self = undefined;
10
- import bls from "@chainsafe/bls";
11
- import { PointFormat } from "@chainsafe/bls/types";
12
10
  import { QueueError, QueueErrorCode } from "../../../util/queue/index.js";
13
11
  import { getAggregatedPubkey, getAggregatedPubkeysCount } from "../utils.js";
14
12
  import { verifySignatureSetsMaybeBatch } from "../maybeBatch.js";
@@ -110,7 +108,7 @@ export class BlsMultiThreadWorkerPool {
110
108
  try {
111
109
  // Note: This can throw, must be handled per-job.
112
110
  // Pubkey and signature aggregation is defered here
113
- workReq = jobItemWorkReq(job, this.format, this.metrics);
111
+ workReq = jobItemWorkReq(job, this.metrics);
114
112
  }
115
113
  catch (e) {
116
114
  this.metrics?.blsThreadPool.errorAggregateSignatureSetsCount.inc({ type: job.type });
@@ -237,13 +235,10 @@ export class BlsMultiThreadWorkerPool {
237
235
  this.logger = logger;
238
236
  this.metrics = metrics;
239
237
  this.blsVerifyAllMultiThread = options.blsVerifyAllMultiThread ?? false;
240
- // TODO: Allow to customize implementation
241
- const implementation = bls.implementation;
242
238
  // Use compressed for herumi for now.
243
239
  // THe worker is not able to deserialize from uncompressed
244
240
  // `Error: err _wrapDeserialize`
245
- this.format = implementation === "blst-native" ? PointFormat.uncompressed : PointFormat.compressed;
246
- this.workers = this.createWorkers(implementation, blsPoolSize);
241
+ this.workers = this.createWorkers(blsPoolSize);
247
242
  if (metrics) {
248
243
  metrics.blsThreadPool.queueLength.addCollect(() => {
249
244
  metrics.blsThreadPool.queueLength.set(this.jobs.length);
@@ -333,10 +328,10 @@ export class BlsMultiThreadWorkerPool {
333
328
  this.logger.error("Error terminating worker", { id }, e);
334
329
  })));
335
330
  }
336
- createWorkers(implementation, poolSize) {
331
+ createWorkers(poolSize) {
337
332
  const workers = [];
338
333
  for (let i = 0; i < poolSize; i++) {
339
- const workerData = { implementation, workerId: i };
334
+ const workerData = { workerId: i };
340
335
  const worker = new Worker(path.join(workerDir, "worker.js"), {
341
336
  workerData,
342
337
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,oBAAoB,CAAC;AACjD,wJAAwJ;AACxJ,sFAAsF;AACtF,2BAA2B;AAC3B,aAAa;AACb,2BAA2B;AAC3B,IAAI,GAAG,SAAS,CAAC;AACjB,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAiB,WAAW,EAAY,MAAM,sBAAsB,CAAC;AAG5E,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAGxE,OAAO,EAAC,mBAAmB,EAAE,yBAAyB,EAAC,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAC,6BAA6B,EAAC,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAwC,cAAc,EAAkB,MAAM,YAAY,CAAC;AAClG,OAAO,EAAC,yBAAyB,EAAC,MAAM,YAAY,CAAC;AACrD,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,EAGL,gBAAgB,EAChB,4BAA4B,EAC5B,cAAc,EACd,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,iFAAiF;AACjF,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,IAAI,CAAC;AAanG,+BAA+B;AAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAE/B;;GAEG;AACH,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAMrC,IAAK,gBAMJ;AAND,WAAK,gBAAgB;IACnB,2EAAc,CAAA;IACd,uEAAY,CAAA;IACZ,qFAAmB,CAAA;IACnB,uDAAI,CAAA;IACJ,6DAAO,CAAA;AACT,CAAC,EANI,gBAAgB,KAAhB,gBAAgB,QAMpB;AAcD;;;;;;;GAOG;AACH,MAAM,OAAO,wBAAwB;IAkBnC,YAAY,OAAwC,EAAE,OAAwC;QAZ7E,SAAI,GAAG,IAAI,UAAU,EAAgB,CAAC;QAC/C,iBAAY,GAMT,IAAI,CAAC;QAER,WAAM,GAAG,KAAK,CAAC;QACf,gBAAW,GAAG,CAAC,CAAC;QAqOxB;;WAEG;QACK,WAAM,GAAG,KAAK,IAAmB,EAAE;YACzC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO;YACT,CAAC;YAED,mBAAmB;YACnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC3F,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,EAAE,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,uBAAuB;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACrC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YAED,wFAAwF;YACxF,qEAAqE;YACrE,yFAAyF;YAEzF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YAC1C,MAAM,CAAC,MAAM,GAAG,EAAC,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,IAAI,CAAC;gBACH,IAAI,kBAAkB,GAAG,CAAC,CAAC;gBAC3B,IAAI,sBAAsB,GAAG,CAAC,CAAC;gBAC/B,IAAI,kBAAkB,GAAG,CAAC,CAAC;gBAC3B,IAAI,sBAAsB,GAAG,CAAC,CAAC;gBAC/B,MAAM,QAAQ,GAAiB,EAAE,CAAC;gBAClC,MAAM,WAAW,GAAmB,EAAE,CAAC;gBAEvC,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;oBAEvF,IAAI,OAAmB,CAAC;oBACxB,IAAI,CAAC;wBACH,iDAAiD;wBACjD,mDAAmD;wBACnD,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC3D,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,gCAAgC,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAC,CAAC,CAAC;wBAEnF,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;4BACjB,KAAK,gBAAgB,CAAC,OAAO;gCAC3B,GAAG,CAAC,MAAM,CAAC,CAAU,CAAC,CAAC;gCACvB,MAAM;4BAER,KAAK,gBAAgB,CAAC,WAAW;gCAC/B,sEAAsE;gCACtE,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gCAClC,MAAM;wBACV,CAAC;wBAED,SAAS;oBACX,CAAC;oBACD,0EAA0E;oBAC1E,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACvB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAEtB,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,WAAW,EAAE,CAAC;wBAC9C,sBAAsB,IAAI,CAAC,CAAC;wBAC5B,sBAAsB,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,kBAAkB,IAAI,CAAC,CAAC;wBACxB,kBAAkB,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;oBACxC,CAAC;gBACH,CAAC;gBAED,MAAM,cAAc,GAAG,kBAAkB,GAAG,sBAAsB,CAAC;gBACnE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAC,EAAE,kBAAkB,CAAC,CAAC;gBACvG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,gBAAgB,CAAC,WAAW,EAAC,EAAE,sBAAsB,CAAC,CAAC;gBAC/G,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,gBAAgB,CAAC,OAAO,EAAC,EAAE,kBAAkB,CAAC,CAAC;gBAC1G,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAC,IAAI,EAAE,gBAAgB,CAAC,WAAW,EAAC,EAAE,sBAAsB,CAAC,CAAC;gBAElH,kCAAkC;gBAClC,uFAAuF;gBACvF,kFAAkF;gBAElF,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;gBACrE,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC/C,MAAM,EAAC,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAC,GAAG,UAAU,CAAC;gBAEvG,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,eAAe,CAAC;gBACxD,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,aAAa,CAAC;gBAElD,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,IAAI,UAAU,GAAG,CAAC,CAAC;gBAEnB,uBAAuB;gBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;oBAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;oBAExC,uDAAuD;oBACvD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;wBACjB,KAAK,gBAAgB,CAAC,OAAO;4BAC3B,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;gCAC5D,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;gCAC5C,UAAU,IAAI,WAAW,CAAC;4BAC5B,CAAC;iCAAM,CAAC;gCACN,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gCAC9B,YAAY,IAAI,WAAW,CAAC;4BAC9B,CAAC;4BACD,MAAM;wBAER,uFAAuF;wBACvF,KAAK,gBAAgB,CAAC,WAAW;4BAC/B,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;gCAC5D,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;gCAC5C,UAAU,IAAI,CAAC,CAAC;4BAClB,CAAC;iCAAM,CAAC;gCACN,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oCACrB,+CAA+C;oCAC/C,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gCACxC,CAAC;qCAAM,CAAC;oCACN,0BAA0B;oCAC1B,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gCACpC,CAAC;gCACD,YAAY,IAAI,CAAC,CAAC;4BACpB,CAAC;4BACD,MAAM;oBACV,CAAC;gBACH,CAAC;gBAED,MAAM,gBAAgB,GAAG,YAAY,GAAG,cAAc,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC;gBAC7F,MAAM,kBAAkB,GAAG,cAAc,GAAG,WAAW,GAAG,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;gBAC7F,MAAM,oBAAoB,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC;gBAE7F,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,GAAG,cAAc,CAAC,CAAC;gBACrF,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,EAAE,gBAAgB,CAAC,CAAC;gBAC7E,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBACxE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBAC5E,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,6BAA6B,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC5E,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACxE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC3D,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACrE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,4CAA4C;gBAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,EAAE,EAAE,CAAU,CAAC,CAAC;gBACtE,CAAC;gBACD,aAAa;gBACb,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC5B,GAAG,CAAC,MAAM,CAAC,CAAU,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,MAAM,CAAC,MAAM,GAAG,EAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAC,CAAC;YACzD,IAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,4BAA4B;YAC5B,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC;QAsBF;;WAEG;QACK,oBAAe,GAAG,GAAS,EAAE;YACnC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;oBACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;gBACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;gBACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;QAtaA,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,IAAI,KAAK,CAAC;QAExE,0CAA0C;QAC1C,MAAM,cAAc,GAAG,GAAG,CAAC,cAAc,CAAC;QAE1C,qCAAqC;QACrC,0DAA0D;QAC1D,gCAAgC;QAChC,IAAI,CAAC,MAAM,GAAG,cAAc,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;QACnG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAE/D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE;gBAChD,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxD,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,aAAa;QACX,OAAO,CACL,IAAI,CAAC,WAAW,GAAG,WAAW;YAC9B,0CAA0C;YAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,wBAAwB,CAC5C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAqB,EAAE,OAA4B,EAAE;QAC7E,gGAAgG;QAChG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,8BAA8B,CAAC,UAAU,EAAE,CAAC;YACtF,IAAI,CAAC;gBACH,OAAO,6BAA6B,CAClC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACjB,SAAS,EAAE,mBAAmB,CAAC,GAAG,CAAC;oBACnC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE;oBAClC,SAAS,EAAE,GAAG,CAAC,SAAS;iBACzB,CAAC,CAAC,CACJ,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,IAAI,KAAK;oBAAE,KAAK,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,mHAAmH;QACnH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,yBAAyB,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,GAAG,CAC7D,CAAC,SAAS,EAAE,EAAE,CACZ,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvC,OAAO,IAAI,CAAC,YAAY,CAAC;gBACvB,IAAI,EAAE,gBAAgB,CAAC,OAAO;gBAC9B,OAAO;gBACP,MAAM;gBACN,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;gBACvB,IAAI;gBACJ,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC,CAAC,CACL,CACF,CAAC;QAEF,wCAAwC;QACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,8BAA8B,CAClC,IAAqD,EACrD,OAAmB,EACnB,OAAwD,EAAE;QAE1D,+FAA+F;QAC/F,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,yBAAyB,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC,GAAG,CAC7D,CAAC,SAAS,EAAE,EAAE,CACZ,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC,YAAY,CAAC;gBAChB,IAAI,EAAE,gBAAgB,CAAC,WAAW;gBAClC,OAAO;gBACP,MAAM;gBACN,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;gBACvB,IAAI;gBACJ,IAAI,EAAE,SAAS;gBACf,OAAO;aACR,CAAC,CAAC;QACL,CAAC,CAAC,CACL,CACF,CAAC;QAEF,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,iBAAiB;QACjB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,GAAG,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,EAAC,IAAI,EAAE,cAAc,CAAC,aAAa,EAAC,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAElB,qEAAqE;QACrE,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;QACtD,uEAAuE;QACvE,sHAAsH;QACrH,MAAM,CAAC,MAAM,CAAC,SAAS,EAA+B,CAAC,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAC,EAAE,EAAC,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,cAA8B,EAAE,QAAgB;QACpE,MAAM,OAAO,GAAuB,EAAE,CAAC;QAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,UAAU,GAAe,EAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE;gBAC3D,UAAU;aACgC,CAAC,CAAC;YAE9C,MAAM,gBAAgB,GAAqB;gBACzC,MAAM;gBACN,MAAM,EAAE,EAAC,IAAI,EAAE,gBAAgB,CAAC,cAAc,EAAC;aAChD,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE/B,kDAAkD;YAClD,MAAM,WAAW,GAAG,KAAK,CAAY,MAAM,EAAE;gBAC3C,0FAA0F;gBAC1F,8FAA8F;gBAC9F,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;aACvB,CAAC,CAAC;YAEH,gBAAgB,CAAC,MAAM,GAAG,EAAC,IAAI,EAAE,gBAAgB,CAAC,YAAY,EAAE,WAAW,EAAC,CAAC;YAE7E,WAAW;iBACR,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBAClB,gBAAgB,CAAC,MAAM,GAAG,EAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAC,CAAC;gBACnE,kFAAkF;gBAClF,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;gBACtB,gBAAgB,CAAC,MAAM,GAAG,EAAC,IAAI,EAAE,gBAAgB,CAAC,mBAAmB,EAAE,KAAK,EAAC,CAAC;YAChF,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,GAAiB;QACpC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,UAAU,CAAC,EAAC,IAAI,EAAE,cAAc,CAAC,aAAa,EAAC,CAAC,CAAC;QAC7D,CAAC;QAED,2DAA2D;QAC3D,iEAAiE;QACjE,oEAAoE;QAEpE,IACE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,mBAAmB;YACpE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,mBAAmB,CAAC,EAC3F,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC;QAED,wFAAwF;QACxF,gEAAgE;QAChE,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG;oBAClB,IAAI,EAAE,IAAI,UAAU,EAAE;oBACtB,eAAe,EAAE,IAAI,UAAU,EAAE;oBACjC,QAAQ,EAAE,CAAC;oBACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC;iBAC9D,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAC5F,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,iBAAiB,EAAE,CAAC;gBACnD,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACxC,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,8EAA8E;QAC9E,sEAAsE;aACjE,CAAC;YACJ,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;YACD,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAoKD;;OAEG;IACK,WAAW;QACjB,MAAM,IAAI,GAAmB,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,OAAO,SAAS,GAAG,0BAA0B,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM;YACR,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAkBO,uBAAuB,CAAC,GAA4B;QAC1D,uEAAuE;QACvE,KAAK,MAAM,CAAC,IAAI,4BAA4B,CAAC,GAAG,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxE,CAAC;IAED,kBAAkB;IACV,KAAK,CAAC,mBAAmB;QAC/B,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAChC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,YAAY,EAAE,CAAC;gBACzD,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,SAAiC,EAAE,CAAS;IACrE,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;IACtG,IAAI,SAAS,EAAE,KAAK,EAAE,KAAK;QAAE,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;IACvE,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { PointFormat, PublicKey } from "@chainsafe/bls/types";
1
+ import { PublicKey } from "@chainsafe/blst";
2
2
  import { ISignatureSet } from "@lodestar/state-transition";
3
3
  import { VerifySignatureOpts } from "../interface.js";
4
4
  import { LinkedList } from "../../../util/array.js";
@@ -37,7 +37,7 @@ export declare function jobItemSigSets(job: JobQueueItem): number;
37
37
  * Prepare BlsWorkReq from JobQueueItem
38
38
  * WARNING: May throw with untrusted user input
39
39
  */
40
- export declare function jobItemWorkReq(job: JobQueueItem, format: PointFormat, metrics: Metrics | null): BlsWorkReq;
40
+ export declare function jobItemWorkReq(job: JobQueueItem, metrics: Metrics | null): BlsWorkReq;
41
41
  /**
42
42
  * Convert a JobQueueItemSameMessage into multiple JobQueueItemDefault linked to the original promise
43
43
  */
@@ -1,5 +1,4 @@
1
- import bls from "@chainsafe/bls";
2
- import { CoordType } from "@chainsafe/bls/types";
1
+ import { aggregateWithRandomness } from "@chainsafe/blst";
3
2
  import { SignatureSetType } from "@lodestar/state-transition";
4
3
  import { getAggregatedPubkey } from "../utils.js";
5
4
  import { LinkedList } from "../../../util/array.js";
@@ -23,35 +22,36 @@ export function jobItemSigSets(job) {
23
22
  * Prepare BlsWorkReq from JobQueueItem
24
23
  * WARNING: May throw with untrusted user input
25
24
  */
26
- export function jobItemWorkReq(job, format, metrics) {
25
+ export function jobItemWorkReq(job, metrics) {
27
26
  switch (job.type) {
28
27
  case JobQueueItemType.default:
29
28
  return {
30
29
  opts: job.opts,
31
30
  sets: job.sets.map((set) => ({
32
31
  // this can throw, handled in the consumer code
33
- publicKey: getAggregatedPubkey(set, metrics).toBytes(format),
32
+ publicKey: getAggregatedPubkey(set, metrics).toBytes(),
34
33
  signature: set.signature,
35
34
  message: set.signingRoot,
36
35
  })),
37
36
  };
38
37
  case JobQueueItemType.sameMessage: {
39
- // validate signature = true, this is slow code on main thread so should only run with network thread mode (useWorker=true)
40
- // For a node subscribing to all subnets, with 1 signature per validator per epoch it takes around 80s
41
- // to deserialize 750_000 signatures per epoch
38
+ // This is slow code on main thread (mainly signature deserialization + group check).
39
+ // Ideally it can be taken off-thread, but in the mean time, keep track of total time spent here.
40
+ // As of July 2024, for a node subscribing to all subnets, with 1 signature per validator per epoch,
41
+ // it takes around 2.02 min to perform this operation for a single epoch.
42
42
  // cpu profile on main thread has 250s idle so this only works until we reach 3M validators
43
43
  // However, for normal node with only 2 to 7 subnet subscriptions per epoch this works until 27M validators
44
44
  // and not a problem in the near future
45
- // this is monitored on v1.11.0 https://github.com/ChainSafe/lodestar/pull/5912#issuecomment-1700320307
46
- const timer = metrics?.blsThreadPool.signatureDeserializationMainThreadDuration.startTimer();
47
- const signatures = job.sets.map((set) => bls.Signature.fromBytes(set.signature, CoordType.affine, true));
45
+ // this is monitored on v1.21.0 https://github.com/ChainSafe/lodestar/pull/6894/files#r1687359225
46
+ const timer = metrics?.blsThreadPool.aggregateWithRandomnessMainThreadDuration.startTimer();
47
+ const { pk, sig } = aggregateWithRandomness(job.sets.map((set) => ({ pk: set.publicKey, sig: set.signature })));
48
48
  timer?.();
49
49
  return {
50
50
  opts: job.opts,
51
51
  sets: [
52
52
  {
53
- publicKey: bls.PublicKey.aggregate(job.sets.map((set) => set.publicKey)).toBytes(format),
54
- signature: bls.Signature.aggregate(signatures).toBytes(format),
53
+ publicKey: pk.toBytes(),
54
+ signature: sig.toBytes(),
55
55
  message: job.message,
56
56
  },
57
57
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"jobItem.js","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/jobItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jobItem.js","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/jobItem.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { VerifySignatureOpts } from "../interface.js";
2
2
  export type WorkerData = {
3
- implementation: "herumi" | "blst-native";
4
3
  workerId: number;
5
4
  };
6
5
  export type SerializedSet = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/types.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,iCAAe,CAAA;AACjB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/chain/bls/multithread/types.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,iCAAe,CAAA;AACjB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB"}