@chainsafe/lodestar 1.9.0-dev.e2e5417f48 → 1.9.0-dev.e8b53ea874

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 (101) hide show
  1. package/.git-data.json +1 -1
  2. package/lib/cmds/beacon/handler.js +3 -7
  3. package/lib/cmds/beacon/handler.js.map +1 -1
  4. package/lib/cmds/beacon/initBeaconState.js +23 -9
  5. package/lib/cmds/beacon/initBeaconState.js.map +1 -1
  6. package/lib/cmds/beacon/options.d.ts +3 -5
  7. package/lib/cmds/beacon/options.js +10 -8
  8. package/lib/cmds/beacon/options.js.map +1 -1
  9. package/lib/cmds/dev/options.d.ts +6 -5
  10. package/lib/cmds/lightclient/handler.js +5 -0
  11. package/lib/cmds/lightclient/handler.js.map +1 -1
  12. package/lib/cmds/lightclient/options.d.ts +2 -2
  13. package/lib/cmds/lightclient/options.js +0 -2
  14. package/lib/cmds/lightclient/options.js.map +1 -1
  15. package/lib/cmds/validator/blsToExecutionChange.d.ts +3 -3
  16. package/lib/cmds/validator/blsToExecutionChange.js +12 -5
  17. package/lib/cmds/validator/blsToExecutionChange.js.map +1 -1
  18. package/lib/cmds/validator/handler.js +13 -14
  19. package/lib/cmds/validator/handler.js.map +1 -1
  20. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions.d.ts +16 -0
  21. package/lib/cmds/validator/keymanager/{decryptKeystoreDefinitions/index.js → decryptKeystoreDefinitions.js} +42 -32
  22. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions.js.map +1 -0
  23. package/lib/cmds/validator/keymanager/decryptKeystores/index.d.ts +2 -0
  24. package/lib/cmds/validator/keymanager/decryptKeystores/index.js +2 -0
  25. package/lib/cmds/validator/keymanager/decryptKeystores/index.js.map +1 -0
  26. package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.d.ts +6 -0
  27. package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.js +19 -0
  28. package/lib/cmds/validator/keymanager/decryptKeystores/poolSize.js.map +1 -0
  29. package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.d.ts +25 -0
  30. package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.js +53 -0
  31. package/lib/cmds/validator/keymanager/decryptKeystores/threadPool.js.map +1 -0
  32. package/lib/cmds/validator/keymanager/decryptKeystores/types.d.ts +11 -0
  33. package/lib/cmds/validator/keymanager/decryptKeystores/types.js +4 -0
  34. package/lib/cmds/validator/keymanager/decryptKeystores/types.js.map +1 -0
  35. package/lib/cmds/validator/keymanager/decryptKeystores/worker.d.ts +9 -0
  36. package/lib/cmds/validator/keymanager/{decryptKeystoreDefinitions → decryptKeystores}/worker.js +6 -5
  37. package/lib/cmds/validator/keymanager/decryptKeystores/worker.js.map +1 -0
  38. package/lib/cmds/validator/keymanager/impl.d.ts +2 -1
  39. package/lib/cmds/validator/keymanager/impl.js +23 -16
  40. package/lib/cmds/validator/keymanager/impl.js.map +1 -1
  41. package/lib/cmds/validator/keymanager/keystoreCache.js +2 -1
  42. package/lib/cmds/validator/keymanager/keystoreCache.js.map +1 -1
  43. package/lib/cmds/validator/options.d.ts +2 -2
  44. package/lib/cmds/validator/options.js +1 -1
  45. package/lib/cmds/validator/options.js.map +1 -1
  46. package/lib/cmds/validator/signers/importExternalKeystores.js +0 -2
  47. package/lib/cmds/validator/signers/importExternalKeystores.js.map +1 -1
  48. package/lib/cmds/validator/signers/index.js +3 -1
  49. package/lib/cmds/validator/signers/index.js.map +1 -1
  50. package/lib/cmds/validator/slashingProtection/export.d.ts +1 -1
  51. package/lib/cmds/validator/slashingProtection/export.js +6 -3
  52. package/lib/cmds/validator/slashingProtection/export.js.map +1 -1
  53. package/lib/cmds/validator/slashingProtection/import.d.ts +1 -1
  54. package/lib/cmds/validator/slashingProtection/import.js +7 -3
  55. package/lib/cmds/validator/slashingProtection/import.js.map +1 -1
  56. package/lib/cmds/validator/slashingProtection/utils.d.ts +2 -2
  57. package/lib/cmds/validator/slashingProtection/utils.js +4 -8
  58. package/lib/cmds/validator/slashingProtection/utils.js.map +1 -1
  59. package/lib/options/beaconNodeOptions/api.d.ts +6 -6
  60. package/lib/options/beaconNodeOptions/api.js +2 -2
  61. package/lib/options/beaconNodeOptions/api.js.map +1 -1
  62. package/lib/options/beaconNodeOptions/builder.d.ts +4 -4
  63. package/lib/options/beaconNodeOptions/builder.js +10 -5
  64. package/lib/options/beaconNodeOptions/builder.js.map +1 -1
  65. package/lib/options/beaconNodeOptions/chain.d.ts +13 -12
  66. package/lib/options/beaconNodeOptions/chain.js +12 -2
  67. package/lib/options/beaconNodeOptions/chain.js.map +1 -1
  68. package/lib/options/beaconNodeOptions/eth1.d.ts +6 -6
  69. package/lib/options/beaconNodeOptions/eth1.js +6 -1
  70. package/lib/options/beaconNodeOptions/eth1.js.map +1 -1
  71. package/lib/options/beaconNodeOptions/execution.d.ts +1 -1
  72. package/lib/options/beaconNodeOptions/execution.js +9 -5
  73. package/lib/options/beaconNodeOptions/execution.js.map +1 -1
  74. package/lib/options/beaconNodeOptions/index.d.ts +12 -11
  75. package/lib/options/beaconNodeOptions/metrics.d.ts +1 -1
  76. package/lib/options/beaconNodeOptions/metrics.js +2 -2
  77. package/lib/options/beaconNodeOptions/metrics.js.map +1 -1
  78. package/lib/options/beaconNodeOptions/monitoring.d.ts +5 -5
  79. package/lib/options/beaconNodeOptions/network.d.ts +19 -19
  80. package/lib/options/beaconNodeOptions/network.js +2 -2
  81. package/lib/options/beaconNodeOptions/network.js.map +1 -1
  82. package/lib/options/beaconNodeOptions/sync.d.ts +4 -4
  83. package/lib/options/beaconNodeOptions/sync.js +2 -1
  84. package/lib/options/beaconNodeOptions/sync.js.map +1 -1
  85. package/lib/options/globalOptions.d.ts +2 -2
  86. package/lib/options/logOptions.js +1 -1
  87. package/lib/options/logOptions.js.map +1 -1
  88. package/lib/util/command.d.ts +2 -1
  89. package/lib/util/command.js.map +1 -1
  90. package/lib/util/file.js.map +1 -1
  91. package/package.json +14 -14
  92. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/index.d.ts +0 -8
  93. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/index.js.map +0 -1
  94. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/poolSize.d.ts +0 -6
  95. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/poolSize.js +0 -19
  96. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/poolSize.js.map +0 -1
  97. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/types.d.ts +0 -12
  98. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/types.js +0 -2
  99. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/types.js.map +0 -1
  100. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/worker.d.ts +0 -9
  101. package/lib/cmds/validator/keymanager/decryptKeystoreDefinitions/worker.js.map +0 -1
@@ -35,6 +35,9 @@ export const exportCmd = {
35
35
  },
36
36
  handler: async (args) => {
37
37
  var _a;
38
+ const { file } = args;
39
+ if (!file)
40
+ throw new YargsError("must provide file arg");
38
41
  const { config, network } = getBeaconConfigFromArgs(args);
39
42
  const validatorPaths = getValidatorPaths(args, network);
40
43
  // slashingProtection commands are fast so do not require logFile feature
@@ -42,7 +45,7 @@ export const exportCmd = {
42
45
  const { validatorsDbDir: dbPath } = getValidatorPaths(args, network);
43
46
  const formatVersion = { version: "5" };
44
47
  logger.info("Exporting slashing protection data", { ...formatVersion, dbPath });
45
- const { slashingProtection, metadata } = getSlashingProtection(args, network, logger);
48
+ const { slashingProtection, metadata } = await getSlashingProtection(args, network, logger);
46
49
  // When exporting validator DB should already have genesisValidatorsRoot persisted.
47
50
  // For legacy node and general fallback, fetch from:
48
51
  // - known genesis data from existing network
@@ -70,8 +73,8 @@ export const exportCmd = {
70
73
  }
71
74
  logger.info("Starting export for pubkeys found", { count: pubkeysToExport.length });
72
75
  const interchange = await slashingProtection.exportInterchange(genesisValidatorsRoot, pubkeysToExport, formatVersion, logger);
73
- logger.info("Writing slashing protection data", { file: args.file });
74
- writeFile600Perm(args.file, interchange);
76
+ logger.info("Writing slashing protection data", { file });
77
+ writeFile600Perm(file, interchange);
75
78
  logger.info("Export completed successfully");
76
79
  },
77
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../src/cmds/validator/slashingProtection/export.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAa,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AACrH,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,MAAM,YAAY,CAAC;AAQ3E,MAAM,CAAC,MAAM,SAAS,GACpB;IACE,OAAO,EAAE,QAAQ;IAEjB,QAAQ,EAAE,6BAA6B;IAEvC,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,+EAA+E;YACxF,WAAW,EAAE,kFAAkF;SAChG;KACF;IAED,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,WAAW,EAAE,gEAAgE;YAC7E,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,QAAQ;SACf;QACD,OAAO,EAAE;YACP,WAAW,EAAE,oEAAoE;YACjF,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,CAAC,OAAiB,EAAY,EAAE;YACtC,0CAA0C;YAC1C,OAAO;iBACJ,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC9B,IAAI,CAAC,CAAC,CAAC;iBACP,GAAG,CAAC,cAAc,CAAC;SACzB;KACF;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;;QACtB,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,yEAAyE;QACzE,MAAM,MAAM,GAAG,aAAa,CAC1B,eAAe,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,EAAC,EAAE,MAAM,CAAC,CACxG,CAAC;QAEF,MAAM,EAAC,eAAe,EAAE,MAAM,EAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEnE,MAAM,aAAa,GAA6B,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAC,GAAG,aAAa,EAAE,MAAM,EAAC,CAAC,CAAC;QAE9E,MAAM,EAAC,kBAAkB,EAAE,QAAQ,EAAC,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEpF,mFAAmF;QACnF,oDAAoD;QACpD,6CAA6C;QAC7C,gCAAgC;QAChC,MAAM,qBAAqB,GACzB,MAAA,CAAC,MAAM,QAAQ,CAAC,wBAAwB,EAAE,CAAC,mCAAI,CAAC,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAExF,MAAM,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,CAAC;QAC1D,IAAI,eAAe,GAAG,UAAU,CAAC;QAEjC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC,CAAC,CAAC;YAC/E,MAAM,eAAe,GAAG,EAAE,CAAC;YAE3B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;gBACpC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE;oBACnC,MAAM,IAAI,UAAU,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;iBACrD;gBACD,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC;gBACtF,IAAI,CAAC,cAAc,EAAE;oBACnB,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC,CAAC;iBAChF;qBAAM;oBACL,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACtC;aACF;YAED,eAAe,GAAG,eAAe,CAAC;SACnC;QAED,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAC,KAAK,EAAE,eAAe,CAAC,MAAM,EAAC,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,CAC5D,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,MAAM,CACP,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QACnE,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../src/cmds/validator/slashingProtection/export.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAa,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AACrH,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,MAAM,YAAY,CAAC;AAQ3E,MAAM,CAAC,MAAM,SAAS,GACpB;IACE,OAAO,EAAE,QAAQ;IAEjB,QAAQ,EAAE,6BAA6B;IAEvC,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,+EAA+E;YACxF,WAAW,EAAE,kFAAkF;SAChG;KACF;IAED,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,WAAW,EAAE,gEAAgE;YAC7E,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,QAAQ;SACf;QACD,OAAO,EAAE;YACP,WAAW,EAAE,oEAAoE;YACjF,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,CAAC,OAAiB,EAAY,EAAE;YACtC,0CAA0C;YAC1C,OAAO;iBACJ,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;iBAC9B,IAAI,CAAC,CAAC,CAAC;iBACP,GAAG,CAAC,cAAc,CAAC;SACzB;KACF;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;;QACtB,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,UAAU,CAAC,uBAAuB,CAAC,CAAC;QAEzD,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,yEAAyE;QACzE,MAAM,MAAM,GAAG,aAAa,CAC1B,eAAe,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,EAAC,EAAE,MAAM,CAAC,CACxG,CAAC;QAEF,MAAM,EAAC,eAAe,EAAE,MAAM,EAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEnE,MAAM,aAAa,GAA6B,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAC,GAAG,aAAa,EAAE,MAAM,EAAC,CAAC,CAAC;QAE9E,MAAM,EAAC,kBAAkB,EAAE,QAAQ,EAAC,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAE1F,mFAAmF;QACnF,oDAAoD;QACpD,6CAA6C;QAC7C,gCAAgC;QAChC,MAAM,qBAAqB,GACzB,MAAA,CAAC,MAAM,QAAQ,CAAC,wBAAwB,EAAE,CAAC,mCAAI,CAAC,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAExF,MAAM,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,WAAW,EAAE,CAAC;QAC1D,IAAI,eAAe,GAAG,UAAU,CAAC;QAEjC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC,CAAC,CAAC;YAC/E,MAAM,eAAe,GAAG,EAAE,CAAC;YAE3B,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;gBACpC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE;oBACnC,MAAM,IAAI,UAAU,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;iBACrD;gBACD,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC;gBACtF,IAAI,CAAC,cAAc,EAAE;oBACnB,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC,CAAC;iBAChF;qBAAM;oBACL,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACtC;aACF;YAED,eAAe,GAAG,eAAe,CAAC;SACnC;QAED,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAC,KAAK,EAAE,eAAe,CAAC,MAAM,EAAC,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,CAC5D,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,MAAM,CACP,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;QACxD,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;CACF,CAAC"}
@@ -4,7 +4,7 @@ import { LogArgs } from "../../../options/logOptions.js";
4
4
  import { AccountValidatorArgs } from "../options.js";
5
5
  import { ISlashingProtectionArgs } from "./options.js";
6
6
  type ImportArgs = {
7
- file: string;
7
+ file?: string;
8
8
  };
9
9
  export declare const importCmd: CliCommand<ImportArgs, ISlashingProtectionArgs & AccountValidatorArgs & GlobalArgs & LogArgs>;
10
10
  export {};
@@ -1,6 +1,7 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { getNodeLogger } from "@lodestar/logger/node";
4
+ import { YargsError } from "../../../util/index.js";
4
5
  import { parseLoggerArgs } from "../../../util/logger.js";
5
6
  import { getBeaconConfigFromArgs } from "../../../config/index.js";
6
7
  import { getValidatorPaths } from "../paths.js";
@@ -23,20 +24,23 @@ export const importCmd = {
23
24
  },
24
25
  handler: async (args) => {
25
26
  var _a;
27
+ const { file } = args;
28
+ if (!file)
29
+ throw new YargsError("must provide file arg");
26
30
  const { config, network } = getBeaconConfigFromArgs(args);
27
31
  const validatorPaths = getValidatorPaths(args, network);
28
32
  // slashingProtection commands are fast so do not require logFile feature
29
33
  const logger = getNodeLogger(parseLoggerArgs(args, { defaultLogFilepath: path.join(validatorPaths.dataDir, "validator.log") }, config));
30
34
  const { validatorsDbDir: dbPath } = getValidatorPaths(args, network);
31
35
  logger.info("Importing slashing protection data", { dbPath });
32
- const { slashingProtection, metadata } = getSlashingProtection(args, network, logger);
36
+ const { slashingProtection, metadata } = await getSlashingProtection(args, network, logger);
33
37
  // Fetch genesisValidatorsRoot from:
34
38
  // - existing cached in validator DB
35
39
  // - known genesis data from existing network
36
40
  // - else fetch from beacon node
37
41
  const genesisValidatorsRoot = (_a = (await metadata.getGenesisValidatorsRoot())) !== null && _a !== void 0 ? _a : (await getGenesisValidatorsRoot(args));
38
- logger.verbose("Reading slashing protection data", { file: args.file });
39
- const interchangeStr = await fs.promises.readFile(args.file, "utf8");
42
+ logger.verbose("Reading slashing protection data", { file });
43
+ const interchangeStr = await fs.promises.readFile(file, "utf8");
40
44
  const interchangeJson = JSON.parse(interchangeStr);
41
45
  await slashingProtection.importInterchange(interchangeJson, genesisValidatorsRoot, logger);
42
46
  logger.info("Import completed successfully");
@@ -1 +1 @@
1
- {"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../src/cmds/validator/slashingProtection/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,MAAM,YAAY,CAAC;AAO3E,MAAM,CAAC,MAAM,SAAS,GACpB;IACE,OAAO,EAAE,QAAQ;IAEjB,QAAQ,EAAE,6BAA6B;IAEvC,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,+EAA+E;YACxF,WAAW,EAAE,0DAA0D;SACxE;KACF;IAED,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,WAAW,EAAE,6DAA6D;YAC1E,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,QAAQ;SACf;KACF;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;;QACtB,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,yEAAyE;QACzE,MAAM,MAAM,GAAG,aAAa,CAC1B,eAAe,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,EAAC,EAAE,MAAM,CAAC,CACxG,CAAC;QAEF,MAAM,EAAC,eAAe,EAAE,MAAM,EAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEnE,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;QAE5D,MAAM,EAAC,kBAAkB,EAAE,QAAQ,EAAC,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEpF,oCAAoC;QACpC,oCAAoC;QACpC,6CAA6C;QAC7C,gCAAgC;QAChC,MAAM,qBAAqB,GACzB,MAAA,CAAC,MAAM,QAAQ,CAAC,wBAAwB,EAAE,CAAC,mCAAI,CAAC,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAExF,MAAM,CAAC,OAAO,CAAC,kCAAkC,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;QACtE,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAgB,CAAC;QAElE,MAAM,kBAAkB,CAAC,iBAAiB,CAAC,eAAe,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAC3F,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../src/cmds/validator/slashingProtection/import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAa,UAAU,EAAC,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,wBAAwB,EAAE,qBAAqB,EAAC,MAAM,YAAY,CAAC;AAO3E,MAAM,CAAC,MAAM,SAAS,GACpB;IACE,OAAO,EAAE,QAAQ;IAEjB,QAAQ,EAAE,6BAA6B;IAEvC,QAAQ,EAAE;QACR;YACE,OAAO,EAAE,+EAA+E;YACxF,WAAW,EAAE,0DAA0D;SACxE;KACF;IAED,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,WAAW,EAAE,6DAA6D;YAC1E,YAAY,EAAE,IAAI;YAClB,IAAI,EAAE,QAAQ;SACf;KACF;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;;QACtB,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,UAAU,CAAC,uBAAuB,CAAC,CAAC;QAEzD,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxD,yEAAyE;QACzE,MAAM,MAAM,GAAG,aAAa,CAC1B,eAAe,CAAC,IAAI,EAAE,EAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,EAAC,EAAE,MAAM,CAAC,CACxG,CAAC;QAEF,MAAM,EAAC,eAAe,EAAE,MAAM,EAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEnE,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;QAE5D,MAAM,EAAC,kBAAkB,EAAE,QAAQ,EAAC,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAE1F,oCAAoC;QACpC,oCAAoC;QACpC,6CAA6C;QAC7C,gCAAgC;QAChC,MAAM,qBAAqB,GACzB,MAAA,CAAC,MAAM,QAAQ,CAAC,wBAAwB,EAAE,CAAC,mCAAI,CAAC,MAAM,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAExF,MAAM,CAAC,OAAO,CAAC,kCAAkC,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAgB,CAAC;QAElE,MAAM,kBAAkB,CAAC,iBAAiB,CAAC,eAAe,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAC3F,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;CACF,CAAC"}
@@ -6,10 +6,10 @@ import { ISlashingProtectionArgs } from "./options.js";
6
6
  /**
7
7
  * Returns a new SlashingProtection object instance based on global args.
8
8
  */
9
- export declare function getSlashingProtection(args: GlobalArgs, network: string, logger: Logger): {
9
+ export declare function getSlashingProtection(args: GlobalArgs, network: string, logger: Logger): Promise<{
10
10
  slashingProtection: SlashingProtection;
11
11
  metadata: MetaDataRepository;
12
- };
12
+ }>;
13
13
  /**
14
14
  * Returns genesisValidatorsRoot from validator API client.
15
15
  */
@@ -8,17 +8,13 @@ import { getBeaconConfigFromArgs } from "../../../config/index.js";
8
8
  /**
9
9
  * Returns a new SlashingProtection object instance based on global args.
10
10
  */
11
- export function getSlashingProtection(args, network, logger) {
11
+ export async function getSlashingProtection(args, network, logger) {
12
12
  const validatorPaths = getValidatorPaths(args, network);
13
13
  const dbPath = validatorPaths.validatorsDbDir;
14
- const { config } = getBeaconConfigFromArgs(args);
15
- const dbOpts = {
16
- config,
17
- controller: new LevelDbController({ name: dbPath }, { logger }),
18
- };
14
+ const db = await LevelDbController.create({ name: dbPath }, { logger });
19
15
  return {
20
- slashingProtection: new SlashingProtection(dbOpts),
21
- metadata: new MetaDataRepository(dbOpts),
16
+ slashingProtection: new SlashingProtection(db),
17
+ metadata: new MetaDataRepository(db),
22
18
  };
23
19
  }
24
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/cmds/validator/slashingProtection/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,EAAS,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,WAAW,EAAc,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAqB,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAEnE,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AAGjE;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAgB,EAChB,OAAe,EACf,MAAc;IAEd,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,cAAc,CAAC,eAAe,CAAC;IAC9C,MAAM,EAAC,MAAM,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAuB;QACjC,MAAM;QACN,UAAU,EAAE,IAAI,iBAAiB,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,CAAC;KAC5D,CAAC;IAEF,OAAO;QACL,kBAAkB,EAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC;QAClD,QAAQ,EAAE,IAAI,kBAAkB,CAAC,MAAM,CAAC;KACzC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAA0C;IACvF,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAEnC,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,OAAsB,CAAC,CAAC;IAChE,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,OAAO,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;KACtD;IAED,MAAM,EAAC,MAAM,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAE9C,IAAI;QACF,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;KACxD;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SAC5B;QACD,MAAM,CAAC,CAAC;KACT;IAED,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/cmds/validator/slashingProtection/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,EAAS,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,WAAW,EAAc,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAC,iBAAiB,EAAC,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,uBAAuB,EAAC,MAAM,0BAA0B,CAAC;AAGjE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAgB,EAChB,OAAe,EACf,MAAc;IAEd,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,cAAc,CAAC,eAAe,CAAC;IAE9C,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IAEpE,OAAO;QACL,kBAAkB,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;QAC9C,QAAQ,EAAE,IAAI,kBAAkB,CAAC,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,IAA0C;IACvF,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAEnC,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,CAAC,OAAsB,CAAC,CAAC;IAChE,IAAI,cAAc,KAAK,SAAS,EAAE;QAChC,OAAO,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;KACtD;IAED,MAAM,EAAC,MAAM,EAAC,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,SAAS,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAE9C,IAAI;QACF,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;KACxD;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;SAC5B;QACD,MAAM,CAAC,CAAC;KACT;IAED,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC;AACrD,CAAC"}
@@ -1,14 +1,14 @@
1
1
  import { IBeaconNodeOptions } from "@lodestar/beacon-node";
2
2
  import { CliCommandOptions } from "../../util/index.js";
3
3
  export type ApiArgs = {
4
- "api.maxGindicesInProof": number;
5
- "rest.namespace": string[];
6
- "rest.cors": string;
4
+ "api.maxGindicesInProof"?: number;
5
+ "rest.namespace"?: string[];
6
+ "rest.cors"?: string;
7
7
  rest: boolean;
8
- "rest.address": string;
8
+ "rest.address"?: string;
9
9
  "rest.port": number;
10
- "rest.headerLimit": number;
11
- "rest.bodyLimit": number;
10
+ "rest.headerLimit"?: number;
11
+ "rest.bodyLimit"?: number;
12
12
  };
13
13
  export declare function parseArgs(args: ApiArgs): IBeaconNodeOptions["api"];
14
14
  export declare const options: CliCommandOptions<ApiArgs>;
@@ -18,7 +18,7 @@ export const options = {
18
18
  rest: {
19
19
  type: "boolean",
20
20
  description: "Enable/disable HTTP API",
21
- defaultDescription: String(defaultOptions.api.rest.enabled),
21
+ default: defaultOptions.api.rest.enabled,
22
22
  group: "api",
23
23
  },
24
24
  "api.maxGindicesInProof": {
@@ -57,7 +57,7 @@ export const options = {
57
57
  "rest.port": {
58
58
  type: "number",
59
59
  description: "Set port for HTTP API",
60
- defaultDescription: String(defaultOptions.api.rest.port),
60
+ default: defaultOptions.api.rest.port,
61
61
  group: "api",
62
62
  },
63
63
  "rest.headerLimit": {
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAsB,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAGxF,MAAM,UAAU,GAAG,GAAG,CAAC;AAavB,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,OAAO;QACL,kBAAkB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QAClD,IAAI,EAAE;YACJ,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAA6C;YACvE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC;YACvB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC;YACvB,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC;YACrC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC;SAClC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAA+B;IACjD,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,yBAAyB;QACtC,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3D,KAAK,EAAE,KAAK;KACb;IAED,wBAAwB,EAAE;QACxB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+EAA+E;QAC5F,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACjE,KAAK,EAAE,KAAK;KACb;IAED,gBAAgB,EAAE;QAChB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,CAAC,GAAG,aAAa,EAAE,UAAU,CAAC;QACvC,WAAW,EAAE,mDAAmD,UAAU,4BAA4B;QACtG,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/D,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,CAAC,UAAoB,EAAY,EAAE;YACzC,aAAa;YACb,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,OAAO,aAAa,CAAC;YAC1D,oDAAoD;YACpD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;KACF;IAED,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,qEAAqE;QAClF,kBAAkB,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;QAChD,KAAK,EAAE,KAAK;KACb;IAED,cAAc,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,uBAAuB;QACpC,kBAAkB,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO;QACnD,KAAK,EAAE,KAAK;KACb;IAED,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,uBAAuB;QACpC,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACxD,KAAK,EAAE,KAAK;KACb;IACD,kBAAkB,EAAE;QAClB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0FAA0F;KACxG;IACD,gBAAgB,EAAE;QAChB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wEAAwE;KACtF;CACF,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAsB,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAGxF,MAAM,UAAU,GAAG,GAAG,CAAC;AAavB,MAAM,UAAU,SAAS,CAAC,IAAa;IACrC,OAAO;QACL,kBAAkB,EAAE,IAAI,CAAC,wBAAwB,CAAC;QAClD,IAAI,EAAE;YACJ,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAA6C;YACvE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC;YACvB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC;YACvB,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC;YACrC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC;SAClC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAA+B;IACjD,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO;QACxC,KAAK,EAAE,KAAK;KACb;IAED,wBAAwB,EAAE;QACxB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+EAA+E;QAC5F,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACjE,KAAK,EAAE,KAAK;KACb;IAED,gBAAgB,EAAE;QAChB,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,CAAC,GAAG,aAAa,EAAE,UAAU,CAAC;QACvC,WAAW,EAAE,mDAAmD,UAAU,4BAA4B;QACtG,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;QAC/D,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,CAAC,UAAoB,EAAY,EAAE;YACzC,aAAa;YACb,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,OAAO,aAAa,CAAC;YAC1D,oDAAoD;YACpD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;KACF;IAED,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,qEAAqE;QAClF,kBAAkB,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;QAChD,KAAK,EAAE,KAAK;KACb;IAED,cAAc,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,uBAAuB;QACpC,kBAAkB,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO;QACnD,KAAK,EAAE,KAAK;KACb;IAED,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;QACrC,KAAK,EAAE,KAAK;KACb;IACD,kBAAkB,EAAE;QAClB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,0FAA0F;KACxG;IACD,gBAAgB,EAAE;QAChB,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wEAAwE;KACtF;CACF,CAAC"}
@@ -2,10 +2,10 @@ import { IBeaconNodeOptions } from "@lodestar/beacon-node";
2
2
  import { CliCommandOptions } from "../../util/index.js";
3
3
  export type ExecutionBuilderArgs = {
4
4
  builder: boolean;
5
- "builder.urls": string[];
6
- "builder.timeout": number;
7
- "builder.faultInspectionWindow": number;
8
- "builder.allowedFaults": number;
5
+ "builder.urls"?: string[];
6
+ "builder.timeout"?: number;
7
+ "builder.faultInspectionWindow"?: number;
8
+ "builder.allowedFaults"?: number;
9
9
  };
10
10
  export declare function parseArgs(args: ExecutionBuilderArgs): IBeaconNodeOptions["executionBuilder"];
11
11
  export declare const options: CliCommandOptions<ExecutionBuilderArgs>;
@@ -1,8 +1,9 @@
1
- import { defaultOptions } from "@lodestar/beacon-node";
1
+ import { defaultExecutionBuilderHttpOpts } from "@lodestar/beacon-node";
2
2
  export function parseArgs(args) {
3
+ var _a;
3
4
  return {
4
5
  enabled: args["builder"],
5
- urls: args["builder.urls"],
6
+ urls: (_a = args["builder.urls"]) !== null && _a !== void 0 ? _a : defaultExecutionBuilderHttpOpts.urls,
6
7
  timeout: args["builder.timeout"],
7
8
  faultInspectionWindow: args["builder.faultInspectionWindow"],
8
9
  allowedFaults: args["builder.allowedFaults"],
@@ -12,19 +13,23 @@ export const options = {
12
13
  builder: {
13
14
  description: "Enable builder interface",
14
15
  type: "boolean",
15
- defaultDescription: `${defaultOptions.executionBuilder.mode === "http" ? defaultOptions.executionBuilder.enabled : false}`,
16
+ default: defaultExecutionBuilderHttpOpts.enabled,
16
17
  group: "builder",
17
18
  },
18
19
  "builder.urls": {
19
20
  description: "Urls hosting the builder API",
21
+ defaultDescription: defaultExecutionBuilderHttpOpts.urls.join(","),
20
22
  type: "array",
21
- defaultDescription: defaultOptions.executionBuilder.mode === "http" ? defaultOptions.executionBuilder.urls.join(" ") : "",
23
+ string: true,
24
+ coerce: (urls) =>
25
+ // Parse ["url1,url2"] to ["url1", "url2"]
26
+ urls.map((item) => item.split(",")).flat(1),
22
27
  group: "builder",
23
28
  },
24
29
  "builder.timeout": {
25
30
  description: "Timeout in milliseconds for builder API HTTP client",
26
31
  type: "number",
27
- defaultDescription: defaultOptions.executionBuilder.mode === "http" ? String(defaultOptions.executionBuilder.timeout) : "",
32
+ defaultDescription: String(defaultExecutionBuilderHttpOpts.timeout),
28
33
  group: "builder",
29
34
  },
30
35
  "builder.faultInspectionWindow": {
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AAWzE,MAAM,UAAU,SAAS,CAAC,IAA0B;IAClD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC;QAC1B,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;QAChC,qBAAqB,EAAE,IAAI,CAAC,+BAA+B,CAAC;QAC5D,aAAa,EAAE,IAAI,CAAC,uBAAuB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAA4C;IAC9D,OAAO,EAAE;QACP,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,SAAS;QACf,kBAAkB,EAAE,GAClB,cAAc,CAAC,gBAAgB,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,KAC9F,EAAE;QACF,KAAK,EAAE,SAAS;KACjB;IAED,cAAc,EAAE;QACd,WAAW,EAAE,8BAA8B;QAC3C,IAAI,EAAE,OAAO;QACb,kBAAkB,EAChB,cAAc,CAAC,gBAAgB,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QACvG,KAAK,EAAE,SAAS;KACjB;IAED,iBAAiB,EAAE;QACjB,WAAW,EAAE,qDAAqD;QAClE,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAChB,cAAc,CAAC,gBAAgB,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;QACxG,KAAK,EAAE,SAAS;KACjB;IAED,+BAA+B,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+EAA+E;QAC5F,KAAK,EAAE,SAAS;KACjB;IAED,uBAAuB,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iFAAiF;QAC9F,KAAK,EAAE,SAAS;KACjB;CACF,CAAC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,+BAA+B,EAAqB,MAAM,uBAAuB,CAAC;AAW1F,MAAM,UAAU,SAAS,CAAC,IAA0B;;IAClD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,MAAA,IAAI,CAAC,cAAc,CAAC,mCAAI,+BAA+B,CAAC,IAAI;QAClE,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;QAChC,qBAAqB,EAAE,IAAI,CAAC,+BAA+B,CAAC;QAC5D,aAAa,EAAE,IAAI,CAAC,uBAAuB,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAA4C;IAC9D,OAAO,EAAE;QACP,WAAW,EAAE,0BAA0B;QACvC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,+BAA+B,CAAC,OAAO;QAChD,KAAK,EAAE,SAAS;KACjB;IAED,cAAc,EAAE;QACd,WAAW,EAAE,8BAA8B;QAC3C,kBAAkB,EAAE,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAClE,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,IAAc,EAAY,EAAE;QACnC,0CAA0C;QAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,KAAK,EAAE,SAAS;KACjB;IAED,iBAAiB,EAAE;QACjB,WAAW,EAAE,qDAAqD;QAClE,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAAE,MAAM,CAAC,+BAA+B,CAAC,OAAO,CAAC;QACnE,KAAK,EAAE,SAAS;KACjB;IAED,+BAA+B,EAAE;QAC/B,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+EAA+E;QAC5F,KAAK,EAAE,SAAS;KACjB;IAED,uBAAuB,EAAE;QACvB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,iFAAiF;QAC9F,KAAK,EAAE,SAAS;KACjB;CACF,CAAC"}
@@ -2,20 +2,21 @@ import { IBeaconNodeOptions } from "@lodestar/beacon-node";
2
2
  import { CliCommandOptions } from "../../util/index.js";
3
3
  export type ChainArgs = {
4
4
  suggestedFeeRecipient: string;
5
- "chain.blsVerifyAllMultiThread": boolean;
6
- "chain.blsVerifyAllMainThread": boolean;
7
- "chain.disableBlsBatchVerify": boolean;
8
- "chain.persistInvalidSszObjects": boolean;
9
- "chain.proposerBoostEnabled": boolean;
10
- "chain.disableImportExecutionFcU": boolean;
11
- "chain.preaggregateSlotDistance": number;
12
- "chain.attDataCacheSlotDistance": number;
13
- "chain.computeUnrealized": boolean;
14
- "chain.assertCorrectProgressiveBalances": boolean;
15
- "chain.maxSkipSlots": number;
5
+ "chain.blsVerifyAllMultiThread"?: boolean;
6
+ "chain.blsVerifyAllMainThread"?: boolean;
7
+ "chain.disableBlsBatchVerify"?: boolean;
8
+ "chain.persistInvalidSszObjects"?: boolean;
9
+ "chain.proposerBoostEnabled"?: boolean;
10
+ "chain.disableImportExecutionFcU"?: boolean;
11
+ "chain.preaggregateSlotDistance"?: number;
12
+ "chain.attDataCacheSlotDistance"?: number;
13
+ "chain.computeUnrealized"?: boolean;
14
+ "chain.assertCorrectProgressiveBalances"?: boolean;
15
+ "chain.maxSkipSlots"?: number;
16
+ "chain.trustedSetup"?: string;
16
17
  "safe-slots-to-import-optimistically": number;
17
18
  "chain.archiveStateEpochFrequency": number;
18
- emitPayloadAttributes: boolean;
19
+ emitPayloadAttributes?: boolean;
19
20
  };
20
21
  export declare function parseArgs(args: ChainArgs): IBeaconNodeOptions["chain"];
21
22
  export declare const options: CliCommandOptions<ChainArgs>;
@@ -1,3 +1,4 @@
1
+ import * as path from "node:path";
1
2
  import { defaultOptions } from "@lodestar/beacon-node";
2
3
  export function parseArgs(args) {
3
4
  return {
@@ -15,6 +16,7 @@ export function parseArgs(args) {
15
16
  computeUnrealized: args["chain.computeUnrealized"],
16
17
  assertCorrectProgressiveBalances: args["chain.assertCorrectProgressiveBalances"],
17
18
  maxSkipSlots: args["chain.maxSkipSlots"],
19
+ trustedSetup: args["chain.trustedSetup"],
18
20
  safeSlotsToImportOptimistically: args["safe-slots-to-import-optimistically"],
19
21
  archiveStateEpochFrequency: args["chain.archiveStateEpochFrequency"],
20
22
  emitPayloadAttributes: args["emitPayloadAttributes"],
@@ -24,7 +26,7 @@ export const options = {
24
26
  suggestedFeeRecipient: {
25
27
  type: "string",
26
28
  description: "Specify fee recipient default for collecting the EL block fees and rewards (a hex string representing 20 bytes address: ^0x[a-fA-F0-9]{40}$) in case validator fails to update for a validator index before calling produceBlock.",
27
- defaultDescription: defaultOptions.chain.suggestedFeeRecipient,
29
+ default: defaultOptions.chain.suggestedFeeRecipient,
28
30
  group: "chain",
29
31
  },
30
32
  emitPayloadAttributes: {
@@ -99,6 +101,13 @@ Will double processing times. Use only for debugging purposes.",
99
101
  description: "Refuse to skip more than this many slots when processing a block or attestation",
100
102
  group: "chain",
101
103
  },
104
+ "chain.trustedSetup": {
105
+ hidden: true,
106
+ type: "string",
107
+ description: "Use a customized trustedSetup to verify blobSidecars",
108
+ group: "chain",
109
+ coerce: (arg) => (arg ? path.resolve(arg) : undefined),
110
+ },
102
111
  "chain.assertCorrectProgressiveBalances": {
103
112
  hidden: true,
104
113
  description: "Enable asserting the progressive balances",
@@ -109,12 +118,13 @@ Will double processing times. Use only for debugging purposes.",
109
118
  hidden: true,
110
119
  type: "number",
111
120
  description: "Slots from current (clock) slot till which its safe to import a block optimistically if the merge is not justified yet.",
112
- defaultDescription: String(defaultOptions.chain.safeSlotsToImportOptimistically),
121
+ default: defaultOptions.chain.safeSlotsToImportOptimistically,
113
122
  group: "chain",
114
123
  },
115
124
  "chain.archiveStateEpochFrequency": {
116
125
  hidden: true,
117
126
  description: "Minimum number of epochs between archived states",
127
+ default: defaultOptions.chain.archiveStateEpochFrequency,
118
128
  type: "number",
119
129
  group: "chain",
120
130
  },
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/chain.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,12 @@ import { IBeaconNodeOptions } from "@lodestar/beacon-node";
2
2
  import { CliCommandOptions } from "../../util/index.js";
3
3
  import { ExecutionEngineArgs } from "./execution.js";
4
4
  export type Eth1Args = {
5
- eth1: boolean;
6
- "eth1.providerUrls": string[];
7
- "eth1.depositContractDeployBlock": number;
8
- "eth1.disableEth1DepositDataTracker": boolean;
9
- "eth1.unsafeAllowDepositDataOverwrite": boolean;
10
- "eth1.forcedEth1DataVote": string;
5
+ eth1?: boolean;
6
+ "eth1.providerUrls"?: string[];
7
+ "eth1.depositContractDeployBlock"?: number;
8
+ "eth1.disableEth1DepositDataTracker"?: boolean;
9
+ "eth1.unsafeAllowDepositDataOverwrite"?: boolean;
10
+ "eth1.forcedEth1DataVote"?: string;
11
11
  };
12
12
  export declare function parseArgs(args: Eth1Args & Partial<ExecutionEngineArgs>): IBeaconNodeOptions["eth1"];
13
13
  export declare const options: CliCommandOptions<Eth1Args>;
@@ -1,3 +1,4 @@
1
+ var _a;
1
2
  import fs from "node:fs";
2
3
  import { defaultOptions } from "@lodestar/beacon-node";
3
4
  import { extractJwtHexSecret } from "../../util/index.js";
@@ -33,8 +34,12 @@ export const options = {
33
34
  },
34
35
  "eth1.providerUrls": {
35
36
  description: "Urls to Eth1 node with enabled rpc. If not explicity provided and execution endpoint provided via execution.urls, it will use execution.urls. Otherwise will try connecting on the specified default(s)",
37
+ defaultDescription: (_a = defaultOptions.eth1.providerUrls) === null || _a === void 0 ? void 0 : _a.join(","),
36
38
  type: "array",
37
- defaultDescription: defaultOptions.eth1.providerUrls.join(" "),
39
+ string: true,
40
+ coerce: (urls) =>
41
+ // Parse ["url1,url2"] to ["url1", "url2"]
42
+ urls.map((item) => item.split(",")).flat(1),
38
43
  group: "eth1",
39
44
  },
40
45
  "eth1.depositContractDeployBlock": {
@@ -1 +1 @@
1
- {"version":3,"file":"eth1.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/eth1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAoB,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAY3E,MAAM,UAAU,SAAS,CAAC,IAA6C;IACrE,IAAI,YAAgC,CAAC;IACrC,IAAI,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE7C,oFAAoF;IACpF,oFAAoF;IACpF,4EAA4E;IAC5E,sBAAsB;IACtB,IAAI,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE;QACxD,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC/B,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1E,CAAC,CAAC,SAAS,CAAC;KACf;IAED,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACrB,YAAY;QACZ,YAAY;QACZ,0BAA0B,EAAE,IAAI,CAAC,iCAAiC,CAAC;QACnE,6BAA6B,EAAE,IAAI,CAAC,oCAAoC,CAAC;QACzE,+BAA+B,EAAE,IAAI,CAAC,sCAAsC,CAAC;QAC7E,kBAAkB,EAAE,IAAI,CAAC,yBAAyB,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAgC;IAClD,IAAI,EAAE;QACJ,WAAW,EAAE,kCAAkC;QAC/C,IAAI,EAAE,SAAS;QACf,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;QACvD,KAAK,EAAE,MAAM;KACd;IAED,mBAAmB,EAAE;QACnB,WAAW,EACT,yMAAyM;QAC3M,IAAI,EAAE,OAAO;QACb,kBAAkB,EAAE,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9D,KAAK,EAAE,MAAM;KACd;IAED,iCAAiC,EAAE;QACjC,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,kEAAkE;QAC/E,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,0BAA0B,CAAC;QAC1E,KAAK,EAAE,MAAM;KACd;IAED,oCAAoC,EAAE;QACpC,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,wCAAwC;QACrD,IAAI,EAAE,SAAS;QACf,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,6BAA6B,CAAC;QAC7E,KAAK,EAAE,MAAM;KACd;IAED,sCAAsC,EAAE;QACtC,MAAM,EAAE,IAAI;QACZ,WAAW,EACT,0LAA0L;QAC5L,IAAI,EAAE,SAAS;QACf,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,+BAA+B,CAAC;QAC/E,KAAK,EAAE,MAAM;KACd;IAED,yBAAyB,EAAE;QACzB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,sGAAsG;QACnH,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,MAAM;KACd;CACF,CAAC"}
1
+ {"version":3,"file":"eth1.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/eth1.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAoB,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAY3E,MAAM,UAAU,SAAS,CAAC,IAA6C;IACrE,IAAI,YAAgC,CAAC;IACrC,IAAI,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE7C,oFAAoF;IACpF,oFAAoF;IACpF,4EAA4E;IAC5E,sBAAsB;IACtB,IAAI,YAAY,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE;QACxD,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAC/B,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1E,CAAC,CAAC,SAAS,CAAC;KACf;IAED,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;QACrB,YAAY;QACZ,YAAY;QACZ,0BAA0B,EAAE,IAAI,CAAC,iCAAiC,CAAC;QACnE,6BAA6B,EAAE,IAAI,CAAC,oCAAoC,CAAC;QACzE,+BAA+B,EAAE,IAAI,CAAC,sCAAsC,CAAC;QAC7E,kBAAkB,EAAE,IAAI,CAAC,yBAAyB,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAgC;IAClD,IAAI,EAAE;QACJ,WAAW,EAAE,kCAAkC;QAC/C,IAAI,EAAE,SAAS;QACf,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;QACvD,KAAK,EAAE,MAAM;KACd;IAED,mBAAmB,EAAE;QACnB,WAAW,EACT,yMAAyM;QAC3M,kBAAkB,EAAE,MAAA,cAAc,CAAC,IAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,GAAG,CAAC;QAC/D,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,IAAc,EAAY,EAAE;QACnC,0CAA0C;QAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,KAAK,EAAE,MAAM;KACd;IAED,iCAAiC,EAAE;QACjC,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,kEAAkE;QAC/E,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,0BAA0B,CAAC;QAC1E,KAAK,EAAE,MAAM;KACd;IAED,oCAAoC,EAAE;QACpC,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,wCAAwC;QACrD,IAAI,EAAE,SAAS;QACf,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,6BAA6B,CAAC;QAC7E,KAAK,EAAE,MAAM;KACd;IAED,sCAAsC,EAAE;QACtC,MAAM,EAAE,IAAI;QACZ,WAAW,EACT,0LAA0L;QAC5L,IAAI,EAAE,SAAS;QACf,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,+BAA+B,CAAC;QAC/E,KAAK,EAAE,MAAM;KACd;IAED,yBAAyB,EAAE;QACzB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,sGAAsG;QACnH,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,MAAM;KACd;CACF,CAAC"}
@@ -2,7 +2,7 @@ import { IBeaconNodeOptions } from "@lodestar/beacon-node";
2
2
  import { CliCommandOptions } from "../../util/index.js";
3
3
  export type ExecutionEngineArgs = {
4
4
  "execution.urls": string[];
5
- "execution.timeout": number;
5
+ "execution.timeout"?: number;
6
6
  "execution.retryAttempts": number;
7
7
  "execution.retryDelay": number;
8
8
  "execution.engineMock"?: boolean;
@@ -1,5 +1,5 @@
1
1
  import fs from "node:fs";
2
- import { defaultOptions } from "@lodestar/beacon-node";
2
+ import { defaultExecutionEngineHttpOpts } from "@lodestar/beacon-node";
3
3
  import { extractJwtHexSecret } from "../../util/index.js";
4
4
  export function parseArgs(args) {
5
5
  if (args["execution.engineMock"]) {
@@ -25,26 +25,30 @@ export function parseArgs(args) {
25
25
  export const options = {
26
26
  "execution.urls": {
27
27
  description: "Urls to execution client engine API",
28
+ default: defaultExecutionEngineHttpOpts.urls.join(","),
28
29
  type: "array",
29
- defaultDescription: defaultOptions.executionEngine.mode === "http" ? defaultOptions.executionEngine.urls.join(" ") : "",
30
+ string: true,
31
+ coerce: (urls) =>
32
+ // Parse ["url1,url2"] to ["url1", "url2"]
33
+ urls.map((item) => item.split(",")).flat(1),
30
34
  group: "execution",
31
35
  },
32
36
  "execution.timeout": {
33
37
  description: "Timeout in milliseconds for execution engine API HTTP client",
34
38
  type: "number",
35
- defaultDescription: defaultOptions.executionEngine.mode === "http" ? String(defaultOptions.executionEngine.timeout) : "",
39
+ defaultDescription: String(defaultExecutionEngineHttpOpts.timeout),
36
40
  group: "execution",
37
41
  },
38
42
  "execution.retryAttempts": {
39
43
  description: "Number of retry attempts when calling execution engine API",
40
44
  type: "number",
41
- defaultDescription: defaultOptions.executionEngine.mode === "http" ? String(defaultOptions.executionEngine.retryAttempts) : "1",
45
+ default: defaultExecutionEngineHttpOpts.retryAttempts,
42
46
  group: "execution",
43
47
  },
44
48
  "execution.retryDelay": {
45
49
  description: "Delay time in milliseconds between retries when retrying calls to the execution engine API",
46
50
  type: "number",
47
- defaultDescription: defaultOptions.executionEngine.mode === "http" ? String(defaultOptions.executionEngine.retryDelay) : "0",
51
+ default: defaultExecutionEngineHttpOpts.retryDelay,
48
52
  group: "execution",
49
53
  },
50
54
  "execution.engineMock": {
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAoB,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAW3E,MAAM,UAAU,SAAS,CAAC,IAAyB;IACjD,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE;QAChC,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE,EAAE;SACrB,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC5B,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAClC,aAAa,EAAE,IAAI,CAAC,yBAAyB,CAAC;QAC9C,UAAU,EAAE,IAAI,CAAC,sBAAsB,CAAC;QACxC;;;WAGG;QACH,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;YAC9B,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1E,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAA2C;IAC7D,gBAAgB,EAAE;QAChB,WAAW,EAAE,qCAAqC;QAClD,IAAI,EAAE,OAAO;QACb,kBAAkB,EAChB,cAAc,CAAC,eAAe,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QACrG,KAAK,EAAE,WAAW;KACnB;IAED,mBAAmB,EAAE;QACnB,WAAW,EAAE,8DAA8D;QAC3E,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAChB,cAAc,CAAC,eAAe,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;QACtG,KAAK,EAAE,WAAW;KACnB;IAED,yBAAyB,EAAE;QACzB,WAAW,EAAE,4DAA4D;QACzE,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAChB,cAAc,CAAC,eAAe,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG;QAC7G,KAAK,EAAE,WAAW;KACnB;IAED,sBAAsB,EAAE;QACtB,WAAW,EAAE,4FAA4F;QACzG,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAChB,cAAc,CAAC,eAAe,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG;QAC1G,KAAK,EAAE,WAAW;KACnB;IAED,sBAAsB,EAAE;QACtB,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,WAAW;KACnB;IAED,YAAY,EAAE;QACZ,WAAW,EACT,mQAAmQ;QACrQ,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,WAAW;KACnB;CACF,CAAC"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,8BAA8B,EAAqB,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAoB,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAW3E,MAAM,UAAU,SAAS,CAAC,IAAyB;IACjD,IAAI,IAAI,CAAC,sBAAsB,CAAC,EAAE;QAChC,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,gBAAgB,EAAE,EAAE;SACrB,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC5B,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC;QAClC,aAAa,EAAE,IAAI,CAAC,yBAAyB,CAAC;QAC9C,UAAU,EAAE,IAAI,CAAC,sBAAsB,CAAC;QACxC;;;WAGG;QACH,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;YAC9B,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1E,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAA2C;IAC7D,gBAAgB,EAAE;QAChB,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACtD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,CAAC,IAAc,EAAY,EAAE;QACnC,0CAA0C;QAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,KAAK,EAAE,WAAW;KACnB;IAED,mBAAmB,EAAE;QACnB,WAAW,EAAE,8DAA8D;QAC3E,IAAI,EAAE,QAAQ;QACd,kBAAkB,EAAE,MAAM,CAAC,8BAA8B,CAAC,OAAO,CAAC;QAClE,KAAK,EAAE,WAAW;KACnB;IAED,yBAAyB,EAAE;QACzB,WAAW,EAAE,4DAA4D;QACzE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,8BAA8B,CAAC,aAAa;QACrD,KAAK,EAAE,WAAW;KACnB;IAED,sBAAsB,EAAE;QACtB,WAAW,EAAE,4FAA4F;QACzG,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,8BAA8B,CAAC,UAAU;QAClD,KAAK,EAAE,WAAW;KACnB;IAED,sBAAsB,EAAE;QACtB,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,WAAW;KACnB;IAED,YAAY,EAAE;QACZ,WAAW,EACT,mQAAmQ;QACrQ,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,WAAW;KACnB;CACF,CAAC"}
@@ -47,18 +47,18 @@ export declare const beaconNodeOptions: {
47
47
  "monitoring.initialDelay": import("yargs").Options;
48
48
  "monitoring.requestTimeout": import("yargs").Options;
49
49
  "monitoring.collectSystemStats": import("yargs").Options;
50
- metrics: import("yargs").Options;
51
- "metrics.port": import("yargs").Options;
50
+ metrics: import("yargs").Options & Required<Pick<import("yargs").Options, "default">>;
51
+ "metrics.port": import("yargs").Options & Required<Pick<import("yargs").Options, "default">>;
52
52
  "metrics.address": import("yargs").Options;
53
- builder: import("yargs").Options;
53
+ builder: import("yargs").Options & Required<Pick<import("yargs").Options, "default">>;
54
54
  "builder.urls": import("yargs").Options;
55
55
  "builder.timeout": import("yargs").Options;
56
56
  "builder.faultInspectionWindow": import("yargs").Options;
57
57
  "builder.allowedFaults": import("yargs").Options;
58
- "execution.urls": import("yargs").Options;
58
+ "execution.urls": import("yargs").Options & Required<Pick<import("yargs").Options, "default">>;
59
59
  "execution.timeout": import("yargs").Options;
60
- "execution.retryAttempts": import("yargs").Options;
61
- "execution.retryDelay": import("yargs").Options;
60
+ "execution.retryAttempts": import("yargs").Options & Required<Pick<import("yargs").Options, "default">>;
61
+ "execution.retryDelay": import("yargs").Options & Required<Pick<import("yargs").Options, "default">>;
62
62
  "execution.engineMock": import("yargs").Options;
63
63
  "jwt-secret": import("yargs").Options;
64
64
  eth1: import("yargs").Options;
@@ -67,7 +67,7 @@ export declare const beaconNodeOptions: {
67
67
  "eth1.disableEth1DepositDataTracker": import("yargs").Options;
68
68
  "eth1.unsafeAllowDepositDataOverwrite": import("yargs").Options;
69
69
  "eth1.forcedEth1DataVote": import("yargs").Options;
70
- suggestedFeeRecipient: import("yargs").Options;
70
+ suggestedFeeRecipient: import("yargs").Options & Required<Pick<import("yargs").Options, "default">>;
71
71
  "chain.blsVerifyAllMultiThread": import("yargs").Options;
72
72
  "chain.blsVerifyAllMainThread": import("yargs").Options;
73
73
  "chain.disableBlsBatchVerify": import("yargs").Options;
@@ -79,15 +79,16 @@ export declare const beaconNodeOptions: {
79
79
  "chain.computeUnrealized": import("yargs").Options;
80
80
  "chain.assertCorrectProgressiveBalances": import("yargs").Options;
81
81
  "chain.maxSkipSlots": import("yargs").Options;
82
- "safe-slots-to-import-optimistically": import("yargs").Options;
83
- "chain.archiveStateEpochFrequency": import("yargs").Options;
82
+ "chain.trustedSetup": import("yargs").Options;
83
+ "safe-slots-to-import-optimistically": import("yargs").Options & Required<Pick<import("yargs").Options, "default">>;
84
+ "chain.archiveStateEpochFrequency": import("yargs").Options & Required<Pick<import("yargs").Options, "default">>;
84
85
  emitPayloadAttributes: import("yargs").Options;
85
86
  "api.maxGindicesInProof": import("yargs").Options;
86
87
  "rest.namespace": import("yargs").Options;
87
88
  "rest.cors": import("yargs").Options;
88
- rest: import("yargs").Options;
89
+ rest: import("yargs").Options & Required<Pick<import("yargs").Options, "default">>;
89
90
  "rest.address": import("yargs").Options;
90
- "rest.port": import("yargs").Options;
91
+ "rest.port": import("yargs").Options & Required<Pick<import("yargs").Options, "default">>;
91
92
  "rest.headerLimit": import("yargs").Options;
92
93
  "rest.bodyLimit": import("yargs").Options;
93
94
  };
@@ -3,7 +3,7 @@ import { CliCommandOptions } from "../../util/index.js";
3
3
  export type MetricsArgs = {
4
4
  metrics: boolean;
5
5
  "metrics.port": number;
6
- "metrics.address": string;
6
+ "metrics.address"?: string;
7
7
  };
8
8
  export declare function parseArgs(args: MetricsArgs): IBeaconNodeOptions["metrics"];
9
9
  export declare const options: CliCommandOptions<MetricsArgs>;
@@ -10,13 +10,13 @@ export const options = {
10
10
  metrics: {
11
11
  type: "boolean",
12
12
  description: "Enable the Prometheus metrics HTTP server",
13
- defaultDescription: String(defaultOptions.metrics.enabled),
13
+ default: defaultOptions.metrics.enabled,
14
14
  group: "metrics",
15
15
  },
16
16
  "metrics.port": {
17
17
  type: "number",
18
18
  description: "Listen TCP port for the Prometheus metrics HTTP server",
19
- defaultDescription: String(defaultOptions.metrics.port),
19
+ default: defaultOptions.metrics.port,
20
20
  group: "metrics",
21
21
  },
22
22
  "metrics.address": {
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AASzE,MAAM,UAAU,SAAS,CAAC,IAAiB;IACzC,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC;QAC1B,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAmC;IACrD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2CAA2C;QACxD,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1D,KAAK,EAAE,SAAS;KACjB;IAED,cAAc,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wDAAwD;QACrE,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;QACvD,KAAK,EAAE,SAAS;KACjB;IAED,iBAAiB,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,uDAAuD;QACpE,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1D,KAAK,EAAE,SAAS;KACjB;CACF,CAAC"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../src/options/beaconNodeOptions/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAqB,MAAM,uBAAuB,CAAC;AASzE,MAAM,UAAU,SAAS,CAAC,IAAiB;IACzC,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC;QAC1B,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAmC;IACrD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,2CAA2C;QACxD,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO;QACvC,KAAK,EAAE,SAAS;KACjB;IAED,cAAc,EAAE;QACd,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wDAAwD;QACrE,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI;QACpC,KAAK,EAAE,SAAS;KACjB;IAED,iBAAiB,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,uDAAuD;QACpE,kBAAkB,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1D,KAAK,EAAE,SAAS;KACjB;CACF,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { IBeaconNodeOptions } from "@lodestar/beacon-node";
2
2
  import { CliCommandOptions } from "../../util/index.js";
3
3
  export type MonitoringArgs = {
4
- "monitoring.endpoint": string;
5
- "monitoring.interval": number;
6
- "monitoring.initialDelay": number;
7
- "monitoring.requestTimeout": number;
8
- "monitoring.collectSystemStats": boolean;
4
+ "monitoring.endpoint"?: string;
5
+ "monitoring.interval"?: number;
6
+ "monitoring.initialDelay"?: number;
7
+ "monitoring.requestTimeout"?: number;
8
+ "monitoring.collectSystemStats"?: boolean;
9
9
  };
10
10
  export declare function parseArgs(args: MonitoringArgs): IBeaconNodeOptions["monitoring"];
11
11
  export declare const options: CliCommandOptions<MonitoringArgs>;