@chainsafe/lodestar 1.9.0-dev.f16192f079 → 1.9.0-dev.f2458491b9

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 (91) hide show
  1. package/.git-data.json +1 -1
  2. package/lib/applyPreset.js +7 -1
  3. package/lib/applyPreset.js.map +1 -1
  4. package/lib/cli.js +1 -1
  5. package/lib/cli.js.map +1 -1
  6. package/lib/cmds/beacon/handler.d.ts +3 -3
  7. package/lib/cmds/beacon/handler.js +51 -8
  8. package/lib/cmds/beacon/handler.js.map +1 -1
  9. package/lib/cmds/beacon/options.d.ts +4 -1
  10. package/lib/cmds/beacon/options.js +9 -0
  11. package/lib/cmds/beacon/options.js.map +1 -1
  12. package/lib/cmds/dev/options.d.ts +4 -1
  13. package/lib/cmds/lightclient/handler.js +3 -2
  14. package/lib/cmds/lightclient/handler.js.map +1 -1
  15. package/lib/cmds/lightclient/options.d.ts +2 -1
  16. package/lib/cmds/lightclient/options.js.map +1 -1
  17. package/lib/cmds/validator/handler.js +16 -15
  18. package/lib/cmds/validator/handler.js.map +1 -1
  19. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions.d.ts +16 -0
  20. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions.js +108 -0
  21. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions.js.map +1 -0
  22. package/lib/cmds/validator/keymanager/decryptKeystores/index.d.ts +2 -0
  23. package/lib/cmds/validator/keymanager/decryptKeystores/index.js +2 -0
  24. package/lib/cmds/validator/keymanager/decryptKeystores/index.js.map +1 -0
  25. package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.d.ts +6 -0
  26. package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.js +19 -0
  27. package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.js.map +1 -0
  28. package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.d.ts +25 -0
  29. package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.js +53 -0
  30. package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.js.map +1 -0
  31. package/lib/cmds/validator/keymanager/decryptKeystores/types.d.ts +11 -0
  32. package/lib/cmds/validator/keymanager/decryptKeystores/types.js +4 -0
  33. package/lib/cmds/validator/keymanager/decryptKeystores/types.js.map +1 -0
  34. package/lib/cmds/validator/keymanager/decryptKeystores/worker.d.ts +9 -0
  35. package/lib/cmds/validator/keymanager/{decryptKeystoreDefinitions → decryptKeystores}/worker.js +6 -5
  36. package/lib/cmds/validator/keymanager/decryptKeystores/worker.js.map +1 -0
  37. package/lib/cmds/validator/keymanager/keystoreCache.js +2 -1
  38. package/lib/cmds/validator/keymanager/keystoreCache.js.map +1 -1
  39. package/lib/cmds/validator/options.d.ts +3 -1
  40. package/lib/cmds/validator/options.js +5 -0
  41. package/lib/cmds/validator/options.js.map +1 -1
  42. package/lib/cmds/validator/signers/importExternalKeystores.js +0 -2
  43. package/lib/cmds/validator/signers/importExternalKeystores.js.map +1 -1
  44. package/lib/cmds/validator/signers/index.d.ts +2 -2
  45. package/lib/cmds/validator/signers/index.js +3 -1
  46. package/lib/cmds/validator/signers/index.js.map +1 -1
  47. package/lib/cmds/validator/signers/logSigners.d.ts +2 -2
  48. package/lib/cmds/validator/signers/logSigners.js.map +1 -1
  49. package/lib/cmds/validator/slashingProtection/export.d.ts +1 -1
  50. package/lib/cmds/validator/slashingProtection/export.js +3 -2
  51. package/lib/cmds/validator/slashingProtection/export.js.map +1 -1
  52. package/lib/cmds/validator/slashingProtection/import.d.ts +1 -1
  53. package/lib/cmds/validator/slashingProtection/import.js +3 -2
  54. package/lib/cmds/validator/slashingProtection/import.js.map +1 -1
  55. package/lib/options/beaconNodeOptions/api.d.ts +1 -0
  56. package/lib/options/beaconNodeOptions/api.js +6 -0
  57. package/lib/options/beaconNodeOptions/api.js.map +1 -1
  58. package/lib/options/beaconNodeOptions/builder.d.ts +0 -1
  59. package/lib/options/beaconNodeOptions/builder.js +0 -9
  60. package/lib/options/beaconNodeOptions/builder.js.map +1 -1
  61. package/lib/options/beaconNodeOptions/index.d.ts +3 -1
  62. package/lib/options/beaconNodeOptions/network.d.ts +2 -0
  63. package/lib/options/beaconNodeOptions/network.js +26 -9
  64. package/lib/options/beaconNodeOptions/network.js.map +1 -1
  65. package/lib/options/logOptions.d.ts +11 -1
  66. package/lib/options/logOptions.js +7 -6
  67. package/lib/options/logOptions.js.map +1 -1
  68. package/lib/util/index.d.ts +1 -0
  69. package/lib/util/index.js +1 -0
  70. package/lib/util/index.js.map +1 -1
  71. package/lib/util/logger.d.ts +7 -23
  72. package/lib/util/logger.js +53 -80
  73. package/lib/util/logger.js.map +1 -1
  74. package/lib/util/pruneOldFilesInDir.d.ts +2 -0
  75. package/lib/util/pruneOldFilesInDir.js +17 -0
  76. package/lib/util/pruneOldFilesInDir.js.map +1 -0
  77. package/package.json +16 -15
  78. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/index.d.ts +0 -8
  79. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/index.js +0 -92
  80. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/index.js.map +0 -1
  81. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/poolSize.d.ts +0 -6
  82. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/poolSize.js +0 -19
  83. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/poolSize.js.map +0 -1
  84. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/types.d.ts +0 -12
  85. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/types.js +0 -2
  86. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/types.js.map +0 -1
  87. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/worker.d.ts +0 -9
  88. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/worker.js.map +0 -1
  89. package/lib/util/loggerConsoleTransport.d.ts +0 -24
  90. package/lib/util/loggerConsoleTransport.js +0 -35
  91. package/lib/util/loggerConsoleTransport.js.map +0 -1
package/.git-data.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "branch": "unstable",
3
- "commit": "f16192f079d68835f05feada7aff009c20ada963"
3
+ "commit": "f2458491b96a8e3177568928268d5499fa5e20fa"
4
4
  }
@@ -14,7 +14,7 @@
14
14
  // set LODESTAR_PRESET manually every time.
15
15
  var _a;
16
16
  // IMPORTANT: only import Lodestar code here which does not import any other Lodestar libraries
17
- import { setActivePreset, presetFromJson } from "@lodestar/params/setPreset";
17
+ import { setActivePreset, presetFromJson, PresetName } from "@lodestar/params/setPreset";
18
18
  import { readFile } from "./util/file.js";
19
19
  const network = valueOfArg("network");
20
20
  const preset = valueOfArg("preset");
@@ -31,6 +31,9 @@ else if (process.env.LODESTAR_PRESET) {
31
31
  else if (network) {
32
32
  if (network === "dev") {
33
33
  process.env.LODESTAR_PRESET = "minimal";
34
+ // "c-kzg" has hardcoded the mainnet value, do not use presets
35
+ // eslint-disable-next-line @typescript-eslint/naming-convention
36
+ setActivePreset(PresetName.minimal, { FIELD_ELEMENTS_PER_BLOB: 4096 });
34
37
  }
35
38
  else if (network === "gnosis" || network === "chiado") {
36
39
  process.env.LODESTAR_PRESET = "gnosis";
@@ -40,6 +43,9 @@ else if (network) {
40
43
  else if (process.argv[2] === "dev") {
41
44
  process.env.LODESTAR_PRESET = "minimal";
42
45
  process.env.LODESTAR_NETWORK = "dev";
46
+ // "c-kzg" has hardcoded the mainnet value, do not use presets
47
+ // eslint-disable-next-line @typescript-eslint/naming-convention
48
+ setActivePreset(PresetName.minimal, { FIELD_ELEMENTS_PER_BLOB: 4096 });
43
49
  }
44
50
  if (presetFile) {
45
51
  // Override the active preset with custom values from file
@@ -1 +1 @@
1
- {"version":3,"file":"applyPreset.js","sourceRoot":"","sources":["../src/applyPreset.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,eAAe;AACf,EAAE;AACF,yGAAyG;AACzG,sDAAsD;AACtD,EAAE;AACF,qGAAqG;AACrG,+DAA+D;AAC/D,kEAAkE;AAClE,kEAAkE;AAClE,EAAE;AACF,4FAA4F;AAC5F,2CAA2C;;AAE3C,+FAA+F;AAC/F,OAAO,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAExC,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AACtC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACpC,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;AAE5C,+BAA+B;AAC/B,IAAI,MAAM,EAAE;IACV,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC;CACtC;AAED,8FAA8F;KACzF,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE;IACpC,QAAQ;CACT;AAED,8BAA8B;KACzB,IAAI,OAAO,EAAE;IAChB,IAAI,OAAO,KAAK,KAAK,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC;KACzC;SAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ,EAAE;QACvD,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,QAAQ,CAAC;KACxC;CACF;AAED,mEAAmE;KAC9D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;IAClC,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;CACtC;AAED,IAAI,UAAU,EAAE;IACd,0DAA0D;IAC1D,4DAA4D;IAC5D,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC,MAAA,QAAQ,CAAC,UAAU,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC;CACnE;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,OAAe;IACjC,4BAA4B;IAC5B,0CAA0C;;IAE1C;QACE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QACnD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,OAAO,MAAA,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;SACtC;KACF;IAED,4BAA4B;IAC5B;QACE,MAAM,MAAM,GAAG,KAAK,OAAO,GAAG,CAAC;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAClC;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"applyPreset.js","sourceRoot":"","sources":["../src/applyPreset.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,eAAe;AACf,EAAE;AACF,yGAAyG;AACzG,sDAAsD;AACtD,EAAE;AACF,qGAAqG;AACrG,+DAA+D;AAC/D,kEAAkE;AAClE,kEAAkE;AAClE,EAAE;AACF,4FAA4F;AAC5F,2CAA2C;;AAE3C,+FAA+F;AAC/F,OAAO,EAAC,eAAe,EAAE,cAAc,EAAE,UAAU,EAAC,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAExC,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AACtC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AACpC,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;AAE5C,+BAA+B;AAC/B,IAAI,MAAM,EAAE;IACV,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,MAAM,CAAC;CACtC;AAED,8FAA8F;KACzF,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE;IACpC,QAAQ;CACT;AAED,8BAA8B;KACzB,IAAI,OAAO,EAAE;IAChB,IAAI,OAAO,KAAK,KAAK,EAAE;QACrB,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC;QACxC,8DAA8D;QAC9D,gEAAgE;QAChE,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,EAAC,uBAAuB,EAAE,IAAI,EAAC,CAAC,CAAC;KACtE;SAAM,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,QAAQ,EAAE;QACvD,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,QAAQ,CAAC;KACxC;CACF;AAED,mEAAmE;KAC9D,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;IAClC,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACrC,8DAA8D;IAC9D,gEAAgE;IAChE,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,EAAC,uBAAuB,EAAE,IAAI,EAAC,CAAC,CAAC;CACtE;AAED,IAAI,UAAU,EAAE;IACd,0DAA0D;IAC1D,4DAA4D;IAC5D,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC,MAAA,QAAQ,CAAC,UAAU,CAAC,mCAAI,EAAE,CAAC,CAAC,CAAC;CACnE;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,OAAe;IACjC,4BAA4B;IAC5B,0CAA0C;;IAE1C;QACE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QACnD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;YACd,OAAO,MAAA,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;SACtC;KACF;IAED,4BAA4B;IAC5B;QACE,MAAM,MAAM,GAAG,KAAK,OAAO,GAAG,CAAC;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,IAAI,IAAI,EAAE;YACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAClC;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
package/lib/cli.js CHANGED
@@ -8,7 +8,7 @@ import { getVersionData } from "./util/version.js";
8
8
  const { version } = getVersionData();
9
9
  const topBanner = `🌟 Lodestar: TypeScript Implementation of the Ethereum Consensus Beacon Chain.
10
10
  * Version: ${version}
11
- * by ChainSafe Systems, 2018-2023`;
11
+ * by ChainSafe Systems, 2018-${new Date().getFullYear()}`;
12
12
  const bottomBanner = `📖 For more information, check the CLI reference:
13
13
  * https://chainsafe.github.io/lodestar/reference/cli
14
14
 
package/lib/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEjD,MAAM,EAAC,OAAO,EAAC,GAAG,cAAc,EAAE,CAAC;AACnC,MAAM,SAAS,GAAG;eACH,OAAO;oCACc,CAAC;AACrC,MAAM,YAAY,GAAG;;;;0CAIqB,CAAC;AAE3C,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAE,OAAwC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAEnF;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG,IAAI;SAClB,GAAG,CAAC,UAAU,CAAC;SACf,mBAAmB,CAAC;QACnB,0DAA0D;QAC1D,2DAA2D;QAC3D,cAAc,EAAE,KAAK;KACtB,CAAC;SACD,OAAO,CAAC,aAAa,CAAC;QACvB,sFAAsF;SACrF,UAAU,CAAC,EAAE,CAAC;SACd,aAAa,CAAC,CAAC,CAAC;QACjB,+CAA+C;SAC9C,cAAc,CAAC,KAAK,CAAC;SACrB,KAAK,CAAC,SAAS,CAAC;SAChB,QAAQ,CAAC,YAAY,CAAC;SACtB,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;SAClB,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC;SACrB,iBAAiB,EAAE,CAAC;IAEvB,+BAA+B;IAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KACvC;IAED,+CAA+C;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC;IAEnC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEjD,MAAM,EAAC,OAAO,EAAC,GAAG,cAAc,EAAE,CAAC;AACnC,MAAM,SAAS,GAAG;eACH,OAAO;iCACW,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;AAC5D,MAAM,YAAY,GAAG;;;;0CAIqB,CAAC;AAE3C,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,CAAE,OAAwC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAEnF;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG,IAAI;SAClB,GAAG,CAAC,UAAU,CAAC;SACf,mBAAmB,CAAC;QACnB,0DAA0D;QAC1D,2DAA2D;QAC3D,cAAc,EAAE,KAAK;KACtB,CAAC;SACD,OAAO,CAAC,aAAa,CAAC;QACvB,sFAAsF;SACrF,UAAU,CAAC,EAAE,CAAC;SACd,aAAa,CAAC,CAAC,CAAC;QACjB,+CAA+C;SAC9C,cAAc,CAAC,KAAK,CAAC;SACrB,KAAK,CAAC,SAAS,CAAC;SAChB,QAAQ,CAAC,YAAY,CAAC;SACtB,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;SAClB,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC;SACrB,iBAAiB,EAAE,CAAC;IAEvB,+BAA+B;IAC/B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,sBAAsB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;KACvC;IAED,+CAA+C;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC;IAEnC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { Logger } from "@lodestar/utils";
2
1
  import { ChainForkConfig } from "@lodestar/config";
2
+ import { LoggerNode } from "@lodestar/logger/node";
3
3
  import { GlobalArgs } from "../../options/index.js";
4
4
  import { BeaconArgs } from "./options.js";
5
5
  /**
@@ -20,7 +20,7 @@ export declare function beaconHandlerInit(args: BeaconArgs & GlobalArgs): Promis
20
20
  version: string;
21
21
  commit: string;
22
22
  peerId: import("@libp2p/interface-peer-id").PeerId;
23
- logger: Logger;
23
+ logger: LoggerNode;
24
24
  }>;
25
- export declare function initLogger(args: BeaconArgs, dataDir: string, config: ChainForkConfig): Logger;
25
+ export declare function initLogger(args: BeaconArgs, dataDir: string, config: ChainForkConfig): LoggerNode;
26
26
  //# sourceMappingURL=handler.d.ts.map
@@ -5,14 +5,17 @@ import { LevelDbController } from "@lodestar/db";
5
5
  import { BeaconNode, BeaconDb } from "@lodestar/beacon-node";
6
6
  import { createBeaconConfig } from "@lodestar/config";
7
7
  import { ACTIVE_PRESET, PresetName } from "@lodestar/params";
8
+ import { getNodeLogger } from "@lodestar/logger/node";
8
9
  import { parseBeaconNodeArgs } from "../../options/index.js";
9
10
  import { BeaconNodeOptions, getBeaconConfigFromArgs } from "../../config/index.js";
10
11
  import { getNetworkBootnodes, getNetworkData, isKnownNetworkName, readBootnodes } from "../../networks/index.js";
11
- import { onGracefulShutdown, getCliLogger, mkdir, writeFile600Perm, cleanOldLogFiles } from "../../util/index.js";
12
+ import { onGracefulShutdown, mkdir, writeFile600Perm, cleanOldLogFiles, parseLoggerArgs, pruneOldFilesInDir, } from "../../util/index.js";
12
13
  import { getVersionData } from "../../util/version.js";
13
14
  import { getBeaconPaths } from "./paths.js";
14
15
  import { initBeaconState } from "./initBeaconState.js";
15
16
  import { initPeerIdAndEnr } from "./initPeerIdAndEnr.js";
17
+ const DEFAULT_RETENTION_SSZ_OBJECTS_HOURS = 15 * 24;
18
+ const HOURS_TO_MS = 3600 * 1000;
16
19
  /**
17
20
  * Runs a beacon node.
18
21
  */
@@ -61,8 +64,25 @@ export async function beaconHandler(args) {
61
64
  wsCheckpoint,
62
65
  metricsRegistries,
63
66
  });
64
- if (args.attachToGlobalThis)
67
+ // dev debug option to have access to the BN instance
68
+ if (args.attachToGlobalThis) {
65
69
  globalThis.bn = node;
70
+ }
71
+ // Prune invalid SSZ objects every interval
72
+ const { persistInvalidSszObjectsDir } = args;
73
+ const pruneInvalidSSZObjectsInterval = persistInvalidSszObjectsDir
74
+ ? setInterval(() => {
75
+ var _a;
76
+ try {
77
+ pruneOldFilesInDir(persistInvalidSszObjectsDir, ((_a = args.persistInvalidSszObjectsRetentionHours) !== null && _a !== void 0 ? _a : DEFAULT_RETENTION_SSZ_OBJECTS_HOURS) * HOURS_TO_MS);
78
+ }
79
+ catch (e) {
80
+ logger.warn("Error pruning invalid SSZ objects", { persistInvalidSszObjectsDir }, e);
81
+ }
82
+ // Run every ~1 hour
83
+ }, HOURS_TO_MS)
84
+ : null;
85
+ // Intercept SIGINT signal, to perform final ops before exiting
66
86
  onGracefulShutdown(async () => {
67
87
  if (args.persistNetworkIdentity) {
68
88
  try {
@@ -75,8 +95,23 @@ export async function beaconHandler(args) {
75
95
  }
76
96
  }
77
97
  abortController.abort();
98
+ if (pruneInvalidSSZObjectsInterval !== null) {
99
+ clearInterval(pruneInvalidSSZObjectsInterval);
100
+ }
78
101
  }, logger.info.bind(logger));
79
- abortController.signal.addEventListener("abort", () => node.close(), { once: true });
102
+ abortController.signal.addEventListener("abort", async () => {
103
+ try {
104
+ await node.close();
105
+ logger.debug("Beacon node closed");
106
+ }
107
+ catch (e) {
108
+ logger.error("Error closing beacon node", {}, e);
109
+ // Make sure db is always closed gracefully
110
+ await db.stop();
111
+ // Must explicitly exit process due to potential active handles
112
+ process.exit(1);
113
+ }
114
+ }, { once: true });
80
115
  }
81
116
  catch (e) {
82
117
  await db.stop();
@@ -115,19 +150,27 @@ export async function beaconHandlerInit(args) {
115
150
  const { peerId, enr } = await initPeerIdAndEnr(args, beaconPaths.beaconDir, logger);
116
151
  // Inject ENR to beacon options
117
152
  beaconNodeOptions.set({ network: { discv5: { enr: enr.encodeTxt(), config: { enrUpdate: !enr.ip && !enr.ip6 } } } });
118
- // Add simple version string for libp2p agent version
119
- beaconNodeOptions.set({ network: { version: version.split("/")[0] } });
153
+ if (args.private) {
154
+ beaconNodeOptions.set({ network: { private: true } });
155
+ }
156
+ else {
157
+ // Add simple version string for libp2p agent version
158
+ beaconNodeOptions.set({ network: { version: version.split("/")[0] } });
159
+ // Add User-Agent header to all builder requests
160
+ beaconNodeOptions.set({ executionBuilder: { userAgent: `Lodestar/${version}` } });
161
+ }
120
162
  // Render final options
121
163
  const options = beaconNodeOptions.getWithDefaults();
122
164
  return { config, options, beaconPaths, network, version, commit, peerId, logger };
123
165
  }
124
166
  export function initLogger(args, dataDir, config) {
125
- const { logger, logParams } = getCliLogger(args, { defaultLogFilepath: path.join(dataDir, "beacon.log") }, config);
167
+ const defaultLogFilepath = path.join(dataDir, "beacon.log");
168
+ const logger = getNodeLogger(parseLoggerArgs(args, { defaultLogFilepath }, config));
126
169
  try {
127
- cleanOldLogFiles(logParams.filename, logParams.rotateMaxFiles);
170
+ cleanOldLogFiles(args, { defaultLogFilepath });
128
171
  }
129
172
  catch (e) {
130
- logger.debug("Not able to delete log files", logParams, e);
173
+ logger.debug("Not able to delete log files", {}, e);
131
174
  }
132
175
  return logger;
133
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/beacon/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/beacon/handler.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Options } from "yargs";
2
2
  import { BeaconNodeArgs } from "../../options/index.js";
3
- import { CliCommandOptions, LogArgs } from "../../util/index.js";
3
+ import { LogArgs } from "../../options/logOptions.js";
4
+ import { CliCommandOptions } from "../../util/index.js";
4
5
  import { BeaconPaths } from "./paths.js";
5
6
  type BeaconExtraArgs = {
6
7
  forceGenesis?: boolean;
@@ -13,8 +14,10 @@ type BeaconExtraArgs = {
13
14
  beaconDir?: string;
14
15
  dbDir?: string;
15
16
  persistInvalidSszObjectsDir?: string;
17
+ persistInvalidSszObjectsRetentionHours?: number;
16
18
  peerStoreDir?: string;
17
19
  persistNetworkIdentity?: boolean;
20
+ private?: boolean;
18
21
  };
19
22
  export declare const beaconExtraOptions: CliCommandOptions<BeaconExtraArgs>;
20
23
  type ENRArgs = {
@@ -55,6 +55,11 @@ export const beaconExtraOptions = {
55
55
  hidden: true,
56
56
  type: "string",
57
57
  },
58
+ persistInvalidSszObjectsRetentionHours: {
59
+ description: "Number of hours to keep invalid SSZ objects on local disk",
60
+ hidden: true,
61
+ type: "number",
62
+ },
58
63
  peerStoreDir: {
59
64
  hidden: true,
60
65
  description: "Peer store directory",
@@ -66,6 +71,10 @@ export const beaconExtraOptions = {
66
71
  description: "Whether to reuse the same peer-id across restarts",
67
72
  type: "boolean",
68
73
  },
74
+ private: {
75
+ description: "Do not send implementation details over p2p identify protocol and in builder requests",
76
+ type: "boolean",
77
+ },
69
78
  };
70
79
  const enrOptions = {
71
80
  "enr.ip": {
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/beacon/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/beacon/options.ts"],"names":[],"mappings":"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"}
@@ -26,18 +26,19 @@ export declare const devOptions: {
26
26
  mdns?: Options | undefined;
27
27
  targetPeers?: Options | undefined;
28
28
  discv5?: Options | undefined;
29
+ disablePeerScoring?: Options | undefined;
29
30
  "api.maxGindicesInProof"?: Options | undefined;
30
31
  "rest.namespace"?: Options | undefined;
31
32
  rest?: Options | undefined;
32
33
  "rest.cors"?: Options | undefined;
33
34
  "rest.address"?: Options | undefined;
34
35
  "rest.port"?: Options | undefined;
36
+ "rest.headerLimit"?: Options | undefined;
35
37
  "rest.bodyLimit"?: Options | undefined;
36
38
  "builder.urls"?: Options | undefined;
37
39
  "builder.timeout"?: Options | undefined;
38
40
  "builder.faultInspectionWindow"?: Options | undefined;
39
41
  "builder.allowedFaults"?: Options | undefined;
40
- "builder.userAgent"?: Options | undefined;
41
42
  "chain.blsVerifyAllMultiThread"?: Options | undefined;
42
43
  "chain.blsVerifyAllMainThread"?: Options | undefined;
43
44
  "chain.disableBlsBatchVerify"?: Options | undefined;
@@ -82,6 +83,7 @@ export declare const devOptions: {
82
83
  "network.gossipsubAwaitHandler"?: Options | undefined;
83
84
  "network.rateLimitMultiplier"?: Options | undefined;
84
85
  "network.maxGossipTopicConcurrency"?: Options | undefined;
86
+ "network.useWorker"?: Options | undefined;
85
87
  listenAddress?: Options | undefined;
86
88
  discoveryPort?: Options | undefined;
87
89
  "network.requestCountPeerLimit"?: Options | undefined;
@@ -101,6 +103,7 @@ export declare const devOptions: {
101
103
  "keymanager.port": Options;
102
104
  "keymanager.address": Options;
103
105
  "keymanager.cors": Options;
106
+ "keymanager.headerLimit": Options;
104
107
  "keymanager.bodyLimit": Options;
105
108
  logLevel: Options;
106
109
  logFile: Options;
@@ -3,13 +3,14 @@ import { ApiError, getClient } from "@lodestar/api";
3
3
  import { Lightclient } from "@lodestar/light-client";
4
4
  import { fromHexString } from "@chainsafe/ssz";
5
5
  import { LightClientRestTransport } from "@lodestar/light-client/transport";
6
+ import { getNodeLogger } from "@lodestar/logger/node";
6
7
  import { getBeaconConfigFromArgs } from "../../config/beaconParams.js";
7
8
  import { getGlobalPaths } from "../../paths/global.js";
8
- import { getCliLogger } from "../../util/index.js";
9
+ import { parseLoggerArgs } from "../../util/logger.js";
9
10
  export async function lightclientHandler(args) {
10
11
  const { config, network } = getBeaconConfigFromArgs(args);
11
12
  const globalPaths = getGlobalPaths(args, network);
12
- const { logger } = getCliLogger(args, { defaultLogFilepath: path.join(globalPaths.dataDir, "lightclient.log") }, config);
13
+ const logger = getNodeLogger(parseLoggerArgs(args, { defaultLogFilepath: path.join(globalPaths.dataDir, "lightclient.log") }, config));
13
14
  const { beaconApiUrl, checkpointRoot } = args;
14
15
  const api = getClient({ baseUrl: beaconApiUrl }, { config });
15
16
  const res = await api.beacon.getGenesis();
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/lightclient/handler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,wBAAwB,EAAC,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAGjD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAmC;IAC1E,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAElD,MAAM,EAAC,MAAM,EAAC,GAAG,YAAY,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAC,EAAE,MAAM,CAAC,CAAC;IACrH,MAAM,EAAC,YAAY,EAAE,cAAc,EAAC,GAAG,IAAI,CAAC;IAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,EAAC,OAAO,EAAE,YAAY,EAAC,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,4BAA4B,CAAC;QAC5D,MAAM;QACN,MAAM;QACN,WAAW,EAAE;YACX,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;YAClD,qBAAqB,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB;SAC/D;QACD,cAAc,EAAE,aAAa,CAAC,cAAc,CAAC;QAC7C,SAAS,EAAE,IAAI,wBAAwB,CAAC,GAAG,CAAC;KAC7C,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/lightclient/handler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,wBAAwB,EAAC,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAIrD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAmC;IAC1E,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,aAAa,CAC1B,eAAe,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAC,EAAE,MAAM,CAAC,CACvG,CAAC;IACF,MAAM,EAAC,YAAY,EAAE,cAAc,EAAC,GAAG,IAAI,CAAC;IAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,EAAC,OAAO,EAAE,YAAY,EAAC,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,4BAA4B,CAAC;QAC5D,MAAM;QACN,MAAM;QACN,WAAW,EAAE;YACX,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;YAClD,qBAAqB,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB;SAC/D;QACD,cAAc,EAAE,aAAa,CAAC,cAAc,CAAC;QAC7C,SAAS,EAAE,IAAI,wBAAwB,CAAC,GAAG,CAAC;KAC7C,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,EAAE,CAAC;AACjB,CAAC"}
@@ -1,4 +1,5 @@
1
- import { CliCommandOptions, LogArgs } from "../../util/index.js";
1
+ import { LogArgs } from "../../options/logOptions.js";
2
+ import { CliCommandOptions } from "../../util/index.js";
2
3
  export type ILightClientArgs = LogArgs & {
3
4
  beaconApiUrl: string;
4
5
  checkpointRoot: string;
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/lightclient/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAQvD,MAAM,CAAC,MAAM,kBAAkB,GAAwC;IACrE,GAAG,UAAU;IACb,YAAY,EAAE;QACZ,WAAW,EAAE,mDAAmD;QAChE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;IACD,cAAc,EAAE;QACd,WAAW,EAAE,wEAAwE;QACrF,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;CACF,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/cmds/lightclient/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAQhE,MAAM,CAAC,MAAM,kBAAkB,GAAwC;IACrE,GAAG,UAAU;IACb,YAAY,EAAE;QACZ,WAAW,EAAE,mDAAmD;QAChE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;IACD,cAAc,EAAE;QACd,WAAW,EAAE,wEAAwE;QACrF,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,IAAI;KACd;CACF,CAAC"}
@@ -3,9 +3,10 @@ import { setMaxListeners } from "node:events";
3
3
  import { LevelDbController } from "@lodestar/db";
4
4
  import { SlashingProtection, Validator, } from "@lodestar/validator";
5
5
  import { getMetrics } from "@lodestar/validator";
6
- import { RegistryMetricCreator, collectNodeJSMetrics, HttpMetricsServer, MonitoringService } from "@lodestar/beacon-node";
6
+ import { RegistryMetricCreator, collectNodeJSMetrics, getHttpMetricsServer, MonitoringService, } from "@lodestar/beacon-node";
7
+ import { getNodeLogger } from "@lodestar/logger/node";
7
8
  import { getBeaconConfigFromArgs } from "../../config/index.js";
8
- import { YargsError, getDefaultGraffiti, mkdir, getCliLogger, cleanOldLogFiles } from "../../util/index.js";
9
+ import { YargsError, cleanOldLogFiles, getDefaultGraffiti, mkdir, parseLoggerArgs } from "../../util/index.js";
9
10
  import { onGracefulShutdown, parseFeeRecipient, parseProposerConfig } from "../../util/index.js";
10
11
  import { getVersionData } from "../../util/version.js";
11
12
  import { getAccountPaths, getValidatorPaths } from "./paths.js";
@@ -24,12 +25,13 @@ export async function validatorHandler(args) {
24
25
  const doppelgangerProtectionEnabled = args.doppelgangerProtectionEnabled;
25
26
  const validatorPaths = getValidatorPaths(args, network);
26
27
  const accountPaths = getAccountPaths(args, network);
27
- const { logger, logParams } = getCliLogger(args, { defaultLogFilepath: path.join(validatorPaths.dataDir, "validator.log") }, config);
28
+ const defaultLogFilepath = path.join(validatorPaths.dataDir, "validator.log");
29
+ const logger = getNodeLogger(parseLoggerArgs(args, { defaultLogFilepath }, config));
28
30
  try {
29
- cleanOldLogFiles(logParams.filename, logParams.rotateMaxFiles);
31
+ cleanOldLogFiles(args, { defaultLogFilepath });
30
32
  }
31
33
  catch (e) {
32
- logger.debug("Not able to delete log files", logParams, e);
34
+ logger.debug("Not able to delete log files", {}, e);
33
35
  }
34
36
  const persistedKeysBackend = new PersistedKeysBackend(accountPaths);
35
37
  const valProposerConfig = getProposerConfigFromArgs(args, { persistedKeysBackend, accountPaths });
@@ -52,6 +54,11 @@ export async function validatorHandler(args) {
52
54
  };
53
55
  // This AbortController interrupts various validators ops: genesis req, clients call, clock etc
54
56
  const abortController = new AbortController();
57
+ // We set infinity for abort controller used for validator operations,
58
+ // to prevent MaxListenersExceededWarning which get logged when listeners > 10
59
+ // Since it is perfectly fine to have listeners > 10
60
+ setMaxListeners(Infinity, abortController.signal);
61
+ onGracefulShutdownCbs.push(async () => abortController.abort());
55
62
  /**
56
63
  * For rationale and documentation of how signers are loaded from args and disk,
57
64
  * see {@link PersistedKeysBackend} and {@link getSignersFromArgs}
@@ -69,11 +76,6 @@ export async function validatorHandler(args) {
69
76
  }
70
77
  }
71
78
  logSigners(logger, signers);
72
- // We set infinity for abort controller used for validator operations,
73
- // to prevent MaxListenersExceededWarning which get logged when listeners > 10
74
- // Since it is perfectly fine to have listeners > 10
75
- setMaxListeners(Infinity, abortController.signal);
76
- onGracefulShutdownCbs.push(async () => abortController.abort());
77
79
  const dbOps = {
78
80
  config,
79
81
  controller: new LevelDbController({ name: dbPath }, { metrics: null, logger }),
@@ -93,9 +95,8 @@ export async function validatorHandler(args) {
93
95
  if (args["metrics"]) {
94
96
  const port = (_a = args["metrics.port"]) !== null && _a !== void 0 ? _a : validatorMetricsDefaultOptions.port;
95
97
  const address = (_b = args["metrics.address"]) !== null && _b !== void 0 ? _b : validatorMetricsDefaultOptions.address;
96
- const metricsServer = new HttpMetricsServer({ port, address }, { register, logger });
97
- onGracefulShutdownCbs.push(() => metricsServer.stop());
98
- await metricsServer.start();
98
+ const metricsServer = await getHttpMetricsServer({ port, address }, { register, logger });
99
+ onGracefulShutdownCbs.push(() => metricsServer.close());
99
100
  }
100
101
  }
101
102
  if (args["monitoring.endpoint"]) {
@@ -107,8 +108,7 @@ export async function validatorHandler(args) {
107
108
  requestTimeout: (_e = args["monitoring.requestTimeout"]) !== null && _e !== void 0 ? _e : requestTimeout,
108
109
  collectSystemStats: (_f = args["monitoring.collectSystemStats"]) !== null && _f !== void 0 ? _f : collectSystemStats,
109
110
  }, { register: register, logger });
110
- onGracefulShutdownCbs.push(() => monitoring.stop());
111
- monitoring.start();
111
+ onGracefulShutdownCbs.push(() => monitoring.close());
112
112
  }
113
113
  // This promise resolves once genesis is available.
114
114
  // It will wait for genesis, so this promise can be potentially very long
@@ -142,6 +142,7 @@ export async function validatorHandler(args) {
142
142
  port: args["keymanager.port"],
143
143
  cors: args["keymanager.cors"],
144
144
  isAuthEnabled: args["keymanager.authEnabled"],
145
+ headerLimit: args["keymanager.headerLimit"],
145
146
  bodyLimit: args["keymanager.bodyLimit"],
146
147
  tokenDir: dbPath,
147
148
  }, { config, logger, api: keymanagerApi, metrics: metrics ? metrics.keymanagerApiRest : null });
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/validator/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cmds/validator/handler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAC/C,OAAO,EAEL,kBAAkB,EAClB,SAAS,GAGV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,UAAU,EAAkB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,KAAK,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAC7G,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAC,eAAe,EAAE,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAC9D,OAAO,EAAoB,8BAA8B,EAAE,iCAAiC,EAAC,MAAM,cAAc,CAAC;AAClH,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAC,oBAAoB,EAAC,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAC,uBAAuB,EAAC,MAAM,wBAAwB,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAoC;;IACzE,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAExD,MAAM,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,CAAC;IAEzE,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAEpD,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAClF,IAAI;QACF,gBAAgB,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAC,CAAC,CAAC;KAC9C;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,EAAE,CAAU,CAAC,CAAC;KAC9D;IAED,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACpE,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,IAAI,EAAE,EAAC,oBAAoB,EAAE,YAAY,EAAC,CAAC,CAAC;IAEhG,MAAM,EAAC,OAAO,EAAE,MAAM,EAAC,GAAG,cAAc,EAAE,CAAC;IAC3C,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;IACpD,IAAI,IAAI,CAAC,WAAW;QAAE,MAAM,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IAC5G,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAC,IAAI,EAAE,cAAc,CAAC,eAAe,EAAC,CAAC,CAAC;IAEtF,MAAM,MAAM,GAAG,cAAc,CAAC,eAAe,CAAC;IAC9C,KAAK,CAAC,MAAM,CAAC,CAAC;IAEd,MAAM,qBAAqB,GAAmC,EAAE,CAAC;IACjE,kBAAkB,CAAC,KAAK,IAAI,EAAE;QAC5B,KAAK,MAAM,EAAE,IAAI,qBAAqB;YAAE,MAAM,EAAE,EAAE,CAAC;IACrD,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7B,mFAAmF;IACnF,MAAM,uBAAuB,GAA4B,CAAC,GAAG,EAAE,EAAE;QAC/D,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,+FAA+F;IAC/F,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAE9C,sEAAsE;IACtE,8EAA8E;IAC9E,oDAAoD;IACpD,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAElD,qBAAqB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;IAEhE;;;;;OAKG;IACH,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAC,CAAC,CAAC;IAElG,4CAA4C;IAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;YACtB,MAAM,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;SACnH;aAAM;YACL,MAAM,IAAI,UAAU,CAClB,wIAAwI,CACzI,CAAC;SACH;KACF;IAED,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5B,MAAM,KAAK,GAAG;QACZ,MAAM;QACN,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC;KAC3E,CAAC;IACF,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAE/B,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEzD,sFAAsF;IACtF,sDAAsD;IAEtD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrG,MAAM,OAAO,GAAG,QAAQ,IAAI,UAAU,CAAC,QAAsC,EAAE,EAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC;IAE3G,+CAA+C;IAC/C,sDAAsD;IAEtD,IAAI,OAAO,EAAE;QACX,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAE/B,sDAAsD;QACtD,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE;YACnB,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,cAAc,CAAC,mCAAI,8BAA8B,CAAC,IAAI,CAAC;YACzE,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,iBAAiB,CAAC,mCAAI,8BAA8B,CAAC,OAAO,CAAC;YAClF,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;YAEtF,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;SACzD;KACF;IAED,IAAI,IAAI,CAAC,qBAAqB,CAAC,EAAE;QAC/B,MAAM,EAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAC,GAAG,iCAAiC,CAAC;QAEvG,MAAM,UAAU,GAAG,IAAI,iBAAiB,CACtC,WAAW,EACX;YACE,QAAQ,EAAE,IAAI,CAAC,qBAAqB,CAAC;YACrC,QAAQ,EAAE,MAAA,IAAI,CAAC,qBAAqB,CAAC,mCAAI,QAAQ;YACjD,YAAY,EAAE,MAAA,IAAI,CAAC,yBAAyB,CAAC,mCAAI,YAAY;YAC7D,cAAc,EAAE,MAAA,IAAI,CAAC,2BAA2B,CAAC,mCAAI,cAAc;YACnE,kBAAkB,EAAE,MAAA,IAAI,CAAC,+BAA+B,CAAC,mCAAI,kBAAkB;SAChF,EACD,EAAC,QAAQ,EAAE,QAAiC,EAAE,MAAM,EAAC,CACtD,CAAC;QAEF,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;KACtD;IAED,mDAAmD;IACnD,yEAAyE;IAEzE,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,wBAAwB,CACxD;QACE,KAAK;QACL,kBAAkB;QAClB,GAAG,EAAE,IAAI,CAAC,WAAW;QACrB,MAAM;QACN,uBAAuB;QACvB,OAAO;QACP,eAAe;QACf,6BAA6B;QAC7B,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;QAC7D,6BAA6B,EAAE,IAAI,CAAC,6BAA6B;QACjE,0BAA0B,EAAE,IAAI,CAAC,0BAA0B;QAC3D,iBAAiB;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,EACD,OAAO,CACR,CAAC;IAEF,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAEpD,+BAA+B;IAC/B,gDAAgD;IAChD,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;QACtB,qFAAqF;QACrF,MAAM,2BAA2B,GAAG,IAAI,CAAC,oBAAoB,KAAK,SAAS,CAAC;QAC5E,IAAI,2BAA2B,EAAE;YAC/B,MAAM,CAAC,IAAI,CACT,iIAAiI,CAClI,CAAC;SACH;QAED,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,SAAS,EAAE,oBAAoB,EAAE,2BAA2B,CAAC,CAAC;QACtG,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,CAClD;YACE,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC;YAC7B,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC;YAC7C,WAAW,EAAE,IAAI,CAAC,wBAAwB,CAAC;YAC3C,SAAS,EAAE,IAAI,CAAC,sBAAsB,CAAC;YACvC,QAAQ,EAAE,MAAM;SACjB,EACD,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAC,CAC1F,CAAC;QACF,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3D,MAAM,gBAAgB,CAAC,MAAM,EAAE,CAAC;KACjC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,IAAuB,EACvB,EACE,oBAAoB,EACpB,YAAY,GACuE;;IAErF,MAAM,aAAa,GAAG;QACpB,QAAQ,EAAE,MAAA,IAAI,CAAC,QAAQ,mCAAI,kBAAkB,EAAE;QAC/C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;QACrD,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,SAAS;QACpG,OAAO,EAAE;YACP,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,eAAe;YAC9B,SAAS,EAAE,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAC5D;KACF,CAAC;IAEF,IAAI,iBAA0C,CAAC;IAC/C,MAAM,4BAA4B,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,CAAC;IAEhF,IAAI,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QACxD,wBAAwB;QACxB,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,MAAM,IAAI,UAAU,CAClB,+IAA+I,YAAY,CAAC,WAAW,kBAAkB,CAC1L,CAAC;SACH;QACD,iBAAiB,GAAG,EAAC,cAAc,EAAE,4BAA4B,EAAE,aAAa,EAAC,CAAC;KACnF;SAAM;QACL,8BAA8B;QAC9B,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,oFAAoF;YACpF,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;SACnF;aAAM;YACL,iBAAiB,GAAG,EAAC,aAAa,EAA4B,CAAC;SAChE;KACF;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAS,qBAAqB,CAAC,gBAAyB;IACtD,IAAI,gBAAgB,EAAE;QACpB,QAAQ,gBAAgB,EAAE;YACxB,KAAK,WAAW;gBACd,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM;YACR;gBACE,MAAM,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACnE;KACF;IACD,OAAO,gBAAoC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { SignerLocal } from "@lodestar/validator";
2
+ import { LogLevel, Logger } from "@lodestar/utils";
3
+ import { LocalKeystoreDefinition } from "./interface.js";
4
+ type KeystoreDecryptOptions = {
5
+ ignoreLockFile?: boolean;
6
+ onDecrypt?: (index: number) => void;
7
+ cacheFilePath?: string;
8
+ logger: Pick<Logger, LogLevel.info | LogLevel.warn | LogLevel.debug>;
9
+ signal: AbortSignal;
10
+ };
11
+ /**
12
+ * Decrypt keystore definitions using a thread pool
13
+ */
14
+ export declare function decryptKeystoreDefinitions(keystoreDefinitions: LocalKeystoreDefinition[], opts: KeystoreDecryptOptions): Promise<SignerLocal[]>;
15
+ export {};
16
+ //# sourceMappingURL=decryptKeystoreDefinitions.d.ts.map
@@ -0,0 +1,108 @@
1
+ import path from "node:path";
2
+ import { SignerType } from "@lodestar/validator";
3
+ import bls from "@chainsafe/bls";
4
+ import { lockFilepath, unlockFilepath } from "../../../util/lockfile.js";
5
+ import { clearKeystoreCache, loadKeystoreCache, writeKeystoreCache } from "./keystoreCache.js";
6
+ import { DecryptKeystoresThreadPool } from "./decryptKeystores/index.js";
7
+ /**
8
+ * Decrypt keystore definitions using a thread pool
9
+ */
10
+ export async function decryptKeystoreDefinitions(keystoreDefinitions, opts) {
11
+ if (opts.cacheFilePath) {
12
+ try {
13
+ const signers = await loadKeystoreCache(opts.cacheFilePath, keystoreDefinitions);
14
+ for (const { keystorePath } of keystoreDefinitions) {
15
+ lockKeystore(keystorePath, opts);
16
+ }
17
+ if (opts === null || opts === void 0 ? void 0 : opts.onDecrypt) {
18
+ opts === null || opts === void 0 ? void 0 : opts.onDecrypt(signers.length - 1);
19
+ }
20
+ opts.logger.debug("Loaded keystores via keystore cache");
21
+ return signers;
22
+ }
23
+ catch {
24
+ // Some error loading the cache, ignore and invalidate cache
25
+ await clearKeystoreCache(opts.cacheFilePath);
26
+ }
27
+ }
28
+ const keystoreCount = keystoreDefinitions.length;
29
+ const signers = new Array(keystoreCount);
30
+ const passwords = new Array(keystoreCount);
31
+ const errors = [];
32
+ const decryptKeystores = new DecryptKeystoresThreadPool(keystoreCount, opts.signal);
33
+ for (const [index, definition] of keystoreDefinitions.entries()) {
34
+ lockKeystore(definition.keystorePath, opts);
35
+ decryptKeystores.queue(definition, (secretKeyBytes) => {
36
+ const signer = {
37
+ type: SignerType.Local,
38
+ secretKey: bls.SecretKey.fromBytes(secretKeyBytes),
39
+ };
40
+ signers[index] = signer;
41
+ passwords[index] = definition.password;
42
+ if (opts === null || opts === void 0 ? void 0 : opts.onDecrypt) {
43
+ opts === null || opts === void 0 ? void 0 : opts.onDecrypt(index);
44
+ }
45
+ }, (error) => {
46
+ // In-progress tasks can't be canceled, so there's a chance that multiple errors may be caught
47
+ // add to the list of errors
48
+ errors.push({ keystoreFile: path.basename(definition.keystorePath), error });
49
+ // cancel all pending tasks, no need to continue decrypting after we hit one error
50
+ decryptKeystores.cancel();
51
+ });
52
+ }
53
+ await decryptKeystores.completed();
54
+ if (errors.length > 0) {
55
+ // If an error occurs, the program isn't going to be running,
56
+ // so we should unlock all lockfiles we created
57
+ for (const { keystorePath } of keystoreDefinitions) {
58
+ unlockFilepath(keystorePath);
59
+ }
60
+ throw formattedError(errors, signers, keystoreCount);
61
+ }
62
+ if (opts.cacheFilePath) {
63
+ await writeKeystoreCache(opts.cacheFilePath, signers, passwords);
64
+ opts.logger.debug("Written keystores to keystore cache");
65
+ }
66
+ return signers;
67
+ }
68
+ function lockKeystore(keystorePath, opts) {
69
+ try {
70
+ lockFilepath(keystorePath);
71
+ }
72
+ catch (e) {
73
+ if (opts.ignoreLockFile) {
74
+ opts.logger.warn("Keystore forcefully loaded even though lockfile exists", {
75
+ path: keystorePath,
76
+ });
77
+ }
78
+ else {
79
+ throw e;
80
+ }
81
+ }
82
+ }
83
+ function formattedError(errors, signers, keystoreCount) {
84
+ // Filter out errors due to terminating the thread pool
85
+ // https://github.com/ChainSafe/threads.js/blob/df351552cb7d08b8465f5d1e7c543c952d74ac67/src/master/pool.ts#L244
86
+ const decryptErrors = errors.filter(({ error }) => !error.message.startsWith("Pool has been terminated"));
87
+ const errorCount = decryptErrors.length;
88
+ const decryptedCount = signers.filter(Boolean).length;
89
+ const abortedCount = keystoreCount - errorCount - decryptedCount;
90
+ let message = "Error importing keystores";
91
+ if (errorCount === 1) {
92
+ const { keystoreFile, error } = decryptErrors[0];
93
+ message = `Error importing keystore\n\n${keystoreFile}: ${error.message}`;
94
+ }
95
+ else if (errorCount > 1) {
96
+ message =
97
+ "Multiple errors importing keystores\n\n" +
98
+ decryptErrors.map(({ keystoreFile, error }) => `${keystoreFile}: ${error.message}`).join("\n");
99
+ }
100
+ if (abortedCount > 0) {
101
+ message += `\n\nAborted ${abortedCount} pending keystore import${abortedCount > 1 ? "s" : ""}`;
102
+ }
103
+ const error = new Error(message);
104
+ // Don't print out stack trace
105
+ error.stack = message;
106
+ return error;
107
+ }
108
+ //# sourceMappingURL=decryptKeystoreDefinitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decryptKeystoreDefinitions.js","sourceRoot":"","sources":["../../../../src/cmds/validator/keymanager/decryptKeystoreDefinitions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { DecryptKeystoresThreadPool } from "./threadPool.js";
2
+ //# sourceMappingURL=index.d.ts.map